texlive[44758] Master/texmf-dist: esami (6jul17)

commits+karl at tug.org commits+karl at tug.org
Thu Jul 6 23:26:59 CEST 2017


Revision: 44758
          http://tug.org/svn/texlive?view=revision&revision=44758
Author:   karl
Date:     2017-07-06 23:26:59 +0200 (Thu, 06 Jul 2017)
Log Message:
-----------
esami (6jul17)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/esami/README
    trunk/Master/texmf-dist/doc/latex/esami/VERSION
    trunk/Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.pdf
    trunk/Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.tex
    trunk/Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.pdf
    trunk/Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.tex
    trunk/Master/texmf-dist/doc/latex/esami/doc/examples/test1.tex
    trunk/Master/texmf-dist/doc/latex/esami/doc/examples/test14.tex
    trunk/Master/texmf-dist/doc/latex/esami/doc/examples/test2.tex
    trunk/Master/texmf-dist/doc/latex/esami/doc/examples/testA-sol.pdf
    trunk/Master/texmf-dist/doc/latex/esami/doc/examples/testA-sol.tex
    trunk/Master/texmf-dist/doc/latex/esami/doc/examples/testA.pdf
    trunk/Master/texmf-dist/doc/latex/esami/doc/examples/testA.tex
    trunk/Master/texmf-dist/doc/latex/esami/esami-xyz.cfg
    trunk/Master/texmf-dist/tex/latex/esami/es-UKenglish.lng
    trunk/Master/texmf-dist/tex/latex/esami/es-french.lng
    trunk/Master/texmf-dist/tex/latex/esami/esami.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/esami/doc/examples/aperto1.tex
    trunk/Master/texmf-dist/doc/latex/esami/doc/examples/testA.sol.tex

Modified: trunk/Master/texmf-dist/doc/latex/esami/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/esami/README	2017-07-06 21:26:45 UTC (rev 44757)
+++ trunk/Master/texmf-dist/doc/latex/esami/README	2017-07-06 21:26:59 UTC (rev 44758)
@@ -1,6 +1,6 @@
-The esami package v. 2.1
+The esami package v. 2.2
           For generation of texts and solutions  of exams in LaTeX
-2016/07/25 
+2017/07/01
 
 File:       README
 Author:    Grazia Messineo and Salvatore Vassallo
@@ -14,7 +14,7 @@
 of each group are randomly scrambled across the exam and variants of each exercise are chosen
 randomly from a file which contains them all and.
 
-Copyright:  (C) 2008--2016 Grazia Messineo & Salvatore Vassallo
+Copyright:  (C) 2008--2017 Grazia Messineo & Salvatore Vassallo
 Licence:    LPPL
 
 FILES IN DISTRIBUTION
@@ -50,7 +50,7 @@
 		test4.tex
 		test5-fillin.tex
 		test9.tex
-        test11.tex
+                test11.tex
 		test12.tex
 		test13.tex
 		test14.tex
@@ -57,14 +57,14 @@
 		
     Exercises with open answers
         problem1.tex
-		problem2.tex
+	problem2.tex
         problem2-tabella.tex
         problem3-matching.tex
         problem4-fillin.tex
 
     Examples of an exam (and solutions) built using above exercises  using pdflatex, xelatex and lualatex
-        testA.pdf
-        testA.tex
+                testA.pdf
+                testA.tex
 		testA-luatex-sol.pdf
 		testA-luatex.pdf
 		testA-sol.pdf
@@ -93,4 +93,4 @@
          README
          doc-esami-en.pdf  User manual in English
          doc-esami-it.pdf  User manual in Italian
-         doc-esami-*.tex   Sources for documentation 
\ No newline at end of file
+         doc-esami-*.tex   Sources for documentation 

Modified: trunk/Master/texmf-dist/doc/latex/esami/VERSION
===================================================================
--- trunk/Master/texmf-dist/doc/latex/esami/VERSION	2017-07-06 21:26:45 UTC (rev 44757)
+++ trunk/Master/texmf-dist/doc/latex/esami/VERSION	2017-07-06 21:26:59 UTC (rev 44758)
@@ -1 +1 @@
-VERSION 2.1 DATE=July 25, 2016
+VERSION 2.2 DATE=July 01, 2017

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

Modified: trunk/Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.tex	2017-07-06 21:26:45 UTC (rev 44757)
+++ trunk/Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.tex	2017-07-06 21:26:59 UTC (rev 44758)
@@ -74,7 +74,7 @@
 \changes{Version 1.1}{2013/12/09}{Inserted the dependance on the package \texttt{environ} to remove some errors in the \LaTeX\ compilation. Removed the dependance on the package \texttt{icomma} in the italian localization file es-italian.lng because of the introduction of new features in the package \texttt{babel} for the Italian language (macro \texttt{IntelligentComma}).}
 \changes{Version 2.0}{2015/02/25}{Eliminated the dependance on \texttt{pstricks}. Modified the use of \emph{fill-in} questions. Inserted the possibility to extract more than one variant from a file. Now it is possible to view the solutions in tests. Modified the visualization of decimal places in command  \texttt{FPsv}. Modified the definition of \texttt{FPval} to allow the use of decimal places. Modified the algorithm of choice of a variant of an exercise, now completely deterministic. Added the command \texttt{Acapo}. Added the serbian localization (latin alphabet). The compilation produces a new file with the list of the chosen exercises.}
 \changes{Versione 2.1}{2016/07/25}{Modified \texttt{es-german.lng} and \texttt{es-spanish.lng} for an error  in the input of the solutions. The command \texttt{randestrai} has been introduced. The command \texttt{FPsignpol} has been introduced. The control on the total points of the exercises has been introduced.  Removed the incompatibility between the command  \texttt{fillin} and the commands  \texttt{sempli} and \texttt{semplix}.}
-
+\changes{Version 2.2}{2017/07/01}{Introduced the possibility to have two different seeds for the choice of exercises (\cmd{\semeex}) and for the permutations and choice of the parameters (\cmd{\seme}): by default, they are equal. Slightly modified the command \cmd{\estrai} so that it is possible to use it to extract parameters from a list. Documentation integrated.}
 %\IndexPrologue{\section*{Index} Numbers written in italic refer to the page where the item is described; underlined numebers refer to the line of code in which the item is described; other references are to the line of code where the item is used.}
 \GlossaryPrologue{\section*{Changelog}}
 \def\MacroFont{\fontencoding\encodingdefault
@@ -83,8 +83,8 @@
 \fontshape\updefault
 \footnotesize}
 \GetFileInfo{esami.sty}
