texlive[63331] Master/texmf-dist: verifiche (18may22)

commits+karl at tug.org commits+karl at tug.org
Wed May 18 21:51:02 CEST 2022


Revision: 63331
          http://tug.org/svn/texlive?view=revision&revision=63331
Author:   karl
Date:     2022-05-18 21:51:01 +0200 (Wed, 18 May 2022)
Log Message:
-----------
verifiche (18may22)

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-05-18 19:50:49 UTC (rev 63330)
+++ trunk/Master/texmf-dist/doc/latex/verifiche/verifiche-example.tex	2022-05-18 19:51:01 UTC (rev 63331)
@@ -6,9 +6,9 @@
 \usepackage[margin=3cm]{geometry}
 \usepackage{lipsum}
 
+
 \begin{document}
 %\renewcommand{\institutefont}{\huge}
-\renewcommand{\closedquestionitem}{$\bigcirc$}
 
 \institute{Scuola superiore di Paperopoli}
 \asyear[Anno accademico]{2019/2020}
@@ -85,7 +85,7 @@
 \ptprefix{.../}
 \ptdelimiters{[]}
 \ptlabel{punti}
-\begin{esercizio}[pt=2]
+\begin{esercizio}[pt=2]\label{es:derivata}
 Calcolare la seguente derivata:
 \[
 \frac{d e^x}{dx} = 
@@ -114,7 +114,12 @@
 Questa è la soluzione dell'esercizio \ref{es:ferropiuma} a pagina \pageref{es:ferropiuma}.
 \end{soluzione}
 
+\begin{soluzione}[label={Soluzione dell'esercizio \ref{es:ferropiuma}}]
+Soluzione dell'esercizio a pagina \pageref{es:ferropiuma}.
+\end{soluzione}
 
+
+
 \begin{esercizio}
 La branca della fisica che si occupa dello studio di \emph{come} si muovono i corpi è detta: \inlinesol{cinematica.}
 \end{esercizio}
@@ -134,7 +139,7 @@
 \end{esercizio}
 
 \begin{esercizio}
-Quali delle seguenti equazioni descrive il moto rettilineo uniforme?\par
+Quali delle seguenti equazioni descrive il moto rettilineo uniforme?
 \begin{closedquestion}
 \item $a=\SI{5}{\m\per\s\squared}$
 \item[\checked] $x(t) = v t + x_0$
@@ -143,7 +148,19 @@
 \end{closedquestion}
 \end{esercizio}
 
+\renewcommand{\closedquestionitem}{$\bigcirc$}
+\renewcommand{\checkmarker}{$\times$\,}
 \begin{esercizio}
+Quali delle seguenti equazioni descrive il moto rettilineo uniforme?\par
+\begin{closedquestion*}
+\item $a=\SI{5}{\m\per\s\squared}$
+\item[\checked] $x(t) = v t + x_0$
+\item $x(t) = t^3$
+\item $t = a^2$
+\end{closedquestion*}
+\end{esercizio}
+
+\begin{esercizio}
 \lipsum[2]\\[1em]
 \openquestion[height=5cm]{\lipsum[1]}
 \end{esercizio}
@@ -176,17 +193,49 @@
 }
 \end{esercizio}
 
+\begin{esercizio}[pt=3]\label{es:ultimo}
+\makecolumn{.5\textwidth}{%
+	Dato il seguente grafico indicare sul grafico i punti di massimo globale.
+}
+\makecolumn{.4\textwidth}{
+\hspace*{\fill}
+\fbox{
+	\begin{tikzpicture}[baseline=(current bounding box.north)]
+	\draw[latex-latex] (3,0) node[right] {$x$} -- (0,0) -- (0,3) node[above]{$y$};
+	\draw plot[domain=0:3, samples=100] (\x, {2.5*exp(-\x^2)});
+	\inlinesol{\draw[fill, red] (0,2.5) circle (2pt);}
+	\end{tikzpicture}}
+\hspace*{\fill}
+\\[1em]
+\lipsum[2]
+}
+\end{esercizio}
 
-\begin{center}
-%\begin{tabular}{| l | c | c | c |}
-\begin{tabular}{ | l | >{\centering}p{2cm} | >{\centering}p{2cm} | >{\centering\arraybackslash}p{2cm} | }
+
+\vfill
+\centering
+\begin{tabular}{|c|c|c|c|c|c|c|}
 \hline
-Esercizio			&	\ref{es:ferropiuma}	&	\ref{es:grav}	&	\ref{es:meccanica}	\\\hline
-Punteggio totale	&	\ref{ptes at 2}		&	\ref{ptes at 4}	&	\ref{ptes at 7}\\\hline
-Punteggio			&					&				&				\\\hline
+Esercizio	&	Quesito \ref{es:ferropiuma}
+		&	Quesito \ref{es:grav}
+		&	Quesito \ref{es:meccanica}
+		&	Quesito \ref{es:derivata}
+		&	Quesito \ref{es:ultimo}
+		&	Totale
+		\\
+ 		&	\ref{ptes at 2} pt
+		&	\ref{ptes at 4} pt
+		&	\ref{ptes at 7} pt
+		&	\ref{ptes at 9} pt
+		&	\ref{ptes at 20} pt
+		&	
+		\\
+\hline
+Punteggio	&&&&&&\\[1em]
+\hline
+\multicolumn{4}{c}{}&&Voto&\\[1em]
+\cline{6-7}
 \end{tabular}
-\end{center}
 
-\end{document}
 
-
+\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-05-18 19:50:49 UTC (rev 63330)
+++ trunk/Master/texmf-dist/source/latex/verifiche/verifiche.dtx	2022-05-18 19:51:01 UTC (rev 63331)
@@ -16,7 +16,7 @@
 %
 % \iffalse
 %<package>\NeedsTeXFormat{LaTeX2e}
-%<package>\ProvidesPackage{verifiche} [2022/03/10 v4.4 .dtx verifiche file]
+%<package>\ProvidesPackage{verifiche} [2022/03/10 v5.0 .dtx verifiche file]
 %<*driver>
 \documentclass{ltxdoc}
 \usepackage[utf8]{inputenc}
@@ -28,7 +28,10 @@
 	morekeywords={\setlength, \institute, \asyear, \testtype, \instruction, \duration, \printheading, 
 				 \institutefont, \asyearfont, \testtypefont, \instructiondelimiter, \headerfont, \instrunctionfont,
 				 \durationfont, \exerciselabel, \solutionfont, \solutionlabel, \diffsymb, \closedquestionitem,
-				 \inlinesol, \completetext, \truefalse, \openquestion, \linedopenquestion, \squaredopenquestion, \headercandidatenamelabel, \checked, \finderror, \textandimage, \partialpt, \ptprefix, \ptlabel, \partialptlabel, \partialptdelimiters, \ptdelimiters, \partialptprefix},
+				 \inlinesol, \completetext, \truefalse, \openquestion, \linedopenquestion, \squaredopenquestion, 
+				 \headercandidatenamelabel, \checked, \finderror, \textandimage, \partialpt, \ptprefix, \ptlabel, 
+				 \partialptlabel, \partialptdelimiters, \ptdelimiters, \partialptprefix, \checkmaker, \ref, \tikz, \makecolumn,
+				 \columnseparation},
 	keywordstyle=\color{blue},
 	escapeinside={*@}{@*},
 	inputencoding=utf8,
@@ -60,6 +63,7 @@
 \EnableCrossrefs
 \CodelineIndex
 \RecordChanges
+\parindent0pt
 \begin{document}
 	\DocInput{verifiche.dtx}
 \end{document}
@@ -66,7 +70,7 @@
 %</driver>
 % \fi
 %
-% \CheckSum{820}
+% \CheckSum{863}
 % \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.}
