Produrre versioni di verifiche scolastiche dello stesso tipo con esercizi diversi (personalizzati per ogni alunno).
Ringrazio Antonio Galea per la enorme pazienza e l'autore della guida sul sito http://theoval.cmp.uea.ac.uk/~nlct/latex/admin/node4.html#2123
L'obbiettivo del lavoro è ottenere 25 (o più) verifiche (test, compiti in classe) contenenti domande chiuse o esercizi, tutte diverse, cercando di automatizzare il più possibile la produzione.
Alcuni problemi con i caratteri di escape
Alla fine per produrre la verifica si deve:
Problemi della stampa unione delle verifiche
1A_20101217_db_ver_frazioni.csv
Per ottenere 25 versioni diverse della stessa verifica in funzione:
e mi danno la
Userò come esempio la procedura ed i file che mi sono serviti per preparare la verifica sulle percentuali in seconda elettricisti, quasi tutti i file cominciano con 2E_20101216_...., non ho ancora imparato a “pescare” i file fuori dalla cartella di lavoro, quindi tutti i file citati stanno nella medesima cartella, inoltre il lavoro non è finito per ora ci sono 6 domande a risposta chiusa, ma il "meccanismo" mi sembra sufficientemente chiaro.
Per ottenere le verifiche in linea di principio potrebbe bastare un solo ciclo unione fatto direttamente compilando il Latex insieme ad un file csv. Così facendo però si dovrebbe compilare un file csv piuttosto complesso cosa che mi ha costretto a rinunciare ad alcuni automatismi, e mi ha reso difficoltoso il controllo degli errori.
Per questo ho preferito lavorare con più cicli di unione:
I miei esercizi sono di due tipi:
Test a scelta multipla
Ottenuti eseguendo lo script bash che unisce il template tex con il database csv, e produce 25 file tex ognuno con un esercizio. L’unione avviene sostituendo una variabile, ad esempio @E1D1@ , con il suo valore riportato nel file csv.
Qui sotto la riga di codice dello script E1D1_DefFra.sh che fa questo lavoro:
cat $template | perl -000 -pe"s/\@E1D1\@/$E1D1/g" \
> E1D1_DefFra_$i.tex
In fondo trovate il codice dei files usati e dei files prodotti.
In questo caso lo script è un po’ più semplice e si limita ad unire una lista di esercizi in un template che può a sua volta contenere un richiamo ad un riquadro quadrettato dove poter svolgere l’esercizio. Il lavoro complicato viene svolto nel file ods preparatorio al file csv dove con la funzione concatena si deve costruire un campo che in ogni voce contenga formule matematiche e frasi in codice Latex.
Quindi per ogni esercizio (o domanda in un test) si deve:
Esempi:
A mano a mano che vengono preparati i file degli esercizi si può procedere a compilare il file database delle verifiche ed il template tex.
E’ meglio compilare il template ogni volta che si aggiunge un esercizio in modo da poter intervenire subito nel caso di errori del codice Latex.
Le 25 versioni della verifica sono prodotte unendo e compilando, con pdflatex, il file template latex 1A_20101217_ver_frazioni.tex con i files di esercizi elencati nel file CSV 1A_20101217_db_ver_frazioni.csv , ottenendo un file pdf 1A_20101217_ver_frazioni.pdf, di un numero di pagine adeguato a contenere tutte le verifiche.
Il file template latex 1A_20101217_ver_frazioni.tex l'ho scritto con writer, e esportato grazie a writer2latex (http://extensions.services.openoffice.org/project/writer2latex) e modificato usando Texmaker (http://www.xm1math.net/texmaker/) .
Per ottenere la stampa unione al file esportato da writer ho dovuto aggiungere:
Aggiornamento: mentre scrivevo queste righe ho scoperto che il pacchetto csvtools http://www.ctan.org/tex-archive/obsolete/macros/latex/contrib/csvtools/doc/manual.html è obsoleto ed è stato rimpiazzato da datatool http://www.ctan.org/tex-archive/macros/latex/contrib/datatool/, lo studierò.
Le immagini vanno inserite con il comando \includegraphics[scale=1]{quad7_5x19} che ad esempio stampa un rettangolo quadrettato di 7,5 cm x 19 cm, dove svolgere gli esercizi, si noti inoltre che il nome del file è senza estensione.
quad7_5x19.png
Un test a risposta multipla la cui risposta consiste nel scegliere una immagine (grafico di una retta) e che viene compilato con la stampa unione è ottenuto con questo codice in un file tex:
\flushleft\insertbyname{E1D3D1} $\insertbyname{E1D3F1}$\ \ &
\fbox{\includegraphics[scale=1]{\insertbyname{E1D3R1}}}\ \ &
\fbox{\includegraphics[scale=1]{\insertbyname{E1D3R2}}}\ \ &
\fbox{\includegraphics[scale=1]{\insertbyname{E1D3R3}}} \\
che pesca le variabili in un file csv (ad esempio 05x è il nome del file 05x.png, disegnato con geogebra ed esportato in una immagine).
05x.png
Riporto nella tabella sotto una porzione del file csv collegato al tex soprascritto.
E1D3D1 | E1D3R1 | E1D3R2 | E1D3R3 |
Scegli il grafico della retta | 2xpiu1 | 05x | 2x |
Scegli il grafico della retta | 05xpiu1 | 3x | 2x |
Scegli il grafico della retta | 2xpiu1 | 05xpiu2 | 3x |
Scegli il grafico della retta | 2x | 2xpiu1 | 05xpiu3 |
Scegli il grafico della retta | 05xmeno1 | 3x | 05xpiu2 |
Scegli il grafico della retta | 05xpiu1 | 05xmeno2 | 2x |
#!/bin/bash
#un file contenente i due dati "E1D1" su ogni riga
dati='E1D1_DefFra_DB.csv'
#un template LaTex con i marcatori "@E1D1@" e "@E1D1R1@" "@E1D1R2@" "@E1D1R3@"
template='E1D1_DefFra.tex'
#contatore - solo per differenziare l'output
i=0
#il separatore usato nel file $dati è il punto e virgola
IFS=","
cat $dati | while read E1D1 E1D1R1 E1D1R2 E1D1R3
do
cat $template | perl -000 -pe"s/\@E1D1\@/$E1D1/g; s/\@E1D1R1\@/$E1D1R1/g; s/\@E1D1R2\@/$E1D1R2/g; s/\@E1D1R3\@/$E1D1R3/g" \
> E1D1_DefFra_$i.tex
#pdflatex E1D1_DefFra_$i.tex
i=$(expr $i + 1)
done
\flushleft @E1D1@ \ \ &
\fbox{@E1D1R1@}\ \ &
\fbox{@E1D1R2@}\ \ &
\fbox{@E1D1R3@} \\
%\vspace{0.1cm}
E1D1,E1D1R1,E1D1R2,E1D1R3
La frazione \\$\\\\frac{1}{2}\\$ è?,Propria \\$\\\\frac{1}{2}<1\\$,Apparente,Impropria \\$\\\\frac{1}{2}>1\\$
La frazione \\$\\\\frac{2}{3}\\$ è?,Propria \\$\\\\frac{2}{3}<1\\$,Apparente,Impropria \\$\\\\frac{2}{3}>1\\$
La frazione \\$\\\\frac{3}{2}\\$ è?,Propria \\$\\\\frac{3}{2}<1\\$,Apparente,Impropria \\$\\\\frac{3}{2}>1\\$
La frazione \\$\\\\frac{4}{3}\\$ è?,Propria \\$\\\\frac{4}{3}<1\\$,Apparente,Impropria \\$\\\\frac{4}{3}>1\\$
La frazione \\$\\\\frac{5}{6}\\$ è?,Propria \\$\\\\frac{5}{6}<1\\$,Apparente,Impropria \\$\\\\frac{5}{6}>1\\$
La frazione \\$\\\\frac{6}{7}\\$ è?,Propria \\$\\\\frac{6}{7}<1\\$,Apparente,Impropria \\$\\\\frac{6}{7}>1\\$
La frazione \\$\\\\frac{7}{8}\\$ è?,Propria \\$\\\\frac{7}{8}<1\\$,Apparente,Impropria \\$\\\\frac{7}{8}>1\\$
La frazione \\$\\\\frac{8}{9}\\$ è?,Propria \\$\\\\frac{8}{9}<1\\$,Apparente,Impropria \\$\\\\frac{8}{9}>1\\$
La frazione \\$\\\\frac{9}{8}\\$ è?,Propria \\$\\\\frac{9}{8}<1\\$,Apparente,Impropria \\$\\\\frac{9}{8}>1\\$
La frazione \\$\\\\frac{1}{7}\\$ è?,Propria \\$\\\\frac{1}{7}<1\\$,Apparente,Impropria \\$\\\\frac{1}{7}>1\\$
La frazione \\$\\\\frac{2}{3}\\$ è?,Propria \\$\\\\frac{2}{3}<1\\$,Apparente,Impropria \\$\\\\frac{2}{3}>1\\$
La frazione \\$\\\\frac{3}{2}\\$ è?,Propria \\$\\\\frac{3}{2}<1\\$,Apparente,Impropria \\$\\\\frac{3}{2}>1\\$
La frazione \\$\\\\frac{4}{9}\\$ è?,Propria \\$\\\\frac{4}{9}<1\\$,Apparente,Impropria \\$\\\\frac{4}{9}>1\\$
La frazione \\$\\\\frac{5}{9}\\$ è?,Propria \\$\\\\frac{5}{9}<1\\$,Apparente,Impropria \\$\\\\frac{5}{9}>1\\$
La frazione \\$\\\\frac{6}{7}\\$ è?,Propria \\$\\\\frac{6}{7}<1\\$,Apparente,Impropria \\$\\\\frac{6}{7}>1\\$
La frazione \\$\\\\frac{7}{5}\\$ è?,Propria \\$\\\\frac{7}{5}<1\\$,Apparente,Impropria \\$\\\\frac{7}{5}>1\\$
La frazione \\$\\\\frac{8}{7}\\$ è?,Propria \\$\\\\frac{8}{7}<1\\$,Apparente,Impropria \\$\\\\frac{8}{7}>1\\$
La frazione \\$\\\\frac{9}{8}\\$ è?,Propria \\$\\\\frac{9}{8}<1\\$,Apparente,Impropria \\$\\\\frac{9}{8}>1\\$
La frazione \\$\\\\frac{1}{5}\\$ è?,Propria \\$\\\\frac{1}{5}<1\\$,Apparente,Impropria \\$\\\\frac{1}{5}>1\\$
La frazione \\$\\\\frac{2}{7}\\$ è?,Propria \\$\\\\frac{2}{7}<1\\$,Apparente,Impropria \\$\\\\frac{2}{7}>1\\$
La frazione \\$\\\\frac{3}{5}\\$ è?,Propria \\$\\\\frac{3}{5}<1\\$,Apparente,Impropria \\$\\\\frac{3}{5}>1\\$
La frazione \\$\\\\frac{4}{3}\\$ è?,Propria \\$\\\\frac{4}{3}<1\\$,Apparente,Impropria \\$\\\\frac{4}{3}>1\\$
La frazione \\$\\\\frac{5}{4}\\$ è?,Propria \\$\\\\frac{5}{4}<1\\$,Apparente,Impropria \\$\\\\frac{5}{4}>1\\$
La frazione \\$\\\\frac{6}{5}\\$ è?,Propria \\$\\\\frac{6}{5}<1\\$,Apparente,Impropria \\$\\\\frac{6}{5}>1\\$
La frazione \\$\\\\frac{7}{6}\\$ è?,Propria \\$\\\\frac{7}{6}<1\\$,Apparente,Impropria \\$\\\\frac{7}{6}>1\\$
\flushleft La frazione $\frac{1}{2}$ è? \ \ &
\fbox{Propria $\frac{1}{2}<1$}\ \ &
\fbox{Apparente}\ \ &
\fbox{Impropria $\frac{1}{2}>1$} \\
%\vspace{0.1cm}
\flushleft La frazione $\frac{2}{3}$ è? \ \ &
\fbox{Propria $\frac{2}{3}<1$}\ \ &
\fbox{Apparente}\ \ &
\fbox{Impropria $\frac{2}{3}>1$} \\
%\vspace{0.1cm}
% This file was converted to LaTeX by Writer2LaTeX ver. 1.0.2
% see http://writer2latex.sourceforge.net for more info
\documentclass[a4paper]{article}
%\usepackage[latin1]{inputenc}%lettere accentate in windows
%\usepackage[T3,T1]{fontenc}%lettere accentate in windows? non sono sicuro
\usepackage[english,italian]{babel}
%\usepackage[italian]{babel}% pensavo dovessi eleiminare english da babel
\usepackage[T1]{fontenc}%lettere accentate su ubuntu
\usepackage[utf8]{inputenc}%lettere accentate su ubuntu
\usepackage[noenc]{tipa}
\usepackage{tipx}
\usepackage[geometry,weather,misc,clock]{ifsym}
\usepackage{pifont}
\usepackage{eurosym}
\usepackage{amsmath}
\usepackage{wasysym}
\usepackage{amssymb,amsfonts,textcomp}
\usepackage{color}
\usepackage{array}
\usepackage{supertabular}
\usepackage{hhline}
\usepackage{hyperref}
\usepackage{csvtools}
\usepackage{graphicx}
\hypersetup{pdftex, colorlinks=true, linkcolor=blue, citecolor=blue, filecolor=blue, urlcolor=blue, pdftitle=, pdfauthor=matteo , pdfsubject=, pdfkeywords=}
\makeatletter
\newcommand\arraybslash{\let\\\@arraycr}
\makeatother
% List styles
\newcommand\liststyleLi{%
\renewcommand\theenumi{\arabic{enumi}}
\renewcommand\theenumii{\alph{enumii}}
\renewcommand\labelenumi{ \theenumi.}
\renewcommand\labelenumii{ \theenumii)}
\renewcommand\labelitemi{{\textbullet}}
\renewcommand\labelitemii{{\textbullet}}
}
% Page layout (geometry)
\setlength\voffset{-1in}
\setlength\hoffset{-1in}
\setlength\topmargin{2cm}
\setlength\oddsidemargin{2cm}
\setlength\textheight{25.699cm}
\setlength\textwidth{16.999cm}
\setlength\footskip{0.0cm}
\setlength\headheight{0cm}
\setlength\headsep{0cm}
% Footnote rule
\setlength{\skip\footins}{0.119cm}
\renewcommand\footnoterule{\vspace*{-0.018cm}\setlength\leftskip{0pt}\setlength\rightskip{0pt plus 1fil}\noindent\textcolor{black}{\rule{0.25\columnwidth}{0.018cm}}\vspace*{0.101cm}}
% Pages styles
\makeatletter
\newcommand\ps@Standard{
\renewcommand\@oddhead{}
\renewcommand\@evenhead{}
\renewcommand\@oddfoot{}
\renewcommand\@evenfoot{}
\renewcommand\thepage{\arabic{page}}
}
\makeatother
\pagestyle{Standard}
\setlength\tabcolsep{1mm}
\renewcommand\arraystretch{1.3}
\title{}
\author{matteo }
\date{2010-10-28}
\begin{document}
\applyCSVfile{1A_20101217_db_frazioni.csv}{%
\newpage
{\flushright\bfseries As 10-11 -- CFP IA Enaip Arco -- Verifica matematica - Data \_\_\_\_\_\_\_\_\_\_\_ \newline \par}
{\centering\bfseries\insertbyname{ARG}\par}
{\flushright\bfseries N. \insertbyname{CN} Classe \insertbyname{CLASSE} Cognome e Nome \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ \par}
\liststyleLi
\begin{enumerate}
\item \insertbyname{E1}
\begin{enumerate}
\begin{supertabular}{m{5cm} m{4cm} m{4cm} m{4cm}}
\item \input{\insertbyname{E1D1}}
~&~&~&~\\%riga vuota per allontanare in verticale
\item \input{\insertbyname{E1D2}}
~&~&~&~\\%riga vuota per allontanare in verticale
\item \input{\insertbyname{E1D3}}
~&~&~&~\\%riga vuota per allontanare in verticale
\item \input{\insertbyname{E1D4}}
~&~&~&~\\%riga vuota per allontanare in verticale
\item \input{\insertbyname{E1D5}}
~&~&~&~\\%riga vuota per allontanare in verticale
\item \input{\insertbyname{E1D6}}
~&~&~&~\\%riga vuota per allontanare in verticale
%\item \input{\insertbyname{E1D7}}
%~&~&~&~\\%riga vuota per allontanare in verticale
\end{supertabular}
\end{enumerate}
\item \input{\insertbyname{E2}}
%\vspace{0.5cm}
\newpage
\item \input{\insertbyname{E3}}
%\vspace{0.5cm}
%\includegraphics[scale=1]{quad3x19}
\item \input{\insertbyname{E4}}
\vspace{0.5cm}
\item \input{\insertbyname{E5}}
%\includegraphics[scale=1]{quad3x19}
%\vspace{0.5cm}
%\includegraphics[scale=1]{quad7_5x19}
%\vspace{0.2cm}
%\vspace{0.1cm}
\bigskip
\end{enumerate}
Tabella di autovalutazione:
%\begin{flushleft}
\tablehead{}
\begin{supertabular}{|m{2.8869998cm}|m{2.118cm}|m{2.118cm}|m{2.118cm}|m{2.118cm}|m{2.118cm}|} %m{2.118cm}|m{2.118cm}|
\hline
(A) &
\centering VE1 &
\centering VE2 &
\centering VE3 &
\centering VE4 &
\centering\arraybslash VE5\\\hline %&
%\centering\arraybslash VE6\\\hline
Punti &
\centering \insertbyname{PE1} &
\centering \insertbyname{PE2} &
\centering \insertbyname{PE3} &
\centering \insertbyname{PE4} &
\centering\arraybslash \insertbyname{PE5}\\\hline %&
%\centering\arraybslash PE6\\\hline %linea in più
Autovalutazione &
~ & ~ & ~ & ~ & ~ \\\hline % & %~
Valutazione &
~ & ~ & ~ & ~ & ~ \\\hline % & ~
\end{supertabular}
%\end{flushleft}
\bigskip
}
\end{document}
ARG,CN,CLASSE,E1,E1D1,E1D2,E1D3,E1D4,E1D5,E1D6,E2,E3,E4,E5,PE1,PE2,PE3,PE4,PE5
Frazioni,1,1A,Test,E1D1_DefFra_1,E1D2_FraEq_1,E1D3_FraConf_1,E1D4_FraNum_1,E1D5_FraMinT_1,E1D6_FraDec_1,E2_ProbFraDir_1,E3_EspFra_1,E4_ProbFraInv_1,E5_DecFra_1,60,30,40,40,40
Frazioni,2,1A,Test,E1D1_DefFra_2,E1D2_FraEq_2,E1D3_FraConf_2,E1D4_FraNum_2,E1D5_FraMinT_2,E1D6_FraDec_2,E2_ProbFraDir_2,E3_EspFra_2,E4_ProbFraInv_2,E5_DecFra_2,60,30,40,40,40
Frazioni,3,1A,Test,E1D1_DefFra_3,E1D2_FraEq_3,E1D3_FraConf_3,E1D4_FraNum_3,E1D5_FraMinT_3,E1D6_FraDec_3,E2_ProbFraDir_3,E3_EspFra_3,E4_ProbFraInv_3,E5_DecFra_3,60,30,40,40,40
Frazioni,4,1A,Test,E1D1_DefFra_4,E1D2_FraEq_4,E1D3_FraConf_4,E1D4_FraNum_4,E1D5_FraMinT_4,E1D6_FraDec_4,E2_ProbFraDir_4,E3_EspFra_4,E4_ProbFraInv_4,E5_DecFra_4,60,30,40,40,40
Frazioni,5,1A,Test,E1D1_DefFra_5,E1D2_FraEq_5,E1D3_FraConf_5,E1D4_FraNum_5,E1D5_FraMinT_5,E1D6_FraDec_5,E2_ProbFraDir_5,E3_EspFra_5,E4_ProbFraInv_5,E5_DecFra_5,60,30,40,40,40
Frazioni,6,1A,Test,E1D1_DefFra_6,E1D2_FraEq_6,E1D3_FraConf_6,E1D4_FraNum_6,E1D5_FraMinT_6,E1D6_FraDec_6,E2_ProbFraDir_6,E3_EspFra_1,E4_ProbFraInv_6,E5_DecFra_6,60,30,40,40,40
Frazioni,7,1A,Test,E1D1_DefFra_7,E1D2_FraEq_7,E1D3_FraConf_7,E1D4_FraNum_7,E1D5_FraMinT_7,E1D6_FraDec_7,E2_ProbFraDir_7,E3_EspFra_2,E4_ProbFraInv_7,E5_DecFra_7,60,30,40,40,40
Frazioni,8,1A,Test,E1D1_DefFra_8,E1D2_FraEq_8,E1D3_FraConf_8,E1D4_FraNum_8,E1D5_FraMinT_8,E1D6_FraDec_8,E2_ProbFraDir_8,E3_EspFra_3,E4_ProbFraInv_8,E5_DecFra_8,60,30,40,40,40
Frazioni,9,1A,Test,E1D1_DefFra_9,E1D2_FraEq_9,E1D3_FraConf_9,E1D4_FraNum_9,E1D5_FraMinT_9,E1D6_FraDec_9,E2_ProbFraDir_9,E3_EspFra_4,E4_ProbFraInv_9,E5_DecFra_9,60,30,40,40,40
Frazioni,10,1A,Test,E1D1_DefFra_10,E1D2_FraEq_10,E1D3_FraConf_10,E1D4_FraNum_10,E1D5_FraMinT_10,E1D6_FraDec_10,E2_ProbFraDir_10,E3_EspFra_5,E4_ProbFraInv_10,E5_DecFra_10,60,30,40,40,40
Frazioni,11,1A,Test,E1D1_DefFra_11,E1D2_FraEq_11,E1D3_FraConf_11,E1D4_FraNum_11,E1D5_FraMinT_11,E1D6_FraDec_11,E2_ProbFraDir_11,E3_EspFra_1,E4_ProbFraInv_11,E5_DecFra_11,60,30,40,40,40
Frazioni,12,1A,Test,E1D1_DefFra_12,E1D2_FraEq_12,E1D3_FraConf_12,E1D4_FraNum_12,E1D5_FraMinT_12,E1D6_FraDec_12,E2_ProbFraDir_12,E3_EspFra_2,E4_ProbFraInv_12,E5_DecFra_12,60,30,40,40,40
Frazioni,13,1A,Test,E1D1_DefFra_13,E1D2_FraEq_13,E1D3_FraConf_13,E1D4_FraNum_13,E1D5_FraMinT_13,E1D6_FraDec_13,E2_ProbFraDir_13,E3_EspFra_3,E4_ProbFraInv_13,E5_DecFra_13,60,30,40,40,40
Frazioni,14,1A,Test,E1D1_DefFra_14,E1D2_FraEq_14,E1D3_FraConf_14,E1D4_FraNum_14,E1D5_FraMinT_14,E1D6_FraDec_14,E2_ProbFraDir_14,E3_EspFra_4,E4_ProbFraInv_14,E5_DecFra_14,60,30,40,40,40
Frazioni,15,1A,Test,E1D1_DefFra_15,E1D2_FraEq_15,E1D3_FraConf_15,E1D4_FraNum_15,E1D5_FraMinT_15,E1D6_FraDec_15,E2_ProbFraDir_15,E3_EspFra_5,E4_ProbFraInv_15,E5_DecFra_15,60,30,40,40,40
Frazioni,16,1A,Test,E1D1_DefFra_16,E1D2_FraEq_16,E1D3_FraConf_16,E1D4_FraNum_16,E1D5_FraMinT_16,E1D6_FraDec_16,E2_ProbFraDir_16,E3_EspFra_6,E4_ProbFraInv_16,E5_DecFra_16,60,30,40,40,40
Frazioni,17,1A,Test,E1D1_DefFra_17,E1D2_FraEq_17,E1D3_FraConf_17,E1D4_FraNum_17,E1D5_FraMinT_17,E1D6_FraDec_17,E2_ProbFraDir_17,E3_EspFra_7,E4_ProbFraInv_17,E5_DecFra_17,60,30,40,40,40
Frazioni,18,1A,Test,E1D1_DefFra_18,E1D2_FraEq_18,E1D3_FraConf_18,E1D4_FraNum_18,E1D5_FraMinT_18,E1D6_FraDec_18,E2_ProbFraDir_18,E3_EspFra_8,E4_ProbFraInv_18,E5_DecFra_18,60,30,40,40,40
Frazioni,19,1A,Test,E1D1_DefFra_19,E1D2_FraEq_19,E1D3_FraConf_19,E1D4_FraNum_19,E1D5_FraMinT_19,E1D6_FraDec_19,E2_ProbFraDir_19,E3_EspFra_6,E4_ProbFraInv_19,E5_DecFra_19,60,30,40,40,40
Frazioni,20,1A,Test,E1D1_DefFra_20,E1D2_FraEq_20,E1D3_FraConf_20,E1D4_FraNum_20,E1D5_FraMinT_20,E1D6_FraDec_20,E2_ProbFraDir_20,E3_EspFra_7,E4_ProbFraInv_20,E5_DecFra_20,60,30,40,40,40
Frazioni,21,1A,Test,E1D1_DefFra_21,E1D2_FraEq_21,E1D3_FraConf_21,E1D4_FraNum_21,E1D5_FraMinT_21,E1D6_FraDec_21,E2_ProbFraDir_21,E3_EspFra_8,E4_ProbFraInv_21,E5_DecFra_21,60,30,40,40,40
Frazioni,22,1A,Test,E1D1_DefFra_22,E1D2_FraEq_22,E1D3_FraConf_22,E1D4_FraNum_22,E1D5_FraMinT_22,E1D6_FraDec_22,E2_ProbFraDir_22,E3_EspFra_6,E4_ProbFraInv_22,E5_DecFra_22,60,30,40,40,40
Frazioni,23,1A,Test,E1D1_DefFra_23,E1D2_FraEq_23,E1D3_FraConf_23,E1D4_FraNum_23,E1D5_FraMinT_23,E1D6_FraDec_23,E2_ProbFraDir_23,E3_EspFra_7,E4_ProbFraInv_23,E5_DecFra_23,60,30,40,40,40
Frazioni,24,1A,Test,E1D1_DefFra_24,E1D2_FraEq_24,E1D3_FraConf_24,E1D4_FraNum_24,E1D5_FraMinT_24,E1D6_FraDec_24,E2_ProbFraDir_24,E3_EspFra_8,E4_ProbFraInv_24,E5_DecFra_24,60,30,40,40,40
Frazioni,25,1A,Test,E1D1_DefFra_25,E1D2_FraEq_25,E1D3_FraConf_25,E1D4_FraNum_25,E1D5_FraMinT_25,E1D6_FraDec_25,E2_ProbFraDir_25,E3_EspFra_8,E4_ProbFraInv_25,E5_DecFra_25,60,30,40,40,40