From 962a8106e245c2c413cead0a91a63f7d1bae4fd7 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 18 May 2022 19:51:01 +0000 Subject: verifiche (18may22) git-svn-id: svn://tug.org/texlive/trunk@63331 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/latex/verifiche/verifiche-example.pdf | Bin 190102 -> 191888 bytes .../doc/latex/verifiche/verifiche-example.tex | 73 +++++- .../texmf-dist/doc/latex/verifiche/verifiche.pdf | Bin 551397 -> 555223 bytes .../source/latex/verifiche/verifiche.dtx | 247 +++++++++++++++------ .../texmf-dist/tex/latex/verifiche/verifiche.sty | 134 ++++++----- 5 files changed, 327 insertions(+), 127 deletions(-) (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/verifiche/verifiche-example.pdf b/Master/texmf-dist/doc/latex/verifiche/verifiche-example.pdf index 72d381a5b3e..191c0559354 100644 Binary files a/Master/texmf-dist/doc/latex/verifiche/verifiche-example.pdf and b/Master/texmf-dist/doc/latex/verifiche/verifiche-example.pdf differ diff --git a/Master/texmf-dist/doc/latex/verifiche/verifiche-example.tex b/Master/texmf-dist/doc/latex/verifiche/verifiche-example.tex index 95a86ed7798..ec32c5f405d 100644 --- a/Master/texmf-dist/doc/latex/verifiche/verifiche-example.tex +++ b/Master/texmf-dist/doc/latex/verifiche/verifiche-example.tex @@ -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 @@ Calcolare \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,6 +114,11 @@ Risolvere i seguenti quesiti: 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.} @@ -134,7 +139,7 @@ Io sono vera & \truefalse{V} \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,6 +148,18 @@ Quali delle seguenti equazioni descrive il moto rettilineo uniforme?\par \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]} @@ -176,17 +193,49 @@ A differenza dei numeri assoluti, la differenza tra due \finderror{numeri razio } \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 & Quesito \ref{es:ferropiuma} + & Quesito \ref{es:grav} + & Quesito \ref{es:meccanica} + & Quesito \ref{es:derivata} + & Quesito \ref{es:ultimo} + & Totale + \\ + & \ref{ptes@2} pt + & \ref{ptes@4} pt + & \ref{ptes@7} pt + & \ref{ptes@9} pt + & \ref{ptes@20} pt + & + \\ \hline -Esercizio & \ref{es:ferropiuma} & \ref{es:grav} & \ref{es:meccanica} \\\hline -Punteggio totale & \ref{ptes@2} & \ref{ptes@4} & \ref{ptes@7}\\\hline -Punteggio & & & \\\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 diff --git a/Master/texmf-dist/doc/latex/verifiche/verifiche.pdf b/Master/texmf-dist/doc/latex/verifiche/verifiche.pdf index 584d9276edc..63cb42a4d14 100644 Binary files a/Master/texmf-dist/doc/latex/verifiche/verifiche.pdf and b/Master/texmf-dist/doc/latex/verifiche/verifiche.pdf differ diff --git a/Master/texmf-dist/source/latex/verifiche/verifiche.dtx b/Master/texmf-dist/source/latex/verifiche/verifiche.dtx index 4172a0771ff..90f9978a642 100644 --- a/Master/texmf-dist/source/latex/verifiche/verifiche.dtx +++ b/Master/texmf-dist/source/latex/verifiche/verifiche.dtx @@ -16,7 +16,7 @@ % % \iffalse %\NeedsTeXFormat{LaTeX2e} -%\ProvidesPackage{verifiche} [2022/03/10 v4.4 .dtx verifiche file] +%\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,13 +63,14 @@ \EnableCrossrefs \CodelineIndex \RecordChanges +\parindent0pt \begin{document} \DocInput{verifiche.dtx} \end{document} % % \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@write, \ref, \refstepcounter, \reversemarginpar, \rule} % \DoNotIndex{\scshape, setkeys, \sffamily, \sisetup, \spacedim, \string, \tikz, \underline, \usetikzlibrary} -% \DoNotIndex{\val, \xout, \y, \usebox, \romannumeral, \@ifundefined, \ltx@zero, \rc@default, \rc@extract@, \chardef} +% \DoNotIndex{\val, \xout, \y, \usebox, \romannumeral, \@ifundefined, \ltx@zero, \rc@default, \rc@extract@, \chardef, \llap} % % % \title{Il pacchetto \textsf{verifiche} @@ -545,13 +550,13 @@ che voglio somministrare % % %\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,7 +636,16 @@ dell'esercizio somministrato % \iffalse % % \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 +% +% \fi % \iffalse %<*example> % \fi @@ -643,7 +657,28 @@ dell'esercizio somministrato % \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 +% +% \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 +% +% \fi % % \iffalse %<*example> @@ -651,14 +686,14 @@ dell'esercizio somministrato \example {\begin{closedquestion} \item Primo -\item[\checked] Secondo\\ +\item[\checked] Secondo \item Terzo \item Quarto \end{closedquestion}} {\begin{closedquestion} \item Primo \item[\checked] Secondo -\end{closedquestion}\\ +\end{closedquestion} \begin{closedquestion} \item Terzo \item Quarto @@ -668,6 +703,20 @@ dell'esercizio somministrato % \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 +% +% \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 @@ dell'esercizio somministrato % % \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 +% +% \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 +% +% \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 +% +% \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 @@ dell'esercizio somministrato \RequirePackage{tikz} \RequirePackage{booktabs} \RequirePackage[normalem]{ulem} -\RequirePackage{xstring} % \end{macrocode} % % @@ -1061,10 +1142,12 @@ dell'esercizio somministrato \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 @@ dell'esercizio somministrato %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@durationlabeldefault{Tempo della prova:}% - \def\@verifiche@asyearlabeldefault{Anno scolastico}% - \def\@verifiche@headercandidatenamelabel{Nome e Cognome}% - \def\@verifiche@headerclasslabel{Classe}% - \def\@verifichhe@headerdatelabel{Data}% - \def\@verifiche@exerciselabel{Quesito}% - \def\@verifiche@solutionlabel{Soluzione}% - }}{% -\@ifpackageloaded{polyglossia}{% - \addto\captionsitalian{% - \def\@verifiche@durationlabeldefault{Tempo della prova:}% - \def\@verifiche@asyearlabeldefault{Anno scolastico}% - \def\@verifiche@headercandidatenamelabel{Nome e Cognome}% - \def\@verifiche@headerclasslabel{Classe}% - \def\@verifichhe@headerdatelabel{Data}% - \def\@verifiche@exerciselabel{Quesito}% - \def\@verifiche@solutionlabel{Soluzione}% - }}{ - \def\@verifiche@durationlabeldefault{Time:}% - \def\@verifiche@asyearlabeldefault{School year}% - \def\@verifiche@headercandidatenamelabel{Name and Surname}% - \def\@verifiche@headerclasslabel{Class}% - \def\@verifichhe@headerdatelabel{Date}% - \def\@verifiche@exerciselabel{Exercise}% - \def\@verifiche@solutionlabel{Solution}% - }}% +\newcommand{\@verifiche@durationlabeldefault}{Time:}% +\newcommand{\@verifiche@asyearlabeldefault}{School year}% +\newcommand{\@verifiche@headercandidatenamelabel}{Name and Surname}% +\newcommand{\@verifiche@headerclasslabel}{Class}% +\newcommand{\@verifichhe@headerdatelabel}{Date}% +\newcommand{\@verifiche@exerciselabel}{Exercise}% +\newcommand{\@verifiche@solutionlabel}{Solution}% +\newcommand{\@verifiche@Tletter}{T}% +\newcommand{\@verifiche@Fletter}{F}% +% +\newcommand{\italiandictiornary}{% + \renewcommand{\@verifiche@durationlabeldefault}{Tempo della prova:}% + \renewcommand{\@verifiche@asyearlabeldefault}{Anno scolastico}% + \renewcommand{\@verifiche@headercandidatenamelabel}{Nome e Cognome}% + \renewcommand{\@verifiche@headerclasslabel}{Classe}% + \renewcommand{\@verifichhe@headerdatelabel}{Data}% + \renewcommand{\@verifiche@exerciselabel}{Quesito}% + \renewcommand{\@verifiche@solutionlabel}{Soluzione}% + \renewcommand{\@verifiche@Tletter}{V}% + \renewcommand{\@verifiche@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@durationlabeldefault}% @@ -1259,6 +1342,13 @@ dell'esercizio somministrato \@defineptdelimiter#1} % \end{macrocode} %\iffalse +%% checkmaker +%\fi +% \begin{macrocode} +\newcommand{\checkmarker}{$\checkmark$}% +\newcommand{\verifiche@checkmarker}{\bgroup\ifsolutionscolor\color{\solutionscolor}\fi\checkmarker\egroup}% +% \end{macfrocode} +%\iffalse %% convert ref to num %\fi % \begin{macrocode} @@ -1436,13 +1526,23 @@ dell'esercizio somministrato %\begin{environment}{soluzione} %The main element for the "solutions" mode is the |soluzione| environment. % \begin{macrocode} -\NewDocumentEnvironment{soluzione}{+b}{% +\define@key{soluzione}{label}[\solutionlabel]{% + \def\verifiche@tempsoluzionelabel{#1}% +} +\newcommand{\verifiche@solutionlabel}{% + \ifdefined\verifiche@tempsoluzionelabel\verifiche@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@solutionlabel}% \par\nobreak\noindent\ignorespaces% \setlength\parindent{0pt}%no parindent - \solutionfont #1% + \solutionfont #2% \fi% }{% \ifsol% @@ -1485,16 +1585,21 @@ dell'esercizio somministrato %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@Tletter}% + \ifsol\llap{% + \if#1\@verifiche@Tletter% + \Large\verifiche@checkmarker% + \fi}% + \fi% + \quad% + %False + \fbox{\@verifiche@Fletter}% + \ifsol\llap{% + \if#1\@verifiche@Fletter% + \Large\verifiche@checkmarker% + \fi}% + \fi%% } % \end{macrocode} %\end{macro} @@ -1517,20 +1622,26 @@ dell'esercizio somministrato %\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@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 @@ dell'esercizio somministrato } % \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 diff --git a/Master/texmf-dist/tex/latex/verifiche/verifiche.sty b/Master/texmf-dist/tex/latex/verifiche/verifiche.sty index d9de04d0226..75dc2b2119a 100644 --- a/Master/texmf-dist/tex/latex/verifiche/verifiche.sty +++ b/Master/texmf-dist/tex/latex/verifiche/verifiche.sty @@ -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@durationlabeldefault{Tempo della prova:}% - \def\@verifiche@asyearlabeldefault{Anno scolastico}% - \def\@verifiche@headercandidatenamelabel{Nome e Cognome}% - \def\@verifiche@headerclasslabel{Classe}% - \def\@verifichhe@headerdatelabel{Data}% - \def\@verifiche@exerciselabel{Quesito}% - \def\@verifiche@solutionlabel{Soluzione}% - }}{% -\@ifpackageloaded{polyglossia}{% - \addto\captionsitalian{% - \def\@verifiche@durationlabeldefault{Tempo della prova:}% - \def\@verifiche@asyearlabeldefault{Anno scolastico}% - \def\@verifiche@headercandidatenamelabel{Nome e Cognome}% - \def\@verifiche@headerclasslabel{Classe}% - \def\@verifichhe@headerdatelabel{Data}% - \def\@verifiche@exerciselabel{Quesito}% - \def\@verifiche@solutionlabel{Soluzione}% - }}{ - \def\@verifiche@durationlabeldefault{Time:}% - \def\@verifiche@asyearlabeldefault{School year}% - \def\@verifiche@headercandidatenamelabel{Name and Surname}% - \def\@verifiche@headerclasslabel{Class}% - \def\@verifichhe@headerdatelabel{Date}% - \def\@verifiche@exerciselabel{Exercise}% - \def\@verifiche@solutionlabel{Solution}% - }}% +\newcommand{\@verifiche@durationlabeldefault}{Time:}% +\newcommand{\@verifiche@asyearlabeldefault}{School year}% +\newcommand{\@verifiche@headercandidatenamelabel}{Name and Surname}% +\newcommand{\@verifiche@headerclasslabel}{Class}% +\newcommand{\@verifichhe@headerdatelabel}{Date}% +\newcommand{\@verifiche@exerciselabel}{Exercise}% +\newcommand{\@verifiche@solutionlabel}{Solution}% +\newcommand{\@verifiche@Tletter}{T}% +\newcommand{\@verifiche@Fletter}{F}% +\newcommand{\italiandictiornary}{% + \renewcommand{\@verifiche@durationlabeldefault}{Tempo della prova:}% + \renewcommand{\@verifiche@asyearlabeldefault}{Anno scolastico}% + \renewcommand{\@verifiche@headercandidatenamelabel}{Nome e Cognome}% + \renewcommand{\@verifiche@headerclasslabel}{Classe}% + \renewcommand{\@verifichhe@headerdatelabel}{Data}% + \renewcommand{\@verifiche@exerciselabel}{Quesito}% + \renewcommand{\@verifiche@solutionlabel}{Soluzione}% + \renewcommand{\@verifiche@Tletter}{V}% + \renewcommand{\@verifiche@Fletter}{F}% +}% +\@ifpackageloaded{babel}{% if babel is loaded + \addto\captionsitalian{\italiandictiornary}% +}{%else if polyglossia is loaded + \@ifpackageloaded{polyglossia}{% + \addto\captionsitalian{\italiandictiornary}% + }{}% +}% \newcommand{\@durationlabeldefault}{\@verifiche@durationlabeldefault}% \newcommand{\@asyearlabeldefault}{\@verifiche@asyearlabeldefault}% \newcommand{\headercandidatenamelabel}{\@verifiche@headercandidatenamelabel}% @@ -202,6 +202,9 @@ \renewcommand{\@rpt@delimiter}{#2}} \newcommand{\ptdelimiters}[1]{% \@defineptdelimiter#1} +%% checkmaker +\newcommand{\checkmarker}{$\checkmark$}% +\newcommand{\verifiche@checkmarker}{\bgroup\ifsolutionscolor\color{\solutionscolor}\fi\checkmarker\egroup}% %% convert ref to num \newcommand*{\convertreftonum}[1]{% \romannumeral @@ -320,13 +323,23 @@ \@rpartialpt@delimiter% \addtocounter{partialpoints}{#1}}% \fi}% -\NewDocumentEnvironment{soluzione}{+b}{% +\define@key{soluzione}{label}[\solutionlabel]{% + \def\verifiche@tempsoluzionelabel{#1}% +} +\newcommand{\verifiche@solutionlabel}{% + \ifdefined\verifiche@tempsoluzionelabel\verifiche@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@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@Tletter}% + \ifsol\llap{% + \if#1\@verifiche@Tletter% + \Large\verifiche@checkmarker% + \fi}% + \fi% + \quad% + %False + \fbox{\@verifiche@Fletter}% + \ifsol\llap{% + \if#1\@verifiche@Fletter% + \Large\verifiche@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@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@key{openquestion}{width}[\linewidth]{\def\openquestionwidth{#1}} \define@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'. -- cgit v1.2.3