@@ -77,6 +81,7 @@
 % \changes{v4.2}{2021/08/18}{Solved truefalse issue in solutionsmode. Add noexercisept global option to hide the score of each exercise.}
 % \changes{v4.3}{2022/02/10}{Move |parindent{0pt}| inside the environment.}
 % \changes{v4.4}{2022/03/10}{Minor update. Fixed labels issues.}
+% \changes{v5.0}{2022/05/18}{Major update. Remove some unnecessary packages. Remove spurious space in closedquestion environment. Add a starred version of closedquestion environment. Add the possibility to add local label to soluzione environment. Add a new command: makecolumn.}
 % \GetFileInfo{verifiche.sty}
 % \DoNotIndex{\newcommand,\newenvironment,\def,\begin,\end,\par}
 % \DoNotIndex{\DeclareOption,\ExecuteOptions,\ProcessOptions,\RequirePackage}
@@ -110,7 +115,7 @@
 % \DoNotIndex{\or, \overset, \PackageError, \PackageWarning, \parindent, \pgfmathparse, \pgfmathresult}
 % \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} 
+% \DoNotIndex{\val, \xout, \y, \usebox, \romannumeral, \@ifundefined, \ltx at zero, \rc at default, \rc at extract@, \chardef, \llap} 
 %
 %
 % \title{Il pacchetto \textsf{verifiche}
@@ -545,13 +550,13 @@
 %
 %
 %\vspace{1em}
-%\DescribeEnv{soluzione}\label{sec:solutions}L'ambiente |soluzione| racchiude al suo interno tutto il materiale utile ad essere visualizzato solo in presenza dell'\emph{opzione} |solutions| del pacchetto \textsf{verifiche}. Quando il pacchetto è in modalità "test" il contenuto dell'ambiente |soluzione| viene ignorato. 
+%\DescribeEnv{soluzione}\label{sec:solutions}L'ambiente |soluzione| racchiude al suo interno tutto il materiale utile ad essere visualizzato solo in presenza dell'\emph{opzione} |solutions| del pacchetto \textsf{verifiche}. Quando il pacchetto è in modalità "test" il contenuto dell'ambiente |soluzione| viene ignorato. L'etichetta che introduce l'ambiente può essere modificata localmente tramite l'opzione |label|.
 %
 % \iffalse
 %<*example>
 % \fi
 \begin{lstlisting}
-\begin{soluzione}
+\begin{soluzione}[label=*@\meta{label}@*]
 ...
 \end{soluzione}
 \end{lstlisting}
@@ -631,10 +636,19 @@
 % \iffalse
 %</example>
 % \fi
-%Il comando produce due riquadri quadrati allineati con le lettere \texttt V e \texttt F; l'argomento obbligatorio richiede di indicare la lettera |V| o |F| al fine di poter realizzare un segno di spunta ($\checkmark$) sulla casella giusta nella modalità |solutions| del pacchetto.
+%Il comando produce due riquadri quadrati allineati con le lettere \texttt V e \texttt F; l'argomento obbligatorio richiede di indicare la lettera |V| o |F| al fine di poter realizzare un segno di spunta ($\checkmark$) sulla casella giusta nella modalità |solutions| del pacchetto. Tale simbolo può essere modificato ridefinendo il comando \DescribeMacro{\checkmaker}|\checkmaker|. Il pacchetto ammette degli argomenti opzionali che possono essere tutti quelli descritti nel pacchetto |enumitem|.
 % \iffalse
 %<*example>
 % \fi
+\begin{lstlisting}
+\renewcommand{\checkmaker}*@\marg{...}@*
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
+% \iffalse
+%<*example>
+% \fi
 \example{Vero o Falso? \truefalse{V}}{
 \solfalse Vero o Falso? \truefalse{V}\\
 \soltrue Vero o Falso? \truefalse{V}}
@@ -643,7 +657,28 @@
 % \fi
 %
 %
-%\DescribeEnv{closedquestion}Le domande a scelta multipla possono essere realizzate tramite l'ambiente |closedquestion|. Ogni opzione deve essere anticipata dal comando \DescribeMacro{\item}|\item| che realizza un quadrato davanti ad ogni voce. Queste poi vengono spaziate orizzontalmente in modo da riempire tutto lo spazio disponibile. Eventuali elenchi verticali possono essere realizzati introducendo a mano una nuova linea (|\\|). La soluzione (o le soluzioni) possono essere segnate tramite il comando \DescribeMacro{\checked}|\checked| posto come argomento opzionale del comando |\item| e che, nella modalità |solutions|, produce un segno di spunta ($\checkmark$) sulla casella selezionata.
+%\DescribeEnv{closedquestion}Le domande a scelta multipla possono essere realizzate tramite l'ambiente |closedquestion|. Questo comando genera un elenco verticale di elementi ciascuno introdotto dal comando \DescribeMacro{\item}|\item| che realizza un quadrato davanti ad ogni voce. 
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\begin{closedquestion}[...]
+\item ...
+\end{closedquestion}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
+%La soluzione (o le soluzioni) possono essere segnate tramite il comando \DescribeMacro{\checked}|\checked| posto come argomento opzionale del comando |\item| e che, nella modalità |solutions|, produce un segno di spunta ($\checkmark$) sulla casella selezionata. Anche in questo caso tale simbolo può essere modificato ridefinendo il comando |\checkmaker|. Il pacchetto ammette degli argomenti opzionali che possono essere tutti quelli descritti nel pacchetto |enumitem|.
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\renewcommand{\checkmaker}*@\marg{...}@*
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
 %
 % \iffalse
 %<*example>
@@ -651,7 +686,7 @@
 \example
 {\begin{closedquestion}
 \item Primo 
-\item[\checked] Secondo\\
+\item[\checked] Secondo
 \item Terzo
 \item Quarto
 \end{closedquestion}}
@@ -658,7 +693,7 @@
 {\begin{closedquestion}
 \item Primo
 \item[\checked] Secondo
-\end{closedquestion}\\
+\end{closedquestion}
 \begin{closedquestion}
 \item Terzo
 \item Quarto
@@ -668,6 +703,20 @@
 % \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.
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\begin{closedquestion*}[...]
+\item ...
+\end{closedquestion*}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
+%
+%
 %\DescribeMacro{\openquestion}Il comando produce una base di supporto per la scrittura, ovvero delle linee o dei quadretti. La sintassi del comando è la seguente:
 % \iffalse
 %<*example>
@@ -766,6 +815,39 @@
 %</example>
 % \fi
 %
+%
+%\vspace{1em}
+%\DescribeMacro{\makecolumn} Il pacchetto |verifiche| definisce anche un proprio comando per produrre del testo in colonna tramite il comando |\makecolumn| che ha la seguente sintassi:
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\makecolumn*@\marg{width}\marg{text}@*
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
+% La larghezza è controllata tramite l'argomento opzionale \meta{width}, mentre il testo da mettere in colonne può risiedere, anche con paragrafi, entro il campo \meta{text}. La spaziatura tra le colonne può essere modificata ridefinendo la lunghezza |\columnseparation| (di default viene inizializzata col valore |\hfill|).
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\setlength{\columnseparation}*@\marg{dim}@*
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
+% \iffalse
+%<*example>
+% \fi
+\example
+{\makecolumn{.3\textwidth}{Colonna 1}
+\makecolumn{.3\textwidth}{Colonna 2}}
+{\makecolumn{2.5cm}{Colonna 1} \makecolumn{2.5cm}{Colonna 2}}% \iffalse
+%</example>
+% \fi
+%
+%
 %\section{Personalizzazione}
 %Il pacchetto prevede un certo numero di comandi definiti al fine di gestire l'aspetto del documento finale.
 %\subsection*{Font}
@@ -979,7 +1061,6 @@
 \RequirePackage{tikz}
 \RequirePackage{booktabs}
 \RequirePackage[normalem]{ulem}
-\RequirePackage{xstring}
 %    \end{macrocode}
 %
 %
@@ -1061,10 +1142,12 @@
 \newlength{\classrulerlength}
 \newlength{\daterulerlength}
 \newlength{\ptrulerlength}
+\newlength{\columnseparation}
 \setlength{\candidatenamerulerlength}{.35\textwidth}
 \setlength{\classrulerlength}{.1\textwidth}
 \setlength{\daterulerlength}{.15\textwidth}
 \setlength{\ptrulerlength}{1cm}
+\setlength{\columnseparation}{\fill}
 %    \end{macrocode}
 %
 %\subsection{Labels}
@@ -1074,34 +1157,34 @@
 %Some labels are define as a variable in order to leave the user the possibility of customization the predefine texts.
 %If the package \textsf{babel} or \textsf{polyglossia} is loaded with the italian language specify, than the predefine labels are redefine:
 %    \begin{macrocode}
-\@ifpackageloaded{babel}{%
-  \addto\captionsitalian{%
-    \def\@verifiche at durationlabeldefault{Tempo della prova:}%
-    \def\@verifiche at asyearlabeldefault{Anno scolastico}%
-    \def\@verifiche at headercandidatenamelabel{Nome e Cognome}%
-    \def\@verifiche at headerclasslabel{Classe}%
-    \def\@verifichhe at headerdatelabel{Data}%
-    \def\@verifiche at exerciselabel{Quesito}%
-    \def\@verifiche at solutionlabel{Soluzione}%
-  }}{%
-\@ifpackageloaded{polyglossia}{%
-  \addto\captionsitalian{%
-    \def\@verifiche at durationlabeldefault{Tempo della prova:}%
-    \def\@verifiche at asyearlabeldefault{Anno scolastico}%
-    \def\@verifiche at headercandidatenamelabel{Nome e Cognome}%
-    \def\@verifiche at headerclasslabel{Classe}%
-    \def\@verifichhe at headerdatelabel{Data}%
-    \def\@verifiche at exerciselabel{Quesito}%
-    \def\@verifiche at solutionlabel{Soluzione}%
-  }}{
-    \def\@verifiche at durationlabeldefault{Time:}%
-    \def\@verifiche at asyearlabeldefault{School year}%
-    \def\@verifiche at headercandidatenamelabel{Name and Surname}%
-    \def\@verifiche at headerclasslabel{Class}%
-    \def\@verifichhe at headerdatelabel{Date}%
-    \def\@verifiche at exerciselabel{Exercise}%
-    \def\@verifiche at solutionlabel{Solution}%
-  }}%
+\newcommand{\@verifiche at durationlabeldefault}{Time:}%
+\newcommand{\@verifiche at asyearlabeldefault}{School year}%
+\newcommand{\@verifiche at headercandidatenamelabel}{Name and Surname}%
+\newcommand{\@verifiche at headerclasslabel}{Class}%
+\newcommand{\@verifichhe at headerdatelabel}{Date}%
+\newcommand{\@verifiche at exerciselabel}{Exercise}%
+\newcommand{\@verifiche at solutionlabel}{Solution}%
+\newcommand{\@verifiche at Tletter}{T}%
+\newcommand{\@verifiche at Fletter}{F}%
+%
+\newcommand{\italiandictiornary}{%
+    \renewcommand{\@verifiche at durationlabeldefault}{Tempo della prova:}%
+    \renewcommand{\@verifiche at asyearlabeldefault}{Anno scolastico}%
+    \renewcommand{\@verifiche at headercandidatenamelabel}{Nome e Cognome}%
+    \renewcommand{\@verifiche at headerclasslabel}{Classe}%
+    \renewcommand{\@verifichhe at headerdatelabel}{Data}%
+    \renewcommand{\@verifiche at exerciselabel}{Quesito}%
+    \renewcommand{\@verifiche at solutionlabel}{Soluzione}%
+    \renewcommand{\@verifiche at Tletter}{V}%
+    \renewcommand{\@verifiche at Fletter}{F}%
+}%
+\@ifpackageloaded{babel}{% if babel is loaded 
+    \addto\captionsitalian{\italiandictiornary}%
+}{%else if polyglossia is loaded
+    \@ifpackageloaded{polyglossia}{%
+        \addto\captionsitalian{\italiandictiornary}%
+    }{}%
+}%
 %    \end{macrocode}
 %    \begin{macrocode}
 \newcommand{\@durationlabeldefault}{\@verifiche at durationlabeldefault}%
@@ -1259,6 +1342,13 @@
     \@defineptdelimiter#1}
 %    \end{macrocode}
 %\iffalse
+%% checkmaker
+%\fi
+%    \begin{macrocode}
+\newcommand{\checkmarker}{$\checkmark$}%
+\newcommand{\verifiche at checkmarker}{\bgroup\ifsolutionscolor\color{\solutionscolor}\fi\checkmarker\egroup}%
+%    \end{macfrocode}
+%\iffalse
 %% convert ref to num
 %\fi
 %    \begin{macrocode}
@@ -1436,13 +1526,23 @@
 %\begin{environment}{soluzione}
 %The main element for the "solutions" mode is the |soluzione| environment.
 %    \begin{macrocode}
-\NewDocumentEnvironment{soluzione}{+b}{%
+\define at key{soluzione}{label}[\solutionlabel]{%
+    \def\verifiche at tempsoluzionelabel{#1}%
+}
+\newcommand{\verifiche at solutionlabel}{%
+    \ifdefined\verifiche at tempsoluzionelabel\verifiche at tempsoluzionelabel%
+    \else\solutionlabel\fi%
+}%
+\NewDocumentEnvironment{soluzione}{o +b}{%
+    \IfValueT{#1}{\setkeys{soluzione}{#1}}%
     \ifsol%
         \par\addvspace{\baselineskip}%
-        {\noindent\bfseries \solutionlabel}%
+        {\noindent\bfseries%
+        \ifsolutionscolor\color{\solutionscolor}\fi%
+        \verifiche at solutionlabel}%
         \par\nobreak\noindent\ignorespaces%
         \setlength\parindent{0pt}%no parindent
-        \solutionfont #1%
+        \solutionfont #2%
     \fi%
 }{%
     \ifsol%
@@ -1485,16 +1585,21 @@
 %The |\truefalse| is generated via |\tikz| macro. 
 %    \begin{macrocode}
 \newcommand{\truefalse}[1]{%
-    \tikz[baseline=-.8ex]{%
-        %true part
-        \node[draw, rectangle, minimum size=1.5em] {V};%
-        \ifsol\IfSubStr{#1}{V}{\node[inner sep=0pt, shift={(1pt,1pt)}]{%
-        $\Large\ifsolutionscolor\color{\solutionscolor}\fi\checkmark$}}{};\fi%
-        %false part
-        \node[xshift=1cm, draw, rectangle, minimum size=1.5em]{F};%
-        \ifsol\IfSubStr{#1}{F}{\node[inner sep=0pt, xshift=1cm, shift={(1pt,1pt)}]{%
-        $\Large\ifsolutionscolor\color{\solutionscolor}\fi\checkmark$}}{};\fi%
-    }%
+    %True
+    \fbox{\@verifiche at Tletter}%
+    \ifsol\llap{%
+        \if#1\@verifiche at Tletter%
+            \Large\verifiche at checkmarker%
+        \fi}%
+     \fi%
+     \quad%
+     %False
+     \fbox{\@verifiche at Fletter}%
+     \ifsol\llap{%
+         \if#1\@verifiche at Fletter%
+             \Large\verifiche at checkmarker%
+         \fi}%
+     \fi%%	
 }
 %    \end{macrocode}
 %\end{macro}
@@ -1517,20 +1622,26 @@
 %\begin{environment}{closedquestion}
 %The |closedquestion| environment define a new list whose item elements are preceded by square symbol, and every item is |\hfill| spaced. The |\checked| symbol is controlled and generated (in the "solutions mode") via |\tikz|.
 %    \begin{macrocode}
-\newlist{crocette}{itemize*}{1}%
-\setlist[crocette]{label=\closedquestionitem, itemjoin={\hfill}}%
+\newlist{crocette}{itemize}{1}%
+\newlist{crocette*}{itemize*}{1}%
+\setlist[crocette]{label=\closedquestionitem, leftmargin=*, parsep=0pt }%
+\setlist[crocette*]{label=\closedquestionitem, itemjoin={\hfill}}%
 \newcommand{\checked}{%
     \ifsol%
-        \closedquestionitem\tikz[remember picture, overlay, baseline=-1ex, xshift=-.7ex]
-            {\node{\ifsolutionscolor\color{\solutionscolor}\fi$\checkmark$};}
-    \else
-        \closedquestionitem
+        \closedquestionitem\llap{\verifiche at checkmarker\hspace{-1pt}}%
+    \else%
+        \closedquestionitem%
     \fi}
-\NewDocumentEnvironment{closedquestion}{+b}{%
-    \begin{crocette}#1%
+\NewDocumentEnvironment{closedquestion}{O{}+b}{%
+    \begin{crocette}[#1]#2%
 }{%
-    \end{crocette}
-}
+    \end{crocette}%
+}%
+\NewDocumentEnvironment{closedquestion*}{O{} +b}{%
+    \begin{crocette*}[#1]#2%
+}{%
+    \end{crocette*}%
+}%
 %    \end{macrocode}
 %\end{environment}
 
@@ -1602,5 +1713,17 @@
 }
 %    \end{macrocode}
 %\end{macro}
+%
+%
+%\begin{macro}{\makecolumn}
+%The |\makecolumn| give the possibility to create multiple column in the document.
+%    \begin{macrocode}
+\NewDocumentCommand{\makecolumn}{O{t} m +m}{%
+    \parbox[#1]{#2}{#3}%
+    \@ifnextchar\makecolumn{\hspace*{\columnseparation}}{}%
+}%
+%    \end{macrocode}
+%\end{macro}
+%
 % \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-05-18 19:50:49 UTC (rev 63330)
+++ trunk/Master/texmf-dist/tex/latex/verifiche/verifiche.sty	2022-05-18 19:51:01 UTC (rev 63331)
@@ -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/03/10 v4.4 .dtx verifiche file]
+\ProvidesPackage{verifiche} [2022/03/10 v5.0 .dtx verifiche file]
 \RequirePackage{xparse}
 \RequirePackage{xkeyval} 
 \RequirePackage{amsmath}
@@ -28,7 +28,6 @@
 \RequirePackage{tikz}
 \RequirePackage{booktabs}
 \RequirePackage[normalem]{ulem}
-\RequirePackage{xstring}
 %%Forse si può cancellare questo
 \usetikzlibrary{calc,shapes.geometric,patterns,positioning,angles,quotes}
 \sisetup{
@@ -75,39 +74,40 @@
 \newlength{\classrulerlength}
 \newlength{\daterulerlength}
 \newlength{\ptrulerlength}
+\newlength{\columnseparation}
 \setlength{\candidatenamerulerlength}{.35\textwidth}
 \setlength{\classrulerlength}{.1\textwidth}
 \setlength{\daterulerlength}{.15\textwidth}
 \setlength{\ptrulerlength}{1cm}
+\setlength{\columnseparation}{\fill}
 %%labels
-\@ifpackageloaded{babel}{%
-  \addto\captionsitalian{%
-    \def\@verifiche at durationlabeldefault{Tempo della prova:}%
-    \def\@verifiche at asyearlabeldefault{Anno scolastico}%
-    \def\@verifiche at headercandidatenamelabel{Nome e Cognome}%
-    \def\@verifiche at headerclasslabel{Classe}%
-    \def\@verifichhe at headerdatelabel{Data}%
-    \def\@verifiche at exerciselabel{Quesito}%
-    \def\@verifiche at solutionlabel{Soluzione}%
-  }}{%
-\@ifpackageloaded{polyglossia}{%
-  \addto\captionsitalian{%
-    \def\@verifiche at durationlabeldefault{Tempo della prova:}%
-    \def\@verifiche at asyearlabeldefault{Anno scolastico}%
-    \def\@verifiche at headercandidatenamelabel{Nome e Cognome}%
-    \def\@verifiche at headerclasslabel{Classe}%
-    \def\@verifichhe at headerdatelabel{Data}%
-    \def\@verifiche at exerciselabel{Quesito}%
-    \def\@verifiche at solutionlabel{Soluzione}%
-  }}{
-    \def\@verifiche at durationlabeldefault{Time:}%
-    \def\@verifiche at asyearlabeldefault{School year}%
-    \def\@verifiche at headercandidatenamelabel{Name and Surname}%
-    \def\@verifiche at headerclasslabel{Class}%
-    \def\@verifichhe at headerdatelabel{Date}%
-    \def\@verifiche at exerciselabel{Exercise}%
-    \def\@verifiche at solutionlabel{Solution}%
-  }}%
+\newcommand{\@verifiche at durationlabeldefault}{Time:}%
+\newcommand{\@verifiche at asyearlabeldefault}{School year}%
+\newcommand{\@verifiche at headercandidatenamelabel}{Name and Surname}%
+\newcommand{\@verifiche at headerclasslabel}{Class}%
+\newcommand{\@verifichhe at headerdatelabel}{Date}%
+\newcommand{\@verifiche at exerciselabel}{Exercise}%
+\newcommand{\@verifiche at solutionlabel}{Solution}%
+\newcommand{\@verifiche at Tletter}{T}%
+\newcommand{\@verifiche at Fletter}{F}%
+\newcommand{\italiandictiornary}{%
+    \renewcommand{\@verifiche at durationlabeldefault}{Tempo della prova:}%
+    \renewcommand{\@verifiche at asyearlabeldefault}{Anno scolastico}%
+    \renewcommand{\@verifiche at headercandidatenamelabel}{Nome e Cognome}%
+    \renewcommand{\@verifiche at headerclasslabel}{Classe}%
+    \renewcommand{\@verifichhe at headerdatelabel}{Data}%
+    \renewcommand{\@verifiche at exerciselabel}{Quesito}%
+    \renewcommand{\@verifiche at solutionlabel}{Soluzione}%
+    \renewcommand{\@verifiche at Tletter}{V}%
+    \renewcommand{\@verifiche at Fletter}{F}%
+}%
+\@ifpackageloaded{babel}{% if babel is loaded
+    \addto\captionsitalian{\italiandictiornary}%
+}{%else if polyglossia is loaded
+    \@ifpackageloaded{polyglossia}{%
+        \addto\captionsitalian{\italiandictiornary}%
+    }{}%
+}%
 \newcommand{\@durationlabeldefault}{\@verifiche at durationlabeldefault}%
 \newcommand{\@asyearlabeldefault}{\@verifiche at asyearlabeldefault}%
 \newcommand{\headercandidatenamelabel}{\@verifiche at headercandidatenamelabel}%
@@ -202,6 +202,9 @@
     \renewcommand{\@rpt at delimiter}{#2}}
 \newcommand{\ptdelimiters}[1]{%
     \@defineptdelimiter#1}
+%% checkmaker
+\newcommand{\checkmarker}{$\checkmark$}%
+\newcommand{\verifiche at checkmarker}{\bgroup\ifsolutionscolor\color{\solutionscolor}\fi\checkmarker\egroup}%
 %% convert ref to num
 \newcommand*{\convertreftonum}[1]{%
     \romannumeral
@@ -320,13 +323,23 @@
         \@rpartialpt at delimiter%
         \addtocounter{partialpoints}{#1}}%
         \fi}%
-\NewDocumentEnvironment{soluzione}{+b}{%
+\define at key{soluzione}{label}[\solutionlabel]{%
+    \def\verifiche at tempsoluzionelabel{#1}%
+}
+\newcommand{\verifiche at solutionlabel}{%
+    \ifdefined\verifiche at tempsoluzionelabel\verifiche at tempsoluzionelabel%
+    \else\solutionlabel\fi%
+}%
+\NewDocumentEnvironment{soluzione}{o +b}{%
+    \IfValueT{#1}{\setkeys{soluzione}{#1}}%
     \ifsol%
         \par\addvspace{\baselineskip}%
-        {\noindent\bfseries \solutionlabel}%
+        {\noindent\bfseries%
+        \ifsolutionscolor\color{\solutionscolor}\fi%
+        \verifiche at solutionlabel}%
         \par\nobreak\noindent\ignorespaces%
         \setlength\parindent{0pt}%no parindent
-        \solutionfont #1%
+        \solutionfont #2%
     \fi%
 }{%
     \ifsol%
@@ -350,16 +363,21 @@
         $\overset{\relax}{\underline{\hspace{#1}}}$%
     \fi}%
 \newcommand{\truefalse}[1]{%
-    \tikz[baseline=-.8ex]{%
-        %true part
-        \node[draw, rectangle, minimum size=1.5em] {V};%
-        \ifsol\IfSubStr{#1}{V}{\node[inner sep=0pt, shift={(1pt,1pt)}]{%
-        $\Large\ifsolutionscolor\color{\solutionscolor}\fi\checkmark$}}{};\fi%
-        %false part
-        \node[xshift=1cm, draw, rectangle, minimum size=1.5em]{F};%
-        \ifsol\IfSubStr{#1}{F}{\node[inner sep=0pt, xshift=1cm, shift={(1pt,1pt)}]{%
-        $\Large\ifsolutionscolor\color{\solutionscolor}\fi\checkmark$}}{};\fi%
-    }%
+    %True
+    \fbox{\@verifiche at Tletter}%
+    \ifsol\llap{%
+        \if#1\@verifiche at Tletter%
+            \Large\verifiche at checkmarker%
+        \fi}%
+     \fi%
+     \quad%
+     %False
+     \fbox{\@verifiche at Fletter}%
+     \ifsol\llap{%
+         \if#1\@verifiche at Fletter%
+             \Large\verifiche at checkmarker%
+         \fi}%
+     \fi%% 
 }
 \newcommand{\finderror}[2]{%
     \ifsol%
@@ -368,20 +386,26 @@
         #1%
     \fi%
 }
-\newlist{crocette}{itemize*}{1}%
-\setlist[crocette]{label=\closedquestionitem, itemjoin={\hfill}}%
+\newlist{crocette}{itemize}{1}%
+\newlist{crocette*}{itemize*}{1}%
+\setlist[crocette]{label=\closedquestionitem, leftmargin=*, parsep=0pt }%
+\setlist[crocette*]{label=\closedquestionitem, itemjoin={\hfill}}%
 \newcommand{\checked}{%
     \ifsol%
-        \closedquestionitem\tikz[remember picture, overlay, baseline=-1ex, xshift=-.7ex]
-            {\node{\ifsolutionscolor\color{\solutionscolor}\fi$\checkmark$};}
-    \else
-        \closedquestionitem
+        \closedquestionitem\llap{\verifiche at checkmarker\hspace{-1pt}}%
+    \else%
+        \closedquestionitem%
     \fi}
-\NewDocumentEnvironment{closedquestion}{+b}{%
-    \begin{crocette}#1%
+\NewDocumentEnvironment{closedquestion}{O{}+b}{%
+    \begin{crocette}[#1]#2%
 }{%
-    \end{crocette}
-}
+    \end{crocette}%
+}%
+\NewDocumentEnvironment{closedquestion*}{O{} +b}{%
+    \begin{crocette*}[#1]#2%
+}{%
+    \end{crocette*}%
+}%
 
 \define at key{openquestion}{width}[\linewidth]{\def\openquestionwidth{#1}}
 \define at key{openquestion}{height}[19cm]{\def\openquestionheight{#1}}
@@ -434,6 +458,10 @@
         {#4}
     \end{minipage}
 }
+\NewDocumentCommand{\makecolumn}{O{t} m +m}{%
+    \parbox[#1]{#2}{#3}%
+    \@ifnextchar\makecolumn{\hspace*{\columnseparation}}{}%
+}%
 \endinput
 %%
 %% End of file `verifiche.sty'.



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