diff options
author | Karl Berry <karl@freefriends.org> | 2021-02-15 22:15:29 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-02-15 22:15:29 +0000 |
commit | 73046e13d38cda6c175c5886c17fd4d716898a5e (patch) | |
tree | a27d12c36b1a84ad5b8b5e360273ec8c6002b519 | |
parent | 57d1b83eef654515374e38b04758517b0eaec0f5 (diff) |
verifiche (15feb21)
git-svn-id: svn://tug.org/texlive/trunk@57753 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/latex/verifiche/Esempio.pdf | bin | 174217 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/verifiche/README.md | 9 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/verifiche/verifiche-example.tex (renamed from Master/texmf-dist/doc/latex/verifiche/Esempio.tex) | 32 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/verifiche/verifiche.pdf | bin | 504635 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/verifiche/verifiche.dtx | 276 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/verifiche/verifiche.ins | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/verifiche/verifiche.sty | 113 |
7 files changed, 381 insertions, 51 deletions
diff --git a/Master/texmf-dist/doc/latex/verifiche/Esempio.pdf b/Master/texmf-dist/doc/latex/verifiche/Esempio.pdf Binary files differdeleted file mode 100644 index 509d6e67beb..00000000000 --- a/Master/texmf-dist/doc/latex/verifiche/Esempio.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/verifiche/README.md b/Master/texmf-dist/doc/latex/verifiche/README.md index 348e4c9b587..75f142ca02e 100644 --- a/Master/texmf-dist/doc/latex/verifiche/README.md +++ b/Master/texmf-dist/doc/latex/verifiche/README.md @@ -1,7 +1,7 @@ # Package Verifiche ## Abstract -The purpose of the package is to mange the exercises for a test, their points, the difficulty level and their solutions. +The purpose of the package is to manage the exercises for a test, their points, the difficulty level and their solutions. Some typical format of exercises are already implemented: 1. Plain exercise 2. Complete the Text - exercise @@ -10,6 +10,11 @@ Some typical format of exercises are already implemented: 5. Open questtions 6. Find the Error - exercise +## Informations +Author: Francesco Raccanello +Mail: raccanello.francesco@gmail.com +License: LPPL 1.3 + ## Installation To install the package run: - `latex verifiche.ins` @@ -21,7 +26,7 @@ To install the package run: tree (e.g. \tex\latex\verifiche). ## Example -Run `pdflatex Esempio.tex` to see some examples. +Run `pdflatex verifiche-example.tex` to see some examples. ### To do diff --git a/Master/texmf-dist/doc/latex/verifiche/Esempio.tex b/Master/texmf-dist/doc/latex/verifiche/verifiche-example.tex index b84e48eef6e..361c7cd52ae 100644 --- a/Master/texmf-dist/doc/latex/verifiche/Esempio.tex +++ b/Master/texmf-dist/doc/latex/verifiche/verifiche-example.tex @@ -1,6 +1,6 @@ % compile 2 times \documentclass[a4paper]{article} -\usepackage[solutions +\usepackage[solutions%show/hide the solutions ]{verifiche} \usepackage[margin=3cm]{geometry} \usepackage{lipsum} @@ -16,6 +16,8 @@ \instruction{Risolvere il seguente esercizio nel più breve tempo possibile.\\} \printheading +\pagestyle{verifiche} + \begin{esercizio} Risolvere il seguente problema. @@ -69,6 +71,34 @@ Calcolare \] \end{esercizio*} +\ptprefix{.../} +\ptdelimiters{[]} +\ptlabel{punti} +\begin{esercizio}[pt=2] +Calcolare la seguente derivata: +\[ +\frac{d e^x}{dx} = +\] +\end{esercizio} + +\partialptprefix{.../} +\partialptdelimiters{{}{}} +\partialptlabel[punto]{punti} +\begin{esercizio} +Risolvere i seguenti quesiti: +\begin{enumerate}[(i)] +\item\partialpt{2}\noindent Calcolare il seguente integrale indefinito: +\[ +\int e^x dx = +\] +\item\partialpt{1}\noindent Calcolare il seguente integrale definito: +\[ +\int_0^1 e^x dx = +\] +\end{enumerate} +\end{esercizio} + + \begin{soluzione} Questa è la soluzione dell'esercizio \ref{es:ferropiuma} a pagina \pageref{es:ferropiuma}. \end{soluzione} diff --git a/Master/texmf-dist/doc/latex/verifiche/verifiche.pdf b/Master/texmf-dist/doc/latex/verifiche/verifiche.pdf Binary files differdeleted file mode 100644 index 25838a476d9..00000000000 --- a/Master/texmf-dist/doc/latex/verifiche/verifiche.pdf +++ /dev/null diff --git a/Master/texmf-dist/source/latex/verifiche/verifiche.dtx b/Master/texmf-dist/source/latex/verifiche/verifiche.dtx index 8bad5377772..405d7ec7323 100644 --- a/Master/texmf-dist/source/latex/verifiche/verifiche.dtx +++ b/Master/texmf-dist/source/latex/verifiche/verifiche.dtx @@ -16,7 +16,7 @@ % % \iffalse %<package>\NeedsTeXFormat{LaTeX2e} -%<package>\ProvidesPackage{verifiche} [2020/07/01 v2.2 .dtx verifiche file] +%<package>\ProvidesPackage{verifiche} [2021/02/14 v4.0 .dtx verifiche file] %<*driver> \documentclass{ltxdoc} \usepackage[utf8]{inputenc} @@ -25,10 +25,10 @@ \usepackage{listings} \lstset{ language=[LaTeX]TeX, - morekeywords={\institute, \asyear, \testtype, \instruction, \duration, \printheading, - \institutefont, \asyearfont, \testtypefont, \instructiondelimiter, \instrunctionfont, + morekeywords={\setlength, \institute, \asyear, \testtype, \instruction, \duration, \printheading, + \institutefont, \asyearfont, \testtypefont, \instructiondelimiter, \headerfont, \instrunctionfont, \durationfont, \eserciziolabel, \solutionfont, \diffsymb, \closedquestionitem, - \inlinesol, \completetext, \truefalse, \openquestion, \linedopenquestion, \squaredopenquestion, \checked, \finderror, \textandimage, \partialpt}, + \inlinesol, \completetext, \truefalse, \openquestion, \linedopenquestion, \squaredopenquestion, \headercandidatenamelabel, \checked, \finderror, \textandimage, \partialpt, \ptprefix, \ptlabel, \partialptlabel, \partialptdelimiters, \ptdelimiters}, keywordstyle=\color{blue}, escapeinside={*@}{@*}, inputencoding=utf8, @@ -66,11 +66,13 @@ %</driver> % \fi % -% \CheckSum{537} +% \CheckSum{736} % \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.} % \changes{v2.2}{2020/07/01}{Modify reference to points of an exercise.} +% \changes{v3.0}{2021/02/14}{Remove fancyhdr and introduce a new page style. Improve the printheading command.} +% \changes{v4.0}{2021/02/15}{Introduce comando to change the aspect of the exercise score.} % \GetFileInfo{verifiche.sty} % \DoNotIndex{\newcommand,\newenvironment,\def,\begin,\end,\par} % \DoNotIndex{\DeclareOption,\ExecuteOptions,\ProcessOptions,\RequirePackage} @@ -115,10 +117,11 @@ % \maketitle %\begin{abstract} %Il presente pacchetto si propone di gestire gli elementi che generalmente compongono -%una prova scritta per le scuole secondarie di primo e secondo grado. -%I comandi e gli ambienti implementati permettono di gestire l'intestazione della pagina -% e alcuni strumenti utili alla stesura di test scolastici. -% Il pacchetto, inoltre, permette di riportare soluzioni degli esercizi riportandoli, o meno, nello stesso documento in base ad un'apposita opzione. +%una prova scritta per le scuole secondarie di primo e secondo grado: +%l'intestazione della pagina, gli esercizi della verifica e le loro soluzioni. +%Gli esercizi possono presentare una numerazione, un punteggio e un grado di difficoltà. +%Alcuni comandi permettono di generare alcune tipologie di test: esercizi semplici, esercizi di completamento, vero o falso, domande aperte e chiuse e trova l'errore. +%Ciascun esercizio può presentare la soluzione corretta che viene riportata nel documento in base ad un'apposita opzione del pacchetto. %\end{abstract} % %\tableofcontents @@ -141,7 +144,6 @@ %\item |amsmath|, |amssymb| per la gestione della matematica; %\item |siunitx| per la gestione delle unità di misura; %\item |graphicx|, |xcolor| e |tikz| per la gestione grafica; -%\item |famcyhdr| per la gestione delle testatine. %\end{itemize} % %\section{Come usare il pacchetto \textsf{verifiche}} @@ -275,6 +277,17 @@ %\end{tabular} %\end{center} % +% 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> +%\fi +\begin{lstlisting} +\pagestyle{verifiche} +\end{lstlisting} +%\iffalse +%</example> +%\fi +%e riproduce, nelle pagine dispari diversa dalla prima, l'intestazione per l'identificazione del candidato: il nome, la classe e la data. %\section{Comandi ed ambienti per le \textsf{verifiche}} %Nel seguito verranno presentati i comandi che permettono di strutturare un test. %Il pacchetto fornisce un ambiente di esercizio in cui racchiudere le domande. @@ -441,6 +454,8 @@ che voglio somministrare %</example> % \fi % +%Quando usato negli ambienti |enumerate| o |itemize|, il comando introduce uno spazio spurio che può essere rimosso posponendo il comando |\noindent|. +% %Quando viene esplicitata l'\emph{opzione} |partialpt| nella definizione dell'ambiente esercizio, il pacchetto si occupa della somma complessiva dei singoli punteggi parziali riportandola come punteggio totale del quesito. In questo caso il documento dev'essere compilato \emph{due volte} per ottenere correttamente il risultato finale.\\ % % \iffalse @@ -741,13 +756,24 @@ dell'esercizio somministrato % \fi % %\section{Personalizzazione} -%Il pacchetto prevede un certo numero di comandi definiti al fine di gestire l'aspetto del documento finale.\par +%Il pacchetto prevede un certo numero di comandi definiti al fine di gestire l'aspetto del documento finale. +%\subsection*{Font} %Per l'intestazione tutti i font sono definiti secondo lo schema: %\begin{center} %\meta{comando intestazione}|font| %\end{center} %ed oltre a gestire l'aspetto del carattere, alcuni di questi, specificano la posizione occupata del testo ed eventuali prefissi. - +% +%\DescribeMacro{\headerfont} Il font delle intestazioni quando viene usato lo stile di pagina |verifiche|. +%\iffalse +%<*example> +%\fi +\begin{lstlisting} +\renewcommand{\headerfont}[1]*@\marg{...}@* +\end{lstlisting} +%\iffalse +%</example> +%\fi %\DescribeMacro{\institutefont}Il font dell'istituto, generato dal comando |\institute|, è gestito dal comando |\institutefont|. Per variare le caratteristiche del font è necessario ridefinire il comando: %\iffalse %<*example> @@ -792,6 +818,18 @@ dell'esercizio somministrato %</example> %\fi % +%\DescribeMacro{\solutionfont}Le soluzioni degli esercizi vengono stampate, quando viene esplicitata l'opzione |solutions| quando viene caricato il pacchetto, con un font più piccolo e in corsivo. Per modificare il font delle soluzioni è sufficiente ridefinire il comando |\solutionfont|: +%\iffalse +%<*example> +%\fi +\begin{lstlisting} +\renewcommand{\solutionfont}*@\marg{...}@* +\end{lstlisting} +%\iffalse +%</example> +%\fi +% +%\subsection*{Intestazione} %\DescribeMacro{\instructiondelimiter}Le istruzioni e la durata della prova sono racchiuse tra due delimitatori che normalmente sono due righe orizzontali. Per cambiare, o rimuovere, questi delimitatori è sufficiente ridefinire il seguente comando: %\iffalse %<*example> @@ -803,6 +841,30 @@ dell'esercizio somministrato %</example> %\fi % +%\DescribeMacro{\headercandidatenamelabel}Quando viene composta l'intestazione principale nella prima pagina, compare una riga in cui il candidato può scrivere il proprio nome e cognome. L'etichetta di questa parte controllata dal comando |\headercandidatenamelabel|, che può essere opportunamente cambiata tramite il comando: +%\iffalse +%<*example> +%\fi +\begin{lstlisting} +\renewcommand{\headercandidatenamelabel}*@\marg{...}@* +\end{lstlisting} +%\iffalse +%</example> +%\fi +%Allo stesso modo è possibile modificare la descrizione della classe \DescribeMacro{\headerclasslabel} e della data\DescribeMacro{\headerdatelabel}. +% Tutte queste tre voci prevedono, per ciascuna, una riga vuota ove scrivere l'informazione richiesta.\DescribeMacro{\candidatenamerulerlength}\DescribeMacro{\classrulerlength}\DescribeMacro{\daterulerlength} Le lunghezze delle tre righe possono essere modificate impostando le lunghezze desiderate +%\iffalse +%<*example> +%\fi +\begin{lstlisting} +\setlength{\...rulerlength}*@\marg{dim}@* +\end{lstlisting} +%\iffalse +%</example> +%\fi +%Attraverso questi comandi è possibile anche rimuovere una (o più) delle tre voci. Se ad esempio non si vuole visualizzare la classe d'appartenenza del candidato, sarà sufficiente ridefinire gli opportuni comandi nel seguente modo: |\renewcommand{\headerclasslabel}{}|, così da non visualizzare alcuna scritta, e |\setlength{\classrulerlength}{0pt}| per rimuovere la riga associata. +% +%\subsection*{Ambiente \texttt{esercizio}} %\DescribeMacro{\eserciziolabel}Gli esercizi vengono inseriti anteponendo al loro testo la dicitura ‘‘Quesito’’ seguito (eventualmente) da un numero. Per cambiare questa dicitura, a livello globale, ovvero per ogni esercizio, è sufficiente ridefinire il comando |\eserciziolabel|. %\iffalse %<*example> @@ -814,6 +876,34 @@ dell'esercizio somministrato %</example> %\fi % +%L'ambiente |esercizio| permette di riportare anche il punteggio complessivo e parziale per le sotto-domande. Di default il punteggio totale del quesito viene riportato anteponendo un tratto orizzontale seguito da uno slash, il valore del punteggio ed un'etichetta indicante la sigla \emph{pt}. +% Per quanto riguarda il punteggio parziale, questo viene riportato racchiuso tra parentesi tonde. +% È possibile modificare l'aspetto di entrambi i punteggio che sono strutturati nel seguente modo: \texttt{prefisso delimitatore punteggio label delimitatore}. +% +%\DescribeMacro{\ptprefix} Il comando |\ptprefix| permette di modificare il \texttt{prefisso} del punteggio. Di default traccia una linea di 1 cm ed uno slash. Se si vuole modificarne l'aspetto è sufficiente evocare il comando. +%\iffalse +%<*example> +%\fi +\begin{lstlisting} +\ptprefix*@\marg{...}@* +\end{lstlisting} +%\iffalse +%</example> +%\fi +% +%\DescribeMacro{\partialptprefix} Allo stesso modo il comando |\partialptprefix| definisce un \texttt{prefisso} per il punteggio parziale. +% +%\DescribeMacro{\ptlabel}\DescribeMacro{\partialptlabel} Il punteggio viene riportato indicando anche una \texttt{label}. Questa di default è "pt" sia per il punteggio parziale che per quello totale. È possibile definire un nome alternativo usando il comando |\ptlabel| per il punteggio totale o |\partialptlabel| per quello parziale. I comandi prevedono un argomento obbligatorio che è valido per tutti i punteggi, ma anche uno facoltativo che viene usato quanto il valore del punteggio è pari a 1 e che necessita quindi di un sostantivo singolare al posto di quello plurale (i.e. "punto" al posto di "punti"). +%\iffalse +%<*example> +%\fi +\begin{lstlisting} +\ptlabel*@\oarg{sing.}\marg{plur.}@* +\partialptlabel*@\oarg{sing.}\marg{plur.}@* +\end{lstlisting} +%\iffalse +%</example> +%\fi %\DescribeMacro{\diffsymb}L'ambiente esercizi prevede di poter descrivere la difficoltà tramite un simbolo grafico. Di default questo è una stella ($\bigstar$), tuttavia è possibile cambiare il tipo di simbolo ridefinendo il comando |\diffsymb|: %\iffalse %<*example> @@ -825,24 +915,24 @@ dell'esercizio somministrato %</example> %\fi % -%\DescribeMacro{\closedquestionitem}Il simbolo delle domande chiuse è controllato dal comando |\closedquestionitem| che di default è un quadrato ($\square$). Per modificare questo simbolo è sufficiente ridefinire il comando: +%\DescribeMacro{\ptdelimiters}\DescribeMacro{\partialptdelimiters} Infine, i punteggi sono racchiusi tra due delimitatori. Il punteggio totale non presenta alcun simbolo, mentre quello parziale è racchiuso tra parentesi tonde. È possibile definire dei nuovi delimitatori utilizzando i comandi |\partialptdelimiters| e |\ptdelimiters| i quali argomenti contengono due caratteri che fungono da delimitatore dentro e sinistro. %\iffalse %<*example> %\fi \begin{lstlisting} -\renewcommand{\closedquestionitem}*@\marg{codice del simbolo}@* +\ptdelimiters*@\marg{coppia di caratteri}@* +\partialptdelimiters*@\marg{coppia di caratteri}@* \end{lstlisting} %\iffalse %</example> %\fi - % -%\DescribeMacro{\solutionfont}Le soluzioni degli esercizi vengono stampate, quando viene esplicitata l'opzione |solutions| quando viene caricato il pacchetto, con un font più piccolo e in corsivo. Per modificare il font delle soluzioni è sufficiente ridefinire il comando |\solutionfont|: +%\DescribeMacro{\closedquestionitem}Il simbolo delle domande chiuse è controllato dal comando |\closedquestionitem| che di default è un quadrato ($\square$). Per modificare questo simbolo è sufficiente ridefinire il comando: %\iffalse %<*example> %\fi \begin{lstlisting} -\renewcommand{\solutionfont}*@\marg{...}@* +\renewcommand{\closedquestionitem}*@\marg{codice del simbolo}@* \end{lstlisting} %\iffalse %</example> @@ -865,7 +955,6 @@ dell'esercizio somministrato \RequirePackage{xcolor} \RequirePackage{tikz} \RequirePackage{booktabs} -\RequirePackage{fancyhdr} \RequirePackage[normalem]{ulem} \RequirePackage{xstring} % \end{macrocode} @@ -941,6 +1030,20 @@ dell'esercizio somministrato \newcounter{exercisenumber} \newcounter{partialpoints}[exercisenumber] % \end{macrocode} +%\subsection{Length} +%\iffalse +%%newlenght +%\fi +%In order to fine-tuning the dimension of the rulers in the headers and to leave the possibility to the user to redefine their dimensions, some length are introduced. +% \begin{macrocode} +\newlength{\candidatenamerulerlength} +\newlength{\classrulerlength} +\newlength{\daterulerlength} +\setlength{\candidatenamerulerlength}{.35\textwidth} +\setlength{\classrulerlength}{.1\textwidth} +\setlength{\daterulerlength}{.15\textwidth} +% \end{macrocode} +% %\subsection{Macro and environment} %\iffalse %%macro and environment @@ -968,6 +1071,10 @@ dell'esercizio somministrato %%fonts and aspects %\fi % \begin{macrocode} +\newcommand{\headerfont}[1]{% + \sffamily\color{darkgray}#1} +% \end{macrocode} +% \begin{macrocode} \newcommand{\institutefont}[1]{% \large \sffamily\color{darkgray}#1} % \end{macrocode} @@ -992,6 +1099,15 @@ dell'esercizio somministrato \hspace*{\fill}\@durationpreamble\space\bfseries #1\hspace*{\fill}} % \end{macrocode} % \begin{macrocode} +\newcommand{\headercandidatenamelabel}{Nome e Cognome} +\newcommand{\headerclasslabel}{Classe} +\newcommand{\headerdatelabel}{Data} +\newcommand{\@header@candidatename}{\headercandidatenamelabel\space\underline{\hspace{\candidatenamerulerlength}}} +\newcommand{\@header@class}{\headerclasslabel\space\underline{\hspace{\classrulerlength}}} +\newcommand{\@header@date}{\headerdatelabel\space\underline{\hspace{\daterulerlength}}} +\newcommand{\@header}{\@header@candidatename\hfill\@header@class\hfill\@header@date} +% \end{macrocode} +% \begin{macrocode} \newcommand{\eserciziolabel}{% Quesito} % \end{macrocode} @@ -1007,6 +1123,106 @@ dell'esercizio somministrato \newcommand{\closedquestionitem}{% $\square$} % \end{macrocode} +%\iffalse +%%pt prefix +%\fi +% \begin{macrocode} +\newcommand{\@ptprefix}{\underline{\hspace{1cm}}/} +\newcommand{\ptprefix}[1]{% + \renewcommand{\@ptprefix}{#1}} +% \end{macrocode} +%\iffalse +%%partialpt prefix +%\fi +% \begin{macrocode} +\newcommand{\@partialptprefix}{} +\newcommand{\partialptprefix}[1]{% + \renewcommand{\@partialptprefix}{#1}} +% \end{macrocode} +%\iffalse +%%pt label +%\fi +% \begin{macrocode} +\newcommand{\@ptsinglabel}{pt} +\newcommand{\@ptplurlabel}{pt} +\NewDocumentCommand{\ptlabel}{o m}{% + \renewcommand{\@ptplurlabel}{#2}% + \renewcommand{\@ptsinglabel}{\IfNoValueTF{#1}{#2}{#1}}}% +\newcommand{\@useptlabel}[1]{% + \ifnum#1=1 \@ptsinglabel \else \@ptplurlabel\fi} +% \end{macrocode} +%\iffalse +%%partialpt label +%\fi +% \begin{macrocode} +\newcommand{\@partialptsinglabel}{pt} +\newcommand{\@partialptplurlabel}{pt} +\NewDocumentCommand{\partialptlabel}{o m}{% + \renewcommand{\@partialptplurlabel}{#2}% + \renewcommand{\@partialptsinglabel}{\IfNoValueTF{#1}{#2}{#1}}}% +\newcommand{\@usepartialptlabel}[1]{% + \ifnum#1=1 \@partialptsinglabel \else \@partialptplurlabel\fi} +% \end{macrocode} +%\iffalse +%%partialpt delimiter +%\fi +% \begin{macrocode} +\newcommand{\@lpartialpt@delimiter}{(} +\newcommand{\@rpartialpt@delimiter}{)} +\newcommand{\@definepartialptdelimiter}[2]{ + \renewcommand{\@lpartialpt@delimiter}{#1} + \renewcommand{\@rpartialpt@delimiter}{#2}} +\newcommand{\partialptdelimiters}[1]{% + \@definepartialptdelimiter#1} +% \end{macrocode} +%\iffalse +%%pt delimiter +%\fi +% \begin{macrocode} +\newcommand{\@lpt@delimiter}{} +\newcommand{\@rpt@delimiter}{} +\newcommand{\@defineptdelimiter}[2]{% + \renewcommand{\@lpt@delimiter}{#1}% + \renewcommand{\@rpt@delimiter}{#2}} +\newcommand{\ptdelimiters}[1]{% + \@defineptdelimiter#1} +% \end{macrocode} +%\iffalse +%% convert ref to num +%\fi +% \begin{macrocode} +\newcommand*{\convertreftonum}[1]{% + \romannumeral + \@ifundefined{r@#1}{% + \expandafter\ltx@zero + \rc@default}{% + \expandafter\expandafter\expandafter\rc@extract@ + \expandafter\expandafter\expandafter!% + \csname r@#1\expandafter\endcsname + \expandafter{\rc@default}\@nil}% +} +\def\rc@default{0}% +\long\def\rc@extract@#1#2#3\@nil{% + \ltx@zero + #2} +\chardef\ltx@zero=0% +% \end{macrocode} + +%\paragraph{Page styles} +%The package define two new pagestyle: \texttt{mainverifiche} and \texttt{verifiche}. The former is used if \verb|\@institute| is defined (or if \verb|noinstitute| is not declared) as \verb|\thispagestyle| mode. The latter can be used by the user and print, on the odd pages, the name, date and class of the candidate. +%\iffalse +%%pagestyles +%\fi +% \begin{macrocode} +\newcommand{\ps@mainverifiche}{% + \renewcommand\@oddhead{\parbox{\textwidth}{\centering \institutefont{\@institute}}}% + \renewcommand\@evenhead{}% +} +\newcommand{\ps@verifiche}{% + \renewcommand\@oddhead{ + \ifodd\thepage\parbox{\textwidth}{\headerfont\@header}\fi}% +} +% \end{macrocode} % %\paragraph{Print the heading}The purpose of |\printheading| macro is to typeset the headings of the page, printing the name of the institute (if included), the type of the test (if included) and so on. %\iffalse @@ -1014,14 +1230,12 @@ dell'esercizio somministrato %\fi % \begin{macrocode} \newcommand{\printheading}{% - \ifinstitute\pagestyle{fancy}\fi% - {\ifinstitute\chead{\institutefont{\@institute}}\fi}% - {\ifcandidatename\vspace*{.25em}Nome e Cognome \underline{\hspace{6cm}}% - \hfill Classe \underline{\hspace{1.5cm}} \hfill Data \underline{\hspace{2.5cm}}\\[1em]\fi}% - {\ifasyear \asyearfont{\@asyearpreamble\space\@asyear}\fi}% - {\iftesttype\testtypefont{\@testtype}\fi}\\% - {\ifinstruction\instructiondelimiter\\{\instrunctionfont{\@instruction}}\\% - \ifduration{\durationfont\@duration\\}\fi\instructiondelimiter\fi}% + {\ifdefined\@institute\ifinstitute\thispagestyle{mainverifiche}\fi\else\thispagestyle{plain}\fi}% + {\ifcandidatename\@header\\[1em]\fi}% + {\ifdefined\@asyear\ifasyear \asyearfont{\@asyearpreamble\space\@asyear}\fi\fi}% + {\ifdefined\@testtype\iftesttype\testtypefont{\@testtype}\fi\fi}\\% + {\ifdefined\@instruction\ifinstruction\instructiondelimiter\\{\instrunctionfont{\@instruction}}\\% + \ifdefined\@duration\ifduration{\durationfont\@duration\\}\fi\fi\instructiondelimiter\fi\fi}% } % \end{macrocode} @@ -1038,10 +1252,11 @@ dell'esercizio somministrato \showmarginexercisetrue}% \define@key{esercizio}{pt}[none]{ \def\pointes{#1}% - \def\espoint{\hfill\underline{\hspace{1cm}}/\pointes pt}% + \def\espoint{\hfill\@ptprefix\@lpt@delimiter\pointes\space\@useptlabel{\pointes}\@rpt@delimiter} \showmarginexercisetrue}% \define@key{esercizio}{partialpt}[none]{% - \def\sumpartialpt{\underline{\hspace{1cm}}/\ref{ptes@\theexercisenumber} pt}% + \def\@totalpartialpt{\convertreftonum{ptes@\theexercisenumber}}% + \def\sumpartialpt{\@ptprefix\@lpt@delimiter\@totalpartialpt\space\@useptlabel{\@totalpartialpt}\@rpt@delimiter}% \showmarginexercisetrue}% % \end{macrocode} % @@ -1125,8 +1340,9 @@ dell'esercizio somministrato %\begin{macro}{\partialpt}The |partialpt| macro define the content of the margin note where it's used. % \begin{macrocode} \NewDocumentCommand{\partialpt}{m}{% - \leavevmode\reversemarginpar\marginpar{\hfill(#1 pt)\addtocounter{partialpoints}{#1}}% -} + \leavevmode\reversemarginpar\marginpar{% + \hfill\@partialptprefix\@lpartialpt@delimiter#1\space\@usepartialptlabel{#1}\@rpartialpt@delimiter% + \addtocounter{partialpoints}{#1}}}% % \end{macrocode} %\end{macro} %\paragraph{Soluzione} diff --git a/Master/texmf-dist/source/latex/verifiche/verifiche.ins b/Master/texmf-dist/source/latex/verifiche/verifiche.ins index 8063f393f6c..de63841f732 100644 --- a/Master/texmf-dist/source/latex/verifiche/verifiche.ins +++ b/Master/texmf-dist/source/latex/verifiche/verifiche.ins @@ -16,7 +16,7 @@ \usedir{tex/latex/verifiche} \preamble This is a generated file. -Copyright (C) 2020 by Francesco Raccanello +Copyright (C) 2021 by Francesco Raccanello This file may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 of this license or (at your option) any later diff --git a/Master/texmf-dist/tex/latex/verifiche/verifiche.sty b/Master/texmf-dist/tex/latex/verifiche/verifiche.sty index 13ca6420ddc..182f995f86c 100644 --- a/Master/texmf-dist/tex/latex/verifiche/verifiche.sty +++ b/Master/texmf-dist/tex/latex/verifiche/verifiche.sty @@ -6,7 +6,7 @@ %% %% verifiche.dtx (with options: `package') %% This is a generated file. -%% Copyright (C) 2020 by Francesco Raccanello +%% Copyright (C) 2021 by Francesco Raccanello %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either %% version 1.3 of this license or (at your option) any later @@ -15,9 +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} [2020/07/01 v2.2 .dtx verifiche file] - - +\ProvidesPackage{verifiche} [2021/02/14 v4.0 .dtx verifiche file] \RequirePackage{xparse} \RequirePackage{xkeyval} \RequirePackage{amsmath} @@ -29,7 +27,6 @@ \RequirePackage{xcolor} \RequirePackage{tikz} \RequirePackage{booktabs} -\RequirePackage{fancyhdr} \RequirePackage[normalem]{ulem} \RequirePackage{xstring} %%Forse si può cancellare questo @@ -72,6 +69,13 @@ %%counters \newcounter{exercisenumber} \newcounter{partialpoints}[exercisenumber] +%%newlenght +\newlength{\candidatenamerulerlength} +\newlength{\classrulerlength} +\newlength{\daterulerlength} +\setlength{\candidatenamerulerlength}{.35\textwidth} +\setlength{\classrulerlength}{.1\textwidth} +\setlength{\daterulerlength}{.15\textwidth} %%macro and environment %%global variable \newcommand{\institute}[1]{% @@ -85,6 +89,8 @@ \newcommand{\asyear}[2][Anno scolastico]{% \gdef\@asyearpreamble{#1}\gdef\@asyear{#2}} %%fonts and aspects +\newcommand{\headerfont}[1]{% + \sffamily\color{darkgray}#1} \newcommand{\institutefont}[1]{% \large \sffamily\color{darkgray}#1} \newcommand{\asyearfont}[1]{% @@ -97,6 +103,13 @@ \sffamily#1} \newcommand{\durationfont}[1]{% \hspace*{\fill}\@durationpreamble\space\bfseries #1\hspace*{\fill}} +\newcommand{\headercandidatenamelabel}{Nome e Cognome} +\newcommand{\headerclasslabel}{Classe} +\newcommand{\headerdatelabel}{Data} +\newcommand{\@header@candidatename}{\headercandidatenamelabel\space\underline{\hspace{\candidatenamerulerlength}}} +\newcommand{\@header@class}{\headerclasslabel\space\underline{\hspace{\classrulerlength}}} +\newcommand{\@header@date}{\headerdatelabel\space\underline{\hspace{\daterulerlength}}} +\newcommand{\@header}{\@header@candidatename\hfill\@header@class\hfill\@header@date} \newcommand{\eserciziolabel}{% Quesito} \newcommand{\solutionfont}{% @@ -105,16 +118,80 @@ $\bigstar$} \newcommand{\closedquestionitem}{% $\square$} +%%pt prefix +\newcommand{\@ptprefix}{\underline{\hspace{1cm}}/} +\newcommand{\ptprefix}[1]{% + \renewcommand{\@ptprefix}{#1}} +%%partialpt prefix +\newcommand{\@partialptprefix}{} +\newcommand{\partialptprefix}[1]{% + \renewcommand{\@partialptprefix}{#1}} +%%pt label +\newcommand{\@ptsinglabel}{pt} +\newcommand{\@ptplurlabel}{pt} +\NewDocumentCommand{\ptlabel}{o m}{% + \renewcommand{\@ptplurlabel}{#2}% + \renewcommand{\@ptsinglabel}{\IfNoValueTF{#1}{#2}{#1}}}% +\newcommand{\@useptlabel}[1]{% + \ifnum#1=1 \@ptsinglabel \else \@ptplurlabel\fi} +%%partialpt label +\newcommand{\@partialptsinglabel}{pt} +\newcommand{\@partialptplurlabel}{pt} +\NewDocumentCommand{\partialptlabel}{o m}{% + \renewcommand{\@partialptplurlabel}{#2}% + \renewcommand{\@partialptsinglabel}{\IfNoValueTF{#1}{#2}{#1}}}% +\newcommand{\@usepartialptlabel}[1]{% + \ifnum#1=1 \@partialptsinglabel \else \@partialptplurlabel\fi} +%%partialpt delimiter +\newcommand{\@lpartialpt@delimiter}{(} +\newcommand{\@rpartialpt@delimiter}{)} +\newcommand{\@definepartialptdelimiter}[2]{ + \renewcommand{\@lpartialpt@delimiter}{#1} + \renewcommand{\@rpartialpt@delimiter}{#2}} +\newcommand{\partialptdelimiters}[1]{% + \@definepartialptdelimiter#1} +%%pt delimiter +\newcommand{\@lpt@delimiter}{} +\newcommand{\@rpt@delimiter}{} +\newcommand{\@defineptdelimiter}[2]{% + \renewcommand{\@lpt@delimiter}{#1}% + \renewcommand{\@rpt@delimiter}{#2}} +\newcommand{\ptdelimiters}[1]{% + \@defineptdelimiter#1} +%% convert ref to num +\newcommand*{\convertreftonum}[1]{% + \romannumeral + \@ifundefined{r@#1}{% + \expandafter\ltx@zero + \rc@default}{% + \expandafter\expandafter\expandafter\rc@extract@ + \expandafter\expandafter\expandafter!% + \csname r@#1\expandafter\endcsname + \expandafter{\rc@default}\@nil}% +} +\def\rc@default{0}% +\long\def\rc@extract@#1#2#3\@nil{% + \ltx@zero + #2} +\chardef\ltx@zero=0% + +%%pagestyles +\newcommand{\ps@mainverifiche}{% +\renewcommand\@oddhead{\parbox{\textwidth}{\centering \institutefont{\@institute}}}% +\renewcommand\@evenhead{}% +} +\newcommand{\ps@verifiche}{% +\renewcommand\@oddhead{ +\ifodd\thepage\parbox{\textwidth}{\headerfont\@header}\fi}% +} %%print headings \newcommand{\printheading}{% - \ifinstitute\pagestyle{fancy}\fi% - {\ifinstitute\chead{\institutefont{\@institute}}\fi}% - {\ifcandidatename\vspace*{.25em}Nome e Cognome \underline{\hspace{6cm}}% - \hfill Classe \underline{\hspace{1.5cm}} \hfill Data \underline{\hspace{2.5cm}}\\[1em]\fi}% - {\ifasyear \asyearfont{\@asyearpreamble\space\@asyear}\fi}% - {\iftesttype\testtypefont{\@testtype}\fi}\\% - {\ifinstruction\instructiondelimiter\\{\instrunctionfont{\@instruction}}\\% - \ifduration{\durationfont\@duration\\}\fi\instructiondelimiter\fi}% + {\ifdefined\@institute\ifinstitute\thispagestyle{mainverifiche}\fi\else\thispagestyle{plain}\fi}% + {\ifcandidatename\@header\\[1em]\fi}% + {\ifdefined\@asyear\ifasyear \asyearfont{\@asyearpreamble\space\@asyear}\fi\fi}% + {\ifdefined\@testtype\iftesttype\testtypefont{\@testtype}\fi\fi}\\% + {\ifdefined\@instruction\ifinstruction\instructiondelimiter\\{\instrunctionfont{\@instruction}}\\% + \ifdefined\@duration\ifduration{\durationfont\@duration\\}\fi\fi\instructiondelimiter\fi\fi}% } %%ambiente esercizio @@ -125,10 +202,11 @@ \showmarginexercisetrue}% \define@key{esercizio}{pt}[none]{ \def\pointes{#1}% - \def\espoint{\hfill\underline{\hspace{1cm}}/\pointes pt}% + \def\espoint{\hfill\@ptprefix\@lpt@delimiter\pointes\space\@useptlabel{\pointes}\@rpt@delimiter} \showmarginexercisetrue}% \define@key{esercizio}{partialpt}[none]{% - \def\sumpartialpt{\underline{\hspace{1cm}}/\ref{ptes@\theexercisenumber} pt}% + \def\@totalpartialpt{\convertreftonum{ptes@\theexercisenumber}}% + \def\sumpartialpt{\@ptprefix\@lpt@delimiter\@totalpartialpt\space\@useptlabel{\@totalpartialpt}\@rpt@delimiter}% \showmarginexercisetrue}% \newcommand{\exercisetitle}{% \ifdefined\tempeserciziolabel\tempeserciziolabel% @@ -179,8 +257,9 @@ \savepointsaux%print partial pt sum }% \NewDocumentCommand{\partialpt}{m}{% - \leavevmode\reversemarginpar\marginpar{\hfill(#1 pt)\addtocounter{partialpoints}{#1}}% -} + \leavevmode\reversemarginpar\marginpar{% + \hfill\@partialptprefix\@lpartialpt@delimiter#1\space\@usepartialptlabel{#1}\@rpartialpt@delimiter% + \addtocounter{partialpoints}{#1}}}% \NewDocumentEnvironment{soluzione}{+b}{% \ifsol% \par\addvspace{\baselineskip}% |