-\def\fileversion{version 2.1}
-\def\filedate{2016/07/1}
+\def\fileversion{version 2.2}
+\def\filedate{2017/07/1}
 
 
  \title{Package esami\thanks{This document
@@ -165,6 +165,7 @@
 generates the seed for the randomization process and assigns it also to \cmd{\randomi}.
 
 \textcolor[rgb]{1.00,0.00,0.00}{\textbf{N.B.} If the seed is a number smaller than 1, it is initialized using date and hour, so two compilations will give different outputs.}
+ \nuovo{vers. 2.2} It is now possible to define in a different way the seed for permutations (\cmd{\seme}) and the one for the choice of the exercises (\cmd{\semeex}): the need arises from the request to be able to choose for each exam the same exercises for all the students (\cmd{\semeex} depends only on the date), but also to be able to permute them in each version.
 \begin{verbatim}
 \permuta
 \testa
@@ -171,6 +172,7 @@
 \istruzionii
 \end{verbatim}
  \cmd{\testa}, \cmd{\istruzionii} are defined in the configuration file and contain the instructions for the heading and the instructions for the exam, while the macro \cmd{\permuta} allows the randomization of exercises order.
+
 \begin{verbatim}
 \begin{test}[points]
 \begin{questions}
@@ -199,7 +201,7 @@
 
 \nuovo{vers. 2.1} At the end of the solutions file there is the string of the correct answers for multiple choice questions: as a default behaviour this string is, for each version, included in a \envname{minipage} environment. If this choice is not suitable for our purposes (i. e. if we have 40 multiple choice questions and the answers cannot be contained in a page) it is possibile to modify it adapting the macros \cmd{\stepverssols} and \cmd{\closeverssols}: in the example cfg file there are (commented) the definitions to have a continuous string of correct answers.   		
 	  		
-During the compilation, we have introduced a control that checks if the number of points marked for a test or an exercises divided in parts is equal to the sum of the partial points. \nuovo{vers. 2.1}
+During the compilation, we have introduced a control that checks if the number of points marked for a test or an exercises divided in parts is equal to the sum of the partial points. This possibility can be excluded by commenting in the configuration file the definition of the command \cmd{\checkpoints}. \nuovo{vers. 2.1}
 
 \section{Package options}\label{sec:opzioni}
 The package can be loaded with the usual command
@@ -451,6 +453,8 @@
 The optional parameter \meta{type} defines the way in which the blank space is denoted: \texttt{u} (\emph{underlined}), the default, produces an underlined space,  \texttt{b} (\emph{boxed}) produces a little box , \texttt{e} (\emph{empty}) produces an empty space.
 %In the blank space it is not possible to use the commands \cmd{\sempli} or \cmd{\semplix} (see Section \ref{sec:comandi}).
 
+If the answer contains mathematical expressions, it must be written between \$\ even if the command \cmd{\fillin} is already contained in a mathematical environment.
+
 This kind of exercise cannot be used, at the moment, with \Hologo{XeLaTeX} or \Hologo{LuaLaTeX}.
 \paragraph{domanda:}\DescribeEnv{domanda} (the word ``domanda'' means ``question'' in Italian)
 this environment must contain the text of the exercise (not the solution). It is  used in  \envname{problem} and \envname{problem*} and with the package option  \optname{solutionsonly} only the solution of the exercise is printed and not the text. In previous versions of this package (not released to CTAN) there was another environment in order  to obtain this.
@@ -595,7 +599,7 @@
 You can work on the parameters defined with this command as on numbers and we have defined commands which allow to work on them showing both the numerical result and the operations in a parametric form.
 
 \begin{itemize}
-  \item {\color{blue}{\cmd{\FPsv}\oarg{decimal}\marg{operation}}}:\DescribeMacro{\FPsv}\ it is used to do operations (on numbers or parameters) obtaining or the numeric value with \meta{decimal} decimal places (by default 0 decimal places), eliminating the useless zeroes or, with the option \optname{param} in the package,  the typesetting of the operation (if you choose the option \optname{param} in the package \pkgname{esami}).
+  \item {\color{blue}{\cmd{\FPsv}\oarg{decimal places}\marg{operation}}}:\DescribeMacro{\FPsv}\ it is used to do operations (on numbers or parameters) obtaining or the numeric value with \meta{decimal} decimal places (by default 0 decimal places), eliminating the useless zeroes or, with the option \optname{param} in the package,  the typesetting of the operation (if you choose the option \optname{param} in the package \pkgname{esami}).
 
 \begin{esempio}
  \begin{center}
@@ -631,9 +635,9 @@
 \item Attention must be paid to the fact that the package \pkgname{fp} cannot handle powers with a negative basis.
 \end{itemize}
 
-  \item {\color{blue}{\cmd{\FPval}\marg{name}\marg{operation}}}:\DescribeMacro{\FPval}\
+  \item {\color{blue}{\cmd{\FPval}\marg{name}\oarg{decimal places}\marg{parameter/operation on parameters}}}:\DescribeMacro{\FPval}\
   it assigns to \marg{nome} the rounded value of the operation (it is the command \cmd{\FPeval} from \pkgname{fp}, modified) or it prints the operation if you choose the option \optname{param} in the package \pkgname{esami}, as
-  with \cmd{\FPsv}. The result is given with the chosen number of decimal places, eliminating the useless zeroes.
+  with \cmd{\FPsv}. The result is given with the chosen number of decimal places, eliminating the useless zeroes.\nuovo{vers. 2.0}
 \begin{esempio}
 Let $k=2$. The code
   \begin{verbatim}
@@ -778,6 +782,7 @@
   \item[Version 1.1 (2013/12/09)] Inserted the dependance on the package \texttt{environ} to remove some errors in the \LaTeX\ compilation. Removed the dependance on the package \texttt{icomma} in the italian localization file es-italian.lng because of the introduction of new features in the package \texttt{babel} for the Italian langaguage (macro \texttt{IntelligentComma}).
   \item[Version 2.0 (2015/02/25)] Eliminated the dependance on \pkgname{pstricks}. Modified the use of \emph{fill-in} questions. Inserted the possibility to extract more than one variant from a file. Now it is possible to view the solutions in tests. Modified the visualization of decimal places in command  \cmd{\FPsv}. Modified the definition of \cmd{\FPval} to allow the use of decimal places. Modified the algorithm of choice of a variant of an exercise, now completely deterministic. Added the command \cmd{\Acapo}. Added the serbian localization (latin alphabet).  The compilation produces a new file with the list of the chosen exercises.
    \item[Versione 2.1 (2016/07/25)] Modified \texttt{es-german.lng} and \texttt{es-spanish.lng} for an error in the input of the solutions. Introduced the macro \texttt{randestrai}. Introduced the macro \texttt{FPsignpol}. Introduced a control on the total points of the exercises. Solved the incompatibility with \pkgname{babel} for the Spanish language. Removed the incompatibility between the command  \cmd{\fillin} and the commands  \cmd{\sempli} and \cmd{\semplix}.
+    \item[Version 2.2 (2017/07/01)]Introduced the possibility to have two different seeds for the choice of exercises (\cmd{\semeex}) and for the permutations and choice of the parameters (\cmd{\seme}): by default, they are equal. Slightly modified the command \cmd{\estrai} so that it is possible to use it to extract parameters from a list. Documentation integrated.
 \end{description}
 
 \bibliographystyle{plain}
@@ -784,4 +789,3 @@
 \bibliography{esami}
 
 \end{document}
-

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

Modified: trunk/Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.tex	2017-07-06 21:26:45 UTC (rev 44757)
+++ trunk/Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.tex	2017-07-06 21:26:59 UTC (rev 44758)
@@ -73,6 +73,7 @@
 \changes{Versione 1.1}{2013/12/09}{Reinserita la dipendenza dal pacchetto \texttt{environ} per eliminare alcuni errori nella compilazione con \hologo{LaTeX}. Eliminata la dipendenza dal pacchetto \texttt{icomma} nel file di localizzazione es-italian.lng a seguito dell'introduzione di nuove funzionalità nel pacchetto \texttt{babel} per la lingua italiana (comando \texttt{IntelligentComma}).}
 \changes{Versione 2.0}{2015/02/25}{Eliminata la dipendenza da \texttt{pstricks}. Modificato l'inserimento di domande di tipo \emph{fill-in}. Inserita la possibilità di estrarre più esercizi da un solo file. Ora è possibile visualizzare le soluzioni nei test. Modificata la visualizzazione dei decimali nel comando \texttt{FPsv}. Modificata la definizione di \texttt{FPval} in modo da avere cifre decimali. Modificato l'algoritmo di scelta della variante di un esercizio in modo completamente deterministico. Aggiunto il comando \cmd{\Acapo}. Aggiunta la localizzazione serba (alfabeto latino). Ora la compilazione produce un nuovo file con la lista degli esercizi scelti.}
 \changes{Versione 2.1}{2016/04/11}{Modificato \texttt{es-german.lng} e \texttt{es-spanish.lng} per errore nell'input delle soluzioni. Introdotto il comando \texttt{randestrai}. Introdotto il comando \texttt{FPsignpol}. Introdotto controllo punteggio totale degli esercizi. Rimossa l'incompatibilità tra il comando  \texttt{fillin} e i comandi  \texttt{sempli} e  \texttt{semplix}.}
+\changes{Versione 2.2}{2017/07/01}{Introdotta la possibilità di avere due semi diversi per la scelta degli esercizi (\cmd{\semeex}) e per le permutazioni e scelta dei parametri (\cmd{\seme}): di default sono uguali. Leggermente modificato il comando \cmd{\estrai} così da poter essere usato per estrarre parametri numerici da una lista. Integrata la documentazione.}
 %\IndexPrologue{\section*{Indice} I numeri scritti in italico rimandano alla pagina dove è descritto l'item; i numeri sottolineati rimandano alla riga di codice in cui l'item è descritto; le altre referenze sono alla riga di codice dove l'item è usato.}
 \GlossaryPrologue{\section*{Changelog}}
 \def\MacroFont{\fontencoding\encodingdefault
@@ -81,8 +82,8 @@
 \fontshape\updefault
 \footnotesize}
 \GetFileInfo{esami.sty}
-\def\fileversion{versione 2.1}
-\def\filedate{2016/07/1}
+\def\fileversion{versione 2.2}
+\def\filedate{2017/07/1}
 
 
  \title{Il pacchetto esami\thanks{Questo documento
@@ -157,9 +158,11 @@
 inizia la routine di compilazione delle varianti che terminerà alla fine del documento.
 \begin{verbatim}
 \FPeval\seme{round((\thenomefile+\thevers):0)}
+%\FPeval\semeex{round(\thenomefile+1-trunc(\thenomefile/(2^31-1):0)*(2^31-1):0)}
 \randomi=\seme
 \end{verbatim}
 genera il seme per i processi di randomizzazione e lo assegna anche a \cmd{\randomi}. \textcolor[rgb]{1.00,0.00,0.00}{\textbf{N.B.} Se il seme è un numero minore di 1, il seme viene inizializzato usando la data e l'ora e quindi due compilazioni daranno esiti diversi.}
+\nuovo{vers. 2.2} È possibile ora definire in modo diverso il seme per le permutazioni (\cmd{\seme}) e quello per la scelta degli esercizi (\cmd{\semeex}): l'esigenza è nata dalla richiesta di poter scegliere per ogni compito gli stessi esercizi per tutti gli studenti (\cmd{\semeex} dipende  solo dalla data), ma di poterli permutare in ogni versione.
 \begin{verbatim}
 \permuta
 \testa
@@ -193,7 +196,7 @@
 
 \nuovo{vers. 2.1} Al termine del file delle soluzioni vi è la stringa delle soluzioni delle domande a risposta chiusa: di default tale stringa è per ogni versione inserita in un ambiente \envname{minipage}. Se tale formattazione non fosse adatta ai propri scopi (ad esempio se si hanno 40 domande a risposta chiusa le cui risposte non stanno in una pagina) è possibile modificarla adattando i comandi \cmd{\stepverssols} e \cmd{\closeverssols}: nel file di configurazione di esempio sono presenti, commentate, le definizioni per avere una stringa di soluzioni continua.
 
-Durante la compilazione viene controllato che il numero di punti indicato per un test o un esercizio in più parti sia uguale alla somma dei punteggi parziali. \nuovo{vers. 2.1}
+Durante la compilazione viene controllato che il numero di punti indicato per un test o un esercizio in più parti sia uguale alla somma dei punteggi parziali. \nuovo{vers. 2.1} Tale possibilità può essere esclusa commentando nel file di configurazione la definizione del comando \cmd{\checkpoints}.
 
 \section{Le opzioni del pacchetto}\label{sec:opzioni}
 Per usare il pacchetto bisogna usare il solito comando
@@ -465,6 +468,8 @@
 
 Il parametro opzionale definisce come deve essere segnalato lo spazio in cui inserire la risposta: \emph{u} (\emph{underlined}), che è l'opzione di default, fa sì che lo spazio sia evidenziato mediante una riga su cui va inserita la risposta, \emph{e} (\emph{empty}) crea uno spazio vuoto (non evidenziato in alcun modo), \emph{b} (\emph{boxed}) crea uno spazio circondato da un riquadro.
 
+Se la risposta contiene espressioni matematiche, deve essere inserita esplicitamente tra \$\ anche se il comando \cmd{\fillin} è già contenuto in un ambiente matematico.
+
 %All'interno del comando \cmd{\fillin} (nello spazio per la risposta) non è possibile usare i comandi \cmd{\sempli} o \cmd{\semplix} (si veda la sezione \ref{sec:comandi}).
 
 Questo tipo di esercizio non può al momento essere usato né con \Hologo{XeLaTeX} né con \Hologo{LuaLaTeX}
@@ -523,6 +528,7 @@
   \end{tabella}
 \end{verbatim}
 Il primo parametro (il cui valore di default è 2) indica il numero di colonne della tabella il cui contenuto deve essere visibile anche nel testo dell'esercizio (e non solo nella soluzione), mentre è possibile avere solo una colonna il cui contenuto è invisibile nel testo, ma appare nella soluzione. Il secondo parametro consente di scegliere l'allineamento delle colonne il cui contenuto è sempre visibile e il terzo l'allineamento della colonna invisibile.
+Come per le domande a risposta chiusa, le risposte che contengono il carattere di tabulazione \&\ devono essere racchiuse tra parentesi graffe.
 
 Questo tipo di esercizio  funziona con \Hologo{XeLaTeX}, ma non con \Hologo{LuaLaTeX}.
 \begin{esempio}
@@ -778,6 +784,7 @@
   \item[Versione 1.1 (2013/12/09)] Reinserita la dipendenza dal pacchetto \pkgname{environ} per eliminare alcuni errori nella compilazione con \Hologo{LaTeX}. Eliminata la dipendenza dal pacchetto \pkgname{icomma} nel file di localizzazione es-italian.lng a seguito dell'introduzione di nuove funzionalità nel pacchetto \pkgname{babel} per la lingua italiana (comando \cmd{\IntelligentComma}).
   \item[Versione 2.0 (2015/02/25)] Eliminata la dipendenza da \pkgname{pstricks}. Modificato l'inserimento di domande di tipo \emph{fill-in}. Inserita la possibilità di estrarre più esercizi da un solo file. Ora è possibile visualizzare le risposte nei test. Modificata la visualizzazione dei decimali nel comando \cmd{\FPsv}. Modificata la definizione di \cmd{\FPval} in modo da avere cifre decimali. Modificato l'algoritmo di scelta della variante di un esercizio in modo completamente deterministico. Aggiunto il comando \cmd{\Acapo}. Aggiunta la localizzazione serba (alfabeto latino). Ora la compilazione produce un nuovo file con la lista degli esercizi scelti.
   \item[Versione 2.1 (2016/07/25)] Modificato \texttt{es-german.lng} e \texttt{es-spanish.lng} per errore nell'input delle soluzioni. Introdotto il comando \texttt{randestrai}. Introdotto il comando \texttt{FPsignpol}. Introdotto controllo punteggio totale degli esercizi. Risolta l'incompatibilità con \pkgname{babel} per la lingua spagnola.  Rimossa l'incompatibilità tra il comando  \cmd{\fillin} e i comandi  \cmd{\sempli} e  \cmd{\semplix}.
+  \item[Versione 2.2 (2017/07/01)] {Introdotta la possibilità di avere due semi diversi per la scelta degli esercizi (\cmd{\semeex}) e per le permutazioni e scelta dei parametri (\cmd{\seme}): di default sono uguali. Leggermente modificato il comando \cmd{\estrai} così da poter essere usato per estrarre parametri numerici da una lista. Integrata la documentazione.}
 \end{description}
 
 

Added: trunk/Master/texmf-dist/doc/latex/esami/doc/examples/aperto1.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/esami/doc/examples/aperto1.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/esami/doc/examples/aperto1.tex	2017-07-06 21:26:59 UTC (rev 44758)
@@ -0,0 +1 @@
+\defitem{\gdef\problabel{e:10-file:problem1} \gdef\probnumber{q:i} }


Property changes on: trunk/Master/texmf-dist/doc/latex/esami/doc/examples/aperto1.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/esami/doc/examples/test1.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/esami/doc/examples/test1.tex	2017-07-06 21:26:45 UTC (rev 44757)
+++ trunk/Master/texmf-dist/doc/latex/esami/doc/examples/test1.tex	2017-07-06 21:26:59 UTC (rev 44758)
@@ -1,12 +1,13 @@
 \newproblem{
-\FPsetpar{a}{2}{5}
-\item \PTs{1} exercise 1a $a=\a$
+%\FPsetpar{a}{2}{5}
+\estrai[2]{2,3,7}{a}
+\item \PTs{1} exercise 1a $a=\ai$
   \begin{answers}{1}\bChoices[random]
     \Ans1 answer 1 correct\eAns
     \Ans0 answer 2 wrong\eAns
     \Ans0 answer 3 wrong\eAns
     \eChoices\end{answers}}
-    
+
 \newproblem{
 \FPsetpar{a}{2}{5}
 \item \PTs{1} exercise 1b $a=\a$

Modified: trunk/Master/texmf-dist/doc/latex/esami/doc/examples/test14.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/esami/doc/examples/test14.tex	2017-07-06 21:26:45 UTC (rev 44757)
+++ trunk/Master/texmf-dist/doc/latex/esami/doc/examples/test14.tex	2017-07-06 21:26:59 UTC (rev 44758)
@@ -83,4 +83,177 @@
     \eChoices\end{answers}\begin{solution}
       This is the solution $a=\a$, $b=\b$, $c=\c$
     \end{solution}}
+    
+    
+    \newproblem{
+\FPsetpar{a}{2}{5}
+\FPsetpar{b}{2}{5}
+\FPsetpar{c}{2}{8}
 
+\item \PTs{1} exercise 14f $a=\a$, $b=\b$, $c=\c$
+  \begin{answers}{1}\bChoices[random]
+    \Ans1 answer 1 correct\eAns
+    \Ans0 answer 2 wrong\eAns
+    \Ans0 answer 3 wrong\eAns
+    \Ans0 answer 4 wrong\eAns
+    \Ans0 answer 5 wrong \eAns
+    \eChoices\end{answers}
+    \begin{solution}
+      This is the solution $a=\a$, $b=\b$, $c=\c$
+    \end{solution}}
+
+\newproblem{
+\FPsetpar{a}{2}{5}
+\FPsetpar{b}{2}{5}
+\FPsetpar{c}{2}{8}
+
+\item \PTs{1} exercise 14g $a=\a$, $b=\b$, $c=\c$
+  \begin{answers}{1}\bChoices[random]
+    \Ans1 answer 1 correct\eAns
+    \Ans0 answer 2 wrong\eAns
+    \Ans0 answer 3 wrong\eAns
+    \Ans0 answer 4 wrong\eAns
+    \Ans0 answer 5 wrong \eAns
+    \eChoices\end{answers}\begin{solution}
+      This is the solution $a=\a$, $b=\b$, $c=\c$
+    \end{solution}}
+
+
+
+\newproblem{
+\FPsetpar{a}{2}{5}
+\FPsetpar{b}{2}{5}
+\FPsetpar{c}{2}{8}
+
+\item \PTs{1} exercise 14h $a=\a$, $b=\b$, $c=\c$
+  \begin{answers}{1}\bChoices[random]
+    \Ans1 answer 1 correct\eAns
+    \Ans0 answer 2 wrong\eAns
+    \Ans0 answer 3 wrong\eAns
+    \Ans0 answer 4 wrong\eAns
+    \Ans0 answer 5 wrong \eAns
+    \eChoices\end{answers}\begin{solution}
+      This is the solution $a=\a$, $b=\b$, $c=\c$
+    \end{solution}}
+
+
+
+\newproblem{
+\FPsetpar{a}{2}{5}
+\FPsetpar{b}{2}{5}
+\FPsetpar{c}{2}{8}
+
+\item \PTs{1} exercise 14k $a=\a$, $b=\b$, $c=\c$
+  \begin{answers}{1}\bChoices[random]
+    \Ans1 answer 1 correct\eAns
+    \Ans0 answer 2 wrong\eAns
+    \Ans0 answer 3 wrong\eAns
+    \Ans0 answer 4 wrong\eAns
+    \Ans0 answer 5 wrong \eAns
+    \eChoices\end{answers}\begin{solution}
+      This is the solution $a=\a$, $b=\b$, $c=\c$
+    \end{solution}}
+
+
+\newproblem{
+\FPsetpar{a}{2}{5}
+\FPsetpar{b}{2}{5}
+\FPsetpar{c}{2}{8}
+
+\item \PTs{1} exercise 14i $a=\a$, $b=\b$, $c=\c$
+  \begin{answers}{1}\bChoices[random]
+    \Ans1 answer 1 correct\eAns
+    \Ans0 answer 2 wrong\eAns
+    \Ans0 answer 3 wrong\eAns
+    \Ans0 answer 4 wrong\eAns
+    \Ans0 answer 5 wrong \eAns
+    \eChoices\end{answers}\begin{solution}
+      This is the solution $a=\a$, $b=\b$, $c=\c$
+    \end{solution}}
+
+
+\newproblem{
+\FPsetpar{a}{2}{5}
+\FPsetpar{b}{2}{5}
+\FPsetpar{c}{2}{8}
+
+\item \PTs{1} exercise 14j $a=\a$, $b=\b$, $c=\c$
+  \begin{answers}{1}\bChoices[random]
+    \Ans1 answer 1 correct\eAns
+    \Ans0 answer 2 wrong\eAns
+    \Ans0 answer 3 wrong\eAns
+    \Ans0 answer 4 wrong\eAns
+    \Ans0 answer 5 wrong \eAns
+    \eChoices\end{answers}
+    \begin{solution}
+      This is the solution $a=\a$, $b=\b$, $c=\c$
+    \end{solution}}
+
+\newproblem{
+\FPsetpar{a}{2}{5}
+\FPsetpar{b}{2}{5}
+\FPsetpar{c}{2}{8}
+
+\item \PTs{1} exercise 14l $a=\a$, $b=\b$, $c=\c$
+  \begin{answers}{1}\bChoices[random]
+    \Ans1 answer 1 correct\eAns
+    \Ans0 answer 2 wrong\eAns
+    \Ans0 answer 3 wrong\eAns
+    \Ans0 answer 4 wrong\eAns
+    \Ans0 answer 5 wrong \eAns
+    \eChoices\end{answers}\begin{solution}
+      This is the solution $a=\a$, $b=\b$, $c=\c$
+    \end{solution}}
+
+
+
+\newproblem{
+\FPsetpar{a}{2}{5}
+\FPsetpar{b}{2}{5}
+\FPsetpar{c}{2}{8}
+
+\item \PTs{1} exercise 14m $a=\a$, $b=\b$, $c=\c$
+  \begin{answers}{1}\bChoices[random]
+    \Ans1 answer 1 correct\eAns
+    \Ans0 answer 2 wrong\eAns
+    \Ans0 answer 3 wrong\eAns
+    \Ans0 answer 4 wrong\eAns
+    \Ans0 answer 5 wrong \eAns
+    \eChoices\end{answers}\begin{solution}
+      This is the solution $a=\a$, $b=\b$, $c=\c$
+    \end{solution}}
+
+
+
+\newproblem{
+\FPsetpar{a}{2}{5}
+\FPsetpar{b}{2}{5}
+\FPsetpar{c}{2}{8}
+
+\item \PTs{1} exercise 14n $a=\a$, $b=\b$, $c=\c$
+  \begin{answers}{1}\bChoices[random]
+    \Ans1 answer 1 correct\eAns
+    \Ans0 answer 2 wrong\eAns
+    \Ans0 answer 3 wrong\eAns
+    \Ans0 answer 4 wrong\eAns
+    \Ans0 answer 5 wrong \eAns
+    \eChoices\end{answers}\begin{solution}
+      This is the solution $a=\a$, $b=\b$, $c=\c$
+    \end{solution}}
+
+
+\newproblem{
+\FPsetpar{a}{2}{5}
+\FPsetpar{b}{2}{5}
+\FPsetpar{c}{2}{8}
+
+\item \PTs{1} exercise 14o $a=\a$, $b=\b$, $c=\c$
+  \begin{answers}{1}\bChoices[random]
+    \Ans1 answer 1 correct\eAns
+    \Ans0 answer 2 wrong\eAns
+    \Ans0 answer 3 wrong\eAns
+    \Ans0 answer 4 wrong\eAns
+    \Ans0 answer 5 wrong \eAns
+    \eChoices\end{answers}\begin{solution}
+      This is the solution $a=\a$, $b=\b$, $c=\c$
+    \end{solution}}

Modified: trunk/Master/texmf-dist/doc/latex/esami/doc/examples/test2.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/esami/doc/examples/test2.tex	2017-07-06 21:26:45 UTC (rev 44757)
+++ trunk/Master/texmf-dist/doc/latex/esami/doc/examples/test2.tex	2017-07-06 21:26:59 UTC (rev 44758)
@@ -4,6 +4,9 @@
 \FPsetpar{c}{2}{8}
 
 \item \PTs{1} exercise 2a $a=\a$, $b=\b$, $c=\c$
+seme=\seme
+
+semeex=\semeex
   \begin{answers}{1}\bChoices[random]
     \Ans1 answer 1 correct\eAns
     \Ans0 answer 2 wrong\eAns
@@ -18,6 +21,10 @@
 \FPsetpar{c}{2}{8}
 
 \item \PTs{1} exercise 2b $a=\a$, $b=\b$, $c=\c$
+
+seme=\seme
+
+semeex=\semeex
   \begin{answers}{1}\bChoices[random]
     \Ans1 answer 1 correct\eAns
     \Ans0 answer 2 wrong\eAns
@@ -33,6 +40,10 @@
 \FPsetpar{c}{2}{8}
 
 \item \PTs{1} exercise 2c $a=\a$, $b=\b$, $c=\c$
+
+seme=\seme
+
+semeex=\semeex
   \begin{answers}{1}\bChoices[random]
     \Ans1 answer 1 correct\eAns
     \Ans0 answer 2 wrong\eAns

Modified: trunk/Master/texmf-dist/doc/latex/esami/doc/examples/testA-sol.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/esami/doc/examples/testA-sol.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/esami/doc/examples/testA-sol.tex	2017-07-06 21:26:45 UTC (rev 44757)
+++ trunk/Master/texmf-dist/doc/latex/esami/doc/examples/testA-sol.tex	2017-07-06 21:26:59 UTC (rev 44758)
@@ -1,6 +1,8 @@
-\documentclass[a4paper,english]{article}
+\documentclass[a4paper,italian]{article}
+\usepackage{ifxetex}%%NUOVO
+\usepackage{ifluatex}%%%NUOVO
 
-\usepackage[shuffle,xyz,pointsonright,solutions,quizsolutions,twocolumns]{esami}%%%%% TEMA
+%\usepackage[shuffle,xyz,pointsonright,nosolutions,noquizsolutions,twocolumns]{esami}%%%%% TEMA
 \ifluatex
         \usepackage{luatextra} % also loads fixltx2e, fontspec, xunicode
         \usepackage{unicode-math}
@@ -17,17 +19,20 @@
         \usepackage[utf8]{inputenc}
         \usepackage{lmodern,textcomp}
 \fi\fi
-\usepackage{enumitem}
+\usepackage[shuffle,xyz,pointsonright,solutions,quizsolutions,twocolumns]{esami}%%%%% TEMA
+
 % +=============================+
 % |         DEFINITIONS         |
 % +=============================+
 
 \def\examname{The name of the exam}
-\def\numcompiti{10}%%% The number of the versions
-\date{2014/07/22}%%% THE DATE IN THE FORMAT AAAA/M/D THE DATE IN THE FORMAT YYYY/M/D or D/M/YYYY
+\def\numcompiti{4}%%% The number of the versions
+\date{2014/07/22}%%% THE DATE IN THE FORMAT YYYY/M/D or D/M/YYYY
 \def\Data{\longdate}%%% or \shortdate: the date in the heading
-%\def\cartella{d:/folder}%%% The folder where are the exercises: by default the current folder%
+%\def\cartella{pop}%%% The folder where are the exercises: by default the current folder%
 %\def\Acapo{\newpage}
+\usepackage{babel}
+
 \begin{document}
 \testversioni
 \pagestyle{esame}
@@ -37,9 +42,9 @@
 % |       THE SEED              |
 % +=============================+
 
-\FPeval\seme{round((\thenomefile+(3*\thevers)):0)}
+%\FPeval\seme{round((\thenomefile+(3*\thevers)):0)}
 %%% OR SOME OTHER LIKE
-%\FPeval\seme{round(\thenomefile*(\thevers)+1-trunc(\thenomefile*(\thevers)/(2^31-1):0)*(2^31-1):0)}
+\FPeval\seme{round(\thenomefile*(\thevers)+1-trunc(\thenomefile*(\thevers)/(2^31-1):0)*(2^31-1):0)}
 %\FPeval\seme{round(1+abs(\thenomefile/(\thevers)+sin(\thevers)*(\thevers)^(2)):0)}
 
 \randomi=\seme
@@ -59,21 +64,21 @@
 
 \begin{test}[18]
 \begin{questions}
-\ifluatex
-\esercizi{
-test14,
-test1,
-test4,
-test9
-}
-\else\ifxetex
-\esercizi{
-test14,
-test1,
-test4,
-test9
-}
-\else
+%\ifluatex
+%\esercizi{
+%test14,
+%test1,
+%test4,
+%test9
+%}
+%\else\ifxetex
+%\esercizi{
+%test14,
+%test1,
+%test4,
+%test9
+%}
+%\else
 \begin{esdb}{mydb} %% some exercises from 2 files
   \selectrandomlyn{3}{test2}
  \selectrandomlyn{2}{test3}
@@ -80,15 +85,17 @@
   \end{esdb}
 
 \esercizi{
+%prova-colombia,
 test14,
 test1,
 test4,
 test9,
-test5-fillin
+test5-fillin,
+prova-colombia
 }
 %%% all the problems of a file
 \selectallproblems[random]{test11}
-\fi\fi
+%\fi\fi
 
 \end{questions}
 
@@ -95,11 +102,11 @@
 Some other questions\\[5mm]
 
 
-\begin{questions} %% a new set of questions
-\esercizi{test12,
-test13
-}
-\end{questions}
+%\begin{questions} %% a new set of questions
+%\esercizi{test12,
+%test13
+%}
+%\end{questions}
 \end{test}
 
 \section*{Part two}

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

Added: trunk/Master/texmf-dist/doc/latex/esami/doc/examples/testA.sol.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/esami/doc/examples/testA.sol.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/esami/doc/examples/testA.sol.tex	2017-07-06 21:26:59 UTC (rev 44758)
@@ -0,0 +1,22 @@
+\begin{minipage}{.33\textwidth}{\large\textbf{Soluzione\ Versione\ n. 1}}
+\begin{enumerate}
+ \item\ref{e:1-file:test2-q:iii}
+ \item\ref{e:1-file:test2-q:i}
+ \item\ref{e:1-file:test2-q:ii}
+ \item\ref{e:1-file:test3-q:ii}
+ \item\ref{e:1-file:test3-q:i}
+ \item\ref{e:1-file:test9-q:i}
+ \item\ref{e:1-file:test14-q:i}
+ \item\ref{e:1-file:test4-q:i}
+\item \makeatletter \input{qftest5-fillinqiie1.parametri}\makeatother
+ \FPsv [2]{b/k}
+\item \makeatletter \input{qfprova-colombiaqie1.parametri}\makeatother
+$\di $
+ \item\ref{e:1-file:test11-q:i}
+ \item\ref{e:1-file:test11-q:ii}
+\par\end{enumerate}\vspace{3ex}
+\begin{enumerate}
+ \item\ref{e:1-file:test12-q:i}
+ \item\ref{e:1-file:test13-q:ii}
+\par\end{enumerate}\vspace{3ex}
+\end{minipage}


Property changes on: trunk/Master/texmf-dist/doc/latex/esami/doc/examples/testA.sol.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/esami/doc/examples/testA.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/esami/doc/examples/testA.tex	2017-07-06 21:26:45 UTC (rev 44757)
+++ trunk/Master/texmf-dist/doc/latex/esami/doc/examples/testA.tex	2017-07-06 21:26:59 UTC (rev 44758)
@@ -1,6 +1,8 @@
 \documentclass[a4paper,italian]{article}
+\usepackage{ifxetex}%%NUOVO
+\usepackage{ifluatex}%%%NUOVO
 
-\usepackage[shuffle,xyz,pointsonright,nosolutions,noquizsolutions,twocolumns]{esami}%%%%% TEMA
+%\usepackage[shuffle,xyz,pointsonright,nosolutions,noquizsolutions,twocolumns]{esami}%%%%% TEMA
 \ifluatex
         \usepackage{luatextra} % also loads fixltx2e, fontspec, xunicode
         \usepackage{unicode-math}
@@ -17,6 +19,7 @@
         \usepackage[utf8]{inputenc}
         \usepackage{lmodern,textcomp}
 \fi\fi
+\usepackage[shuffle,xyz,pointsonright,nosolutions,noquizsolutions,twocolumns]{esami}%%%%% TEMA
 
 % +=============================+
 % |         DEFINITIONS         |
@@ -23,10 +26,10 @@
 % +=============================+
 
 \def\examname{The name of the exam}
-\def\numcompiti{1}%%% The number of the versions
+\def\numcompiti{4}%%% The number of the versions
 \date{2014/07/22}%%% THE DATE IN THE FORMAT YYYY/M/D or D/M/YYYY
 \def\Data{\longdate}%%% or \shortdate: the date in the heading
-%\def\cartella{d:/folder}%%% The folder where are the exercises: by default the current folder%
+%\def\cartella{pop}%%% The folder where are the exercises: by default the current folder%
 %\def\Acapo{\newpage}
 \usepackage{babel}
 
@@ -39,11 +42,11 @@
 % |       THE SEED              |
 % +=============================+
 
-\FPeval\seme{round((\thenomefile+(3*\thevers)):0)}
+%\FPeval\seme{round((\thenomefile+(3*\thevers)):0)}
 %%% OR SOME OTHER LIKE
-%\FPeval\seme{round(\thenomefile*(\thevers)+1-trunc(\thenomefile*(\thevers)/(2^31-1):0)*(2^31-1):0)}
+\FPeval\seme{round(\thenomefile*(\thevers)+1-trunc(\thenomefile*(\thevers)/(2^31-1):0)*(2^31-1):0)}
 %\FPeval\seme{round(1+abs(\thenomefile/(\thevers)+sin(\thevers)*(\thevers)^(2)):0)}
-
+%\FPeval\semeex{round(\thenomefile+1-trunc(\thenomefile/(2^31-1):0)*(2^31-1):0)}
 \randomi=\seme
 
 \permuta
@@ -61,21 +64,21 @@
 
 \begin{test}[18]
 \begin{questions}
-\ifluatex
-\esercizi{
-test14,
-test1,
-test4,
-test9
-}
-\else\ifxetex
-\esercizi{
-test14,
-test1,
-test4,
-test9
-}
-\else
+%\ifluatex
+%\esercizi{
+%test14,
+%test1,
+%test4,
+%test9
+%}
+%\else\ifxetex
+%\esercizi{
+%test14,
+%test1,
+%test4,
+%test9
+%}
+%\else
 \begin{esdb}{mydb} %% some exercises from 2 files
   \selectrandomlyn{3}{test2}
  \selectrandomlyn{2}{test3}
@@ -82,15 +85,17 @@
   \end{esdb}
 
 \esercizi{
+%prova-colombia,
 test14,
 test1,
 test4,
 test9,
-test5-fillin
+test5-fillin,
+prova-colombia
 }
 %%% all the problems of a file
 \selectallproblems[random]{test11}
-\fi\fi
+%\fi\fi
 
 \end{questions}
 
@@ -97,11 +102,11 @@
 Some other questions\\[5mm]
 
 
-\begin{questions} %% a new set of questions
-\esercizi{test12,
-test13
-}
-\end{questions}
+%\begin{questions} %% a new set of questions
+%\esercizi{test12,
+%test13
+%}
+%\end{questions}
 \end{test}
 
 \section*{Part two}

Modified: trunk/Master/texmf-dist/doc/latex/esami/esami-xyz.cfg
===================================================================
--- trunk/Master/texmf-dist/doc/latex/esami/esami-xyz.cfg	2017-07-06 21:26:45 UTC (rev 44757)
+++ trunk/Master/texmf-dist/doc/latex/esami/esami-xyz.cfg	2017-07-06 21:26:59 UTC (rev 44758)
@@ -1,11 +1,11 @@
 %% Package `esami' to use with LaTeX 2e
-%%  Copyright (C) 2008-2016  G. Messineo e S. Vassallo
+%%  Copyright (C) 2008-2017  G. Messineo e S. Vassallo
 %%
 %% This is file `esami-xyz.cfg',
 %%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% esami-xyz.cfg,             2016-07-27                %%
-%% Copyright (C) 2008-2016 G. Messineo e S. Vassallo    %%
+%% esami-xyz.cfg,             2017-07-01                %%
+%% Copyright (C) 2008-2017 G. Messineo e S. Vassallo    %%
 %%                                                      %%
 %% This program can be redistributed and/or modified    %%
 %% under the terms of the LaTeX Project Public License  %%
@@ -129,8 +129,8 @@
 \sffamily \textbf{INSTRUCTIONS}
 \begin{itemize}
   \item Write here your instructions
-  \item two
-  \item three
+  \item two è con accento
+  \item three è à é ò ù
 \end{itemize}}}
 
 \def\istruzioniii{\setlength{\fboxsep}{1.5ex}\setlength{\fboxrule}{1.2pt}{\sffamily
@@ -143,6 +143,12 @@
  %\immediate\write\sols{\string\vspace{5ex}}}
 % }
 
+%%% THIS CODE IS TO CHECK the total score of exercises
+
+\ifluatex
+\else
+\ifxetex
+\else
 \AtEndOfPackage{
 \newdimen\punteggio %% NEW 2016/04/11 to check the total score of exercises
 \setlength{\punteggio}{0pt}
@@ -161,6 +167,8 @@
  \global\punteggio=0pt%
  }
  }
+\fi
+\fi
 
 %%%% %%%%% HERE I GET RID OF THE MINIPAGE IN MULTIPLE CHOICE QUESTIONS
 %\AtEndOfPackage{
@@ -252,3 +260,99 @@
 %\immediate\closeout\params
 %\fi }
 %}
+%\makeatletter
+
+
+
+
+%\AtEndOfPackage{
+%\newcount\old at rando
+%\renewcommand{\shuffle}[3][]{% %%% this command has been adapted from probsoln
+%\old at rando=\number\randomi
+  %\randomi=\thenomefile
+  %\@shfctr=1\relax
+  %\whiledo{\@shfctr < 101}%
+  %{%
+    %\setrannum{\@shfA}{1}{#3}\setrannum{\@shfB}{1}{#3}
+    %\ifnum\@shfA=\@shfB
+    %\else
+      %\edef\@@tmpA{\csname#2\romannumeral\@shfA\endcsname}%
+      %\let\@tmpA=\@@tmpA
+      %\edef\@@tmpB{\csname#2\romannumeral\@shfB\endcsname}%
+      %\let\@tmpB=\@@tmpB
+      %\expandafter\xdef\csname#2\romannumeral\@shfA\endcsname{\@tmpB}%
+      %\expandafter\xdef\csname#2\romannumeral\@shfB\endcsname{\@tmpA}%
+    %\fi
+    %\advance\@shfctr by 1\relax
+    %\ifthenelse{\equal{#1}{}}{}{
+  %\@shfA=0%
+  %\loop
+  %\advance\@shfA by1
+  %\expandafter\xdef\csname#1\romannumeral\@shfA\endcsname{\csname#2\romannumeral\@shfA\endcsname}
+  %\ifnum\@shfA<#3 \repeat
+%}
+  %}%
+%\randomi=\number\old at rando
+%}
+
+%\newcommand{\shufflees}[3][]{% %%% this command has been adapted from probsoln
+%%\old at rando=\number\randomi
+%%  \randomi=404
+  %\@shfctr=1\relax
+  %\whiledo{\@shfctr < 101}%
+  %{%
+    %\setrannum{\@shfA}{1}{#3}\setrannum{\@shfB}{1}{#3}
+    %\ifnum\@shfA=\@shfB
+    %\else
+      %\edef\@@tmpA{\csname#2\romannumeral\@shfA\endcsname}%
+      %\let\@tmpA=\@@tmpA
+      %\edef\@@tmpB{\csname#2\romannumeral\@shfB\endcsname}%
+      %\let\@tmpB=\@@tmpB
+      %\expandafter\xdef\csname#2\romannumeral\@shfA\endcsname{\@tmpB}%
+      %\expandafter\xdef\csname#2\romannumeral\@shfB\endcsname{\@tmpA}%
+    %\fi
+    %\advance\@shfctr by 1\relax
+    %\ifthenelse{\equal{#1}{}}{}{
+  %\@shfA=0%
+  %\loop
+  %\advance\@shfA by1
+  %\expandafter\xdef\csname#1\romannumeral\@shfA\endcsname{\csname#2\romannumeral\@shfA\endcsname}
+  %\ifnum\@shfA<#3 \repeat
+%}
+  %}%
+%%\randomi=\number\old at rando
+%}
+
+%\renewcommand{\esercizidb}[1]{
+ %\icount=0
+%\input{#1.tex}%
+%\i at sh=0
+%\loop
+%\advance\i at sh by1
+%\expandafter\edef\csname ftemp\romannumeral\i at sh \endcsname {\romannumeral\i at sh}
+%\ifnum\i at sh <\number\icount
+%\repeat
+%\shufflees{ftemp}{\icount}
+%\setcounter{n at par}{1}
+%\io=\icount
+%\loop
+%\ifes at test
+%\begin{minipage}{.95\linewidth}
+%\fi
+%\ifes at shuffleQuestions
+%\csname prbl\csname ftemp\romannumeral\io\endcsname\endcsname
+%\else
+%\csname prbl\romannumeral\io \endcsname
+%\fi
+%\def\probchosen{\problabel-\probnumber}
+%\csname @probi-\problabel-\probnumber \endcsname
+%\ifes at test
+ %\vspace{5mm}\end{minipage}
+ %\Acapo
+%\vspace{4mm}
+ %\fi
+       %\advance\io by-1
+    %\ifnum\io > 0 \repeat
+ %\par}
+ %}
+%\makeatother

Modified: trunk/Master/texmf-dist/tex/latex/esami/es-UKenglish.lng
===================================================================
--- trunk/Master/texmf-dist/tex/latex/esami/es-UKenglish.lng	2017-07-06 21:26:45 UTC (rev 44757)
+++ trunk/Master/texmf-dist/tex/latex/esami/es-UKenglish.lng	2017-07-06 21:26:59 UTC (rev 44758)
@@ -1,7 +1,5 @@
 %%% Labels (esami.sty)
 
-\def\es at parametermessage#1#2#3{The parameter $#1$ is between $#2$ and $#3$.}
-\def\es at seedmessage#1{The seed is equal to $#1$.}
 \def\es at pointname{point}
 \def\es at pointsname{points}
 \def\es at exercisename{Exercise}
@@ -17,11 +15,15 @@
 \def\versionname{Version}
 \def\pagename{Page}
 \def\solutionsname{Solutions}
+\def\es at EstraiMessage#1#2{\string\textbf\string{\string\noindent\space Expressions $#2i$, $#2ii$ \string\dots\space
+                assume the values #1 \string}\string\newline}
 
 %%% Error Messages
 
 \def\es at cfgerrormessageshort{The option \CurrentOption\space does not exists}
 \def\es at cfgerrormessagelong{Package esami needs an option for the configuration file}
+\def\es at parametermessage#1#2#3{The parameter $#1$ is between $#2$ and $#3$.}
+\def\es at seedmessage#1{The seed is equal to $#1$.}
 \def\es at numcompitierror{It's necessary to specify the number of versions!}
 \def\es at mastererror{WARNING: YOU CANNOT COMPILE THE MASTER FILE:\MessageBreak
         PRESS 'x' TO EXIT AND RENAME THE FILE}
@@ -31,8 +33,7 @@
 \def\es at fraconewarn#1#2{The fraction #1/#2 in exercise \nome \space is equal to 1}
 \def\es at radicalerror{The radicand in exercise \nome \space is negative}
 \def\es at fpsetparerrorshort{Not all conditions are satisfied after \maxLoopLimit\space tries}
-\def\es at EstraiMessage#1#2{\string\textbf\string{\string\noindent\space Expressions $#2i$, $#2ii$ \string\dots\space
-                assume the values #1 \string}\string\newline}
+
 \def\es at fpsetparerrshort#1{It's impossible to define the parameter #1}
 \def\es at fpsetparerrlong#1{In the definition of the parameter #1 the lower bound is greater than upper bound}
 

Modified: trunk/Master/texmf-dist/tex/latex/esami/es-french.lng
===================================================================
--- trunk/Master/texmf-dist/tex/latex/esami/es-french.lng	2017-07-06 21:26:45 UTC (rev 44757)
+++ trunk/Master/texmf-dist/tex/latex/esami/es-french.lng	2017-07-06 21:26:59 UTC (rev 44758)
@@ -17,6 +17,8 @@
 \def\versionname{Version}
 \def\pagename{Page}
 \def\solutionsname{Solutions}
+\def\es at EstraiMessage#1#2{\string\textbf\string{\string\noindent\space Les expressions $#2i$, $#2ii$ \string\dots\space
+                prennent les valeurs #1 \string}\string\newline}
 
 %%% Error Messages
 
@@ -26,13 +28,11 @@
 \def\es at mastererror{ATTENTION: VOUS NE POUVEZ PAS TRAVAILLER SUR LE FILE MASTER:\MessageBreak
         PRESSEZ "X" POUR SORTIR ET CHANGER LE NOM DU FILE}
 \def\es at zerodenerror#1#2{La fraction #1/#2 dans l'exercice \nome \space a le d\'{e}nominateur \'{e}gal à 0}
-\def\es at zeronumerrorshort#1#2{La fraction #1/#2 dans l'exercice \nome \space est \'{e}gal à 0}
+\def\es at zeronumerrorshort#1#2{La fraction #1/#2 dans l'exercise \nome \space est \'{e}gal à 0}
 \def\es at zeronumerrorlong#1#2{Si vous voulez qu'une fraction peut être 0, utilisez la commande "sempliz"}
 \def\es at fraconewarn#1#2{La fraction #1/#2 dans l'exercice \nome \space est \'{e}gal à 1}
 \def\es at radicalerror{Le radicande dans l'exercice \nome \space est n\'{e}gatif}
 \def\es at fpsetparerrorshort{Les conditions ne sont pas satisfaites apr\`{e}s \maxLoopLimit\space tentatives}
-\def\es at EstraiMessage#1#2{\string\textbf\string{\string\noindent\space Les expressions $#2i$, $#2ii$ \string\dots\space
-                prennent les valeurs #1 \string}\string\newline}
 \def\es at fpsetparerrshort#1{Ce n'est pas possible de définir #1}
 \def\es at fpsetparerrlong#1{Dans la definition de le paramètre #1 l'extreme inferieur est plus grand que l'extreme superior}
 
@@ -56,4 +56,3 @@
 \usepackage{eurosym}
 \usepackage[np,autolanguage]{numprint}
 }
-

Modified: trunk/Master/texmf-dist/tex/latex/esami/esami.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/esami/esami.sty	2017-07-06 21:26:45 UTC (rev 44757)
+++ trunk/Master/texmf-dist/tex/latex/esami/esami.sty	2017-07-06 21:26:59 UTC (rev 44758)
@@ -2,8 +2,8 @@
 %% This is file `esami.sty',
 %%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% esami.sty package,             2016-07-25            %%
-%% Copyright (C) 2008-2016  G. Messineo e S. Vassallo   %%
+%% esami.sty package,             2017-07-01            %%
+%% Copyright (C) 2008-2017  G. Messineo e S. Vassallo   %%
 %%                                                      %%
 %% This program can be redistributed and/or modified    %%
 %% under the terms of the LaTeX Project Public License  %%
@@ -32,9 +32,11 @@
 %Modified es-german.lng and es-spanish.lng for an error in the input of the solutions. Introduced the macro randestrai.
 %Introduced the macro FPsignpol. Introduced a control on the total points of the exercises. Solved the incompatibility
 %with babel for the Spanish language. Removed the incompatibility between the command \fillin and the commands \sempli and \semplix.
+% 2017/07/01
+%Introduced the possibility to have two different seeds for exercises choice and for scrambling. Sligtly modified teh command \estrai so that can be used to extract parameters from a list. Improved the documentation.
 
 \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{esami}
-    [2016/07/25 v2.1 An Exam Construction Package]
+    [2017/07/01 v2.2 An Exam Construction Package]
 
 % +=============================+
 % |         THE OPTIONS         |
@@ -255,6 +257,10 @@
 \newcount\icount  %%% counter to shuffle exercises
 \newcount\io
 \newcount\inizio
+\newcount\old at rando
+\FPeval\seme{round(\thenomefile+1-trunc(\thenomefile/(2^31-1):0)*(2^31-1):0)}
+%\FPset\semeex\seme
+\def\semeex{\seme}
 \inizio=1
 %%%%
 \newcounter{vers}%%% the number of the version
@@ -470,9 +476,11 @@
 
 \newcommand{\FPsignpol}[2] %%% adapted from code contributed by Hjalmar Basile NEW 2016/04/11
 {\FPval\tempsign{#1}
-\ifnum \tempsign<0 {\semplix{\tempsign}{1}#2}\else \ifnum \tempsign>0{+\semplix{\tempsign}{1}#2}\else{}\fi\fi
-}
+\ifthenelse{\equal{#2}{}}{\ifnum \tempsign<0 {\sempli{\tempsign}{1}#2}\else \ifnum \tempsign>0{+\sempli{\tempsign}{1}#2}\else{}\fi\fi}
+{\ifnum \tempsign<0 {\semplix{\tempsign}{1}#2}\else \ifnum \tempsign>0{+\semplix{\tempsign}{1}#2}\else{}\fi\fi}
+} %%% nuovo 2016/12/11 per termine noto
 
+
 %========================================================%
 %          Commands adapted from exerquiz                %
 %========================================================%
@@ -918,15 +926,21 @@
 \tmp at quest=0
 \input{#1}
 \@ifundefined{base\nome}{\old at random=\number\randomi %%% 2015/01/16
+\randomi=\semeex
 \setrannum{\rnd at cnta}{1}{\@probN}
 \randomi=\number\old at random
 \expandafter\global\expandafter\edef\csname base\nome \endcsname{\number\rnd at cnta}
 }{}
-\FPeval\restotrentasei{round(\thevers+\thenomefile+1+base\nome-trunc((\thevers+\thenomefile+base\nome)/36:0)*36:0)}
+\old at rando=\number\randomi
+		\randomi=\semeex
+\ifthenelse{\number\semeex=\number\seme}{
+\FPeval\restotrentasei{round(\thevers+\thenomefile+1+base\nome-trunc((\thevers+\thenomefile+base\nome)/36:0)*36:0)}}{
+\FPeval\restotrentasei{round(1+\thenomefile+1+base\nome-trunc((1+\thenomefile+base\nome)/36:0)*36:0)}
+}
 \ifcase\@probN\or
 \def\j at n{1}%%% just one variant
 \or%%% 2 variants
-\ifthenelse{\isodd{\thevers}}{\def\j at n{1}}{\def\j at n{2}}
+\ifthenelse{\isodd{\restotrentasei}}{\def\j at n{1}}{\def\j at n{2}}
 \or%%% 3 variants
 \def\j at n{\ifcase\restotrentasei\or 3\or 2\or 1\or 2\or 1\or 3\or 1\or 3\or 2\or 3\or 1\or 2\or 1\or 2\or 3\or 2\or 3\or 1\or 3\or 2\or 1\or 2\or 1\or 3\or 1\or 3\or 2\or 3\or 1\or 2\or 1\or 2\or 3\or 2\or 3\or 1\fi}%
 \or%%% 4 variants
@@ -940,7 +954,9 @@
 \or%%% 8 variants
 \def\j at n{\ifcase\restotrentasei\or 2\or 8\or 6\or 7\or 4\or 3\or 1\or 5\or 8\or 5\or 1\or 3\or 7\or 6\or 4\or 2\or 7\or 1\or 8\or 6\or 3\or 2\or 5\or 4\or 1\or 3\or 7\or 5\or 6\or 4\or 2\or 8\or 4\or 3\or 1\or 5\fi}%
 \else
-\FPeval\j at n{round(\thevers*\es at primo+base\nome+1-trunc((\thevers*\es at primo+base\nome)/\number\@probN:0)*\number\@probN:0)}
+\ifthenelse{\number\semeex=\number\seme}{
+\FPeval\j at n{round(\thevers*\es at primo+base\nome+1-trunc((\thevers*\es at primo+base\nome)/\number\@probN:0)*\number\@probN:0)}}
+{\FPeval\j at n{round(\es at primo+base\nome+1-trunc((\es at primo+base\nome)/\number\@probN:0)*\number\@probN:0)}}
 \fi
 \def\probchosen{\problabel-q:\romannumeral\j at n}
 \ifes at test
@@ -961,10 +977,10 @@
 \global\@probN=0\relax
 \firstpasstrue
 \tmp at quest=0
-\input{#2}%
+\input{\cartella/#2}%
 \firstpassfalse
 \tmp at quest=0
-\input{#2}%
+\input{\cartella/#2}%
 \ifthenelse{\equal{#1}{random}}{\i at sh=0
 \loop
 \advance\i at sh by1
@@ -1015,7 +1031,7 @@
 \global\@probN=0\relax
 \firstpasstrue
 \tmp at quest=0
-\input{#2}%
+\input{\cartella/#2}%
 \ifthenelse{\equal{#1}{all}}{\@probselN=\number\tmp at quest}{
 \ifnum\tmp at quest<#1 \relax
    \PackageWarning{esami}{\es at selectnwarn{#1}{#2}}
@@ -1032,7 +1048,7 @@
 \shuffle{ftmp}{\tmp at quest}
 \firstpassfalse%
 \tmp at quest=0
-\input{#2}
+\input{\cartella/#2}
  \i at sh=0
 \loop
 \advance\i at sh by1
@@ -1051,7 +1067,7 @@
   \expandafter\def \csname prbl\romannumeral\icount \endcsname
 }
 
-\newcommand{\esercizidb}[1]{
+\newcommand{\esercizidb}[1]{ %%% NEW 2017/02/16 for different seeds  shuffling exercises and choosing them
  \icount=0
 \input{#1.tex}%
 \i at sh=0
@@ -1060,7 +1076,8 @@
 \expandafter\edef\csname ftemp\romannumeral\i at sh \endcsname {\romannumeral\i at sh}
 \ifnum\i at sh <\number\icount
 \repeat
-\shuffle{ftemp}{\icount}
+%\shuffle{ftemp}{\icount}
+\shufflees{ftemp}{\icount} %%% NEW 2017/02/16 for different seeds  shuffling exercises and choosing them
 \setcounter{n at par}{1}
 \io=\icount
 \loop
@@ -1599,6 +1616,11 @@
 \FPeval\restoventiquattro{round(\thevers+\thenomefile+1-trunc((\thevers+\thenomefile)/24:0)*24:0)}%%%% for 4 exercises permutations
 \FPeval\restotrenta{round(\thevers+\thenomefile+1-trunc((\thevers+\thenomefile)/30:0)*30:0)} %%%% for 5,6,7,8 exercises permutations
 }
+\ifes at prova
+\def\restosei{4}%%% for 2 or 3 exercises permutations
+\def\restoventiquattro{21}%%%% for 4 exercises permutations
+\def\restotrenta{17} %%%% for 5,6,7,8 exercises permutations
+\fi
 
 %%%  pseudorandom versions (permutations of 1 esercise!!)
 \def\sceglii#1#2{\expandafter\def\csname #2i\endcsname{#1}}
@@ -1855,7 +1877,13 @@
 \advance\beg at al by-1%
 \FPsetpar{tmpalf}{\beg at al}{\end at al}[\beg at al]%
 \advance\beg at al by1 %
-\expandafter\edef\csname #3\romannumeral\beg at al \endcsname{\csname al at f\romannumeral\tmpalf \endcsname}%
+\expandafter\edef\csname #3\romannumeral\beg at al \endcsname{\csname al at f\romannumeral\tmpalf \endcsname}
+\ifes at fillin%
+\ifes at solutions
+\immediate\write\parametri{\string\def\expandafter\unexpanded\expandafter{\csname #3\romannumeral\beg at al\endcsname}{\csname al at f\romannumeral\tmpalf \endcsname}}%
+\fi%
+\fi
+%
 \advance\beg at al by-1%
 \end at al=\tmpalf%
 \advance\end at al by-1%
@@ -1880,6 +1908,11 @@
   \advance\tmp at cntb by -#1
   \loop
    \expandafter\edef\csname #3\romannumeral\tmp at cntb\endcsname{#3\romannumeral\tmp at cntb}%
+\ifes at fillin%
+\ifes at solutions
+\immediate\write\parametri{\string\def\expandafter\unexpanded\expandafter{\csname #3\romannumeral\beg at al\endcsname}{\csname al at f\romannumeral\tmpalf \endcsname}}%
+\fi%
+\fi
     \advance\tmp at cntb by-1
     \ifnum\tmp at cntb>0
    \repeat
@@ -1985,8 +2018,12 @@
 }
 \fi
 
-%%% another shuffling macro
+
+%%% another shuffling macro  %%% NEW 2017/02/16 for different seeds  shuffling exercises and choosing them
+	
 \newcommand{\shuffle}[3][]{% %%% this command has been adapted from probsoln
+		\old at rando=\number\randomi
+		\randomi=\semeex
   \@shfctr=1\relax
   \whiledo{\@shfctr < 101}%
   {%
@@ -2009,8 +2046,38 @@
   \ifnum\@shfA<#3 \repeat
 }
   }%
+	\randomi=\number\old at rando
 }
 
+		\newcommand{\shufflees}[3][]{% %%% this command has been adapted from probsoln %%% NEW 2017/02/16 for different seeds  shuffling exercises and choosing them
+		%\old at rando=\number\randomi
+		%  \randomi=404
+		  \@shfctr=1\relax
+		  \whiledo{\@shfctr < 101}%
+		  {%
+			\setrannum{\@shfA}{1}{#3}\setrannum{\@shfB}{1}{#3}
+			\ifnum\@shfA=\@shfB
+			\else
+			  \edef\@@tmpA{\csname#2\romannumeral\@shfA\endcsname}%
+			  \let\@tmpA=\@@tmpA
+			  \edef\@@tmpB{\csname#2\romannumeral\@shfB\endcsname}%
+			  \let\@tmpB=\@@tmpB
+			  \expandafter\xdef\csname#2\romannumeral\@shfA\endcsname{\@tmpB}%
+			  \expandafter\xdef\csname#2\romannumeral\@shfB\endcsname{\@tmpA}%
+			\fi
+			\advance\@shfctr by 1\relax
+			\ifthenelse{\equal{#1}{}}{}{
+		  \@shfA=0%
+		  \loop
+		  \advance\@shfA by1
+		  \expandafter\xdef\csname#1\romannumeral\@shfA\endcsname{\csname#2\romannumeral\@shfA\endcsname}
+		  \ifnum\@shfA<#3 \repeat
+		}
+		  }%
+		%\randomi=\number\old at rando
+		}
+
+
 %========================================================%
 %     Random (adapted from aebrandom)                    %
 %========================================================%



More information about the tex-live-commits mailing list