\chapter{Aggiunte}
\label{ref-12}

Questo capitolo descrive funzionalit{\`a} aggiuntive di {\mtex}. 
La sezione \ref{ref-12.1} descrive nuove macro. 
La sezione \ref{ref-12.2} descrive nuovi traduttori.

%-----------------------------------------------------------------------
\section{Macro}
\label{ref-12.1}

La sottosezione \ref{ref-12.1.1} descrive la macro \verb"ElencoTestimoni"\index{\bs{}ElencoTestimoni}, introdotta per riconoscere le sigle dei testimoni inserite inavvertitamente.
La sottosezione \ref{ref-12.1.2} descrive la macro \verb"textcircled"\index{\bs{}textcircles}, introdotta per gestire la stampa - verso \textsc{html} - di caratteri alfanumerici.
La sottosezione \ref{ref-12.1.3} descrive la macro \verb"banale"\index{\bs{}banale}, introdotta per gestire la stampa di varianti banali codificate come ``parte di'' varianti effettive.

%-----------------------------------------------------------------------
\subsection{ElencoTestimoni}
\label{ref-12.1.1}

\verb"ElencoTestimoni"\index{\bs{}ElencoTestimoni} rappresenta un insieme di ``testimoni ammissibili''. Accetta un argomento la cui sintassi {\`e} equivalente a quella del primo sottocampo di \verb"VV"\index{\bs{}VV}, \verb"VB"\index{\bs{}VB}, \verb"TV"\index{\bs{}TV}, \verb"TB"\index{\bs{}TB} (cfr. \S\,\ref{ref-10.5.1}) o \verb"Folium"\index{\bs{}Folium} (cfr. \S\,\ref{ref-3.5.1}). 

Utilizzare questa macro {\`e} opzionale: pu{\`o} essere inserita nel prologo - ovvero prima di \verb"\begin{document}"\index{\bs{}begin\{document\}} - eventualmente seguita da spazi. Se presente, definisce un controllo automatico sulle etichette utilizzate in \verb"VV"\index{\bs{}VV}, \verb"VB"\index{\bs{}VB}, \verb"TV"\index{\bs{}TV}, \verb"TB"\index{\bs{}TB} o \verb"Folium"\index{\bs{}Folium}: ogni occorrenza di un testimone \textbf{non} corrispondente a uno dei testimoni ammissibili genera un ``messaggio di avvertimento'' (cfr. \S\,\ref{ref-11.1.1}).

\noindent Pu{\`o} essere utilizzata pi{\`u} volte (sempre nel prologo): in tal caso l'insieme dei testimoni ammissibili corrisponde all'unione degli insiemi definiti in ciascuna occorrenza della macro.

Ciascun testimone ammissibile dovrebbe essere definito da una sigla univoca. Nel caso in cui appaia una sigla ripetuta in una stessa o in diverse occorrenze di \verb"ElencoTestimoni"\index{\bs{}ElencoTestimoni} viene generato un corrispondente messaggio di avvertimento.

%-----------------------------------------------------------------------
\subsubsection{Esempi}
Segue una lista di esempi diversi a seconda della tipologia di \textit{\textbf{argomento}}

\begin{description}
\item[\textit{vuoto}:] \verb"\ElencoTestimoni{}"\index{\bs{}ElencoTestimoni\{\}}. Un messaggio di errore sintattico informa circa la linea di codice in cui {\`e} inserita questa occorrenza della macro.
\item[\textit{unico}:] ad esempio \verb"\ElencoTestimoni{A}"\index{\bs{}ElencoTestimoni\{*\}}. Ogni linea di codice in cui appare un testimone diverso da \verb"A"\index{A} genera un messaggio di avvertimento.
\item[\textit{duplicato}:] ad esempio \verb"\ElencoTestimoni{A/A}"\index{\bs{}ElencoTestimoni\{A/A\}}. Un messaggio di avvertimento informa circa l'esistenza di un duplicato in corrispondenza della linea di codice in cui {\`e} stata inserita questa occorrenza della macro; inoltre ogni linea di codice in cui appare un testimone diverso da \verb"A"\index{A} genera un messaggio di avvertimento.
\item[\textit{multiplo}:] ad esempio \verb"\ElencoTestimoni{A/B}"\index{\bs{}ElencoTestimoni\{A/B\}}. Ogni linea di codice in cui appare un testimone diverso da \verb"A"\index{A} o \verb"B"\index{B} genera un messaggio di avvertimento.
\end{description}

\noindent \textbf{Nota}: la macro ignora il significato ``speciale'' (cfr. \S\,\ref{ref-3.2.1}) di caratteri che corrispondono a elementi propri del linguaggio {\mtex} quali ad esempio \verb"*"\index{*} e \verb"+"\index{+}. In altre parole, \verb"*"\index{*} {\`e} ``diverso'' - ad esempio - da \verb"A"\index{A}. Cosa succede se scriviamo \verb"\ElencoTestimoni{*}"\index{\bs{}ElencoTestimoni\{*\}}?

%-----------------------------------------------------------------------
\subsection{textcircled}
\label{ref-12.1.2}

\verb"textcircled"\index{\bs{}textcircled} gestisce caratteri alfanumerici chiusi. 
Accetta un argomento e va inserita all'interno del documento. 

La tabella seguente mostra il risultato della traduzione in codice \textsc{html} di \verb"\textcircled{"\index{\bs{}textcircled{}}$N$\verb"}"\index{\bs{}} operata da \verb"m2hv"\index{m2hv} (traduzione equivalente a quella di \verb"m2web"\index{m2web}) per i casi di $N$ compreso tra $1$ e $20$. I traduttori verso dialetti {\LaTeX} mantengono invariata la sintassi della macro.

\begin{center}
\footnotesize
\begin{tabular}{c|c}
                                               \mtex & \textsc{html}                     \\
\verb"\textcircled{1} "\index{\bs{}textcircled{1 }} & \verb"&#9312;"\index{\&\#9312;}\\
\verb"\textcircled{2} "\index{\bs{}textcircled{2 }} & \verb"&#9313;"\index{\&\#9313;}\\
\verb"\textcircled{3} "\index{\bs{}textcircled{3 }} & \verb"&#9314;"\index{\&\#9314;}\\
\verb"\textcircled{4} "\index{\bs{}textcircled{4 }} & \verb"&#9315;"\index{\&\#9315;}\\
\verb"\textcircled{5} "\index{\bs{}textcircled{5 }} & \verb"&#9316;"\index{\&\#9316;}\\
\verb"\textcircled{6} "\index{\bs{}textcircled{6 }} & \verb"&#9317;"\index{\&\#9317;}\\
\verb"\textcircled{7} "\index{\bs{}textcircled{7 }} & \verb"&#9318;"\index{\&\#9318;}\\
\verb"\textcircled{8} "\index{\bs{}textcircled{8 }} & \verb"&#9319;"\index{\&\#9319;}\\
\verb"\textcircled{9} "\index{\bs{}textcircled{9 }} & \verb"&#9320;"\index{\&\#9320;}\\
\verb"\textcircled{10}"\index{\bs{}textcircled{10}} & \verb"&#9321;"\index{\&\#9321;}\\
\verb"\textcircled{11}"\index{\bs{}textcircled{11}} & \verb"&#9322;"\index{\&\#9322;}\\
\verb"\textcircled{12}"\index{\bs{}textcircled{12}} & \verb"&#9323;"\index{\&\#9323;}\\
\verb"\textcircled{13}"\index{\bs{}textcircled{13}} & \verb"&#9324;"\index{\&\#9324;}\\
\verb"\textcircled{14}"\index{\bs{}textcircled{14}} & \verb"&#9325;"\index{\&\#9325;}\\
\verb"\textcircled{15}"\index{\bs{}textcircled{15}} & \verb"&#9326;"\index{\&\#9326;}\\
\verb"\textcircled{16}"\index{\bs{}textcircled{16}} & \verb"&#9327;"\index{\&\#9327;}\\
\verb"\textcircled{17}"\index{\bs{}textcircled{17}} & \verb"&#9328;"\index{\&\#9328;}\\
\verb"\textcircled{18}"\index{\bs{}textcircled{18}} & \verb"&#9329;"\index{\&\#9329;}\\
\verb"\textcircled{19}"\index{\bs{}textcircled{19}} & \verb"&#9330;"\index{\&\#9330;}\\
\verb"\textcircled{20}"\index{\bs{}textcircled{20}} & \verb"&#9331;"\index{\&\#9331;}\\
\end{tabular}
\end{center}

\noindent Per $N$ \textbf{non} compreso tra 1 e 20, il traduttore ``sfrutta'' la sintassi \textsc{css}. Ad esempio, \verb"\textcircled{21}"\index{\bs{}textcircled{21}} viene codificato tramite \verb"m2hv"\index{m2hv} (e \verb"m2web"\index{m2web}) come segue.

\begin{center}
\footnotesize
\verb"<span style=``border:1px solid black;border-radius:50\%\%;''>21</span>"\index{\bs{}}
\end{center}

\noindent Maggiori informazioni sui caratteri alfanumerici chiusi all'indirizzo \url{http://unicode.org/charts/beta/nameslist/c_2460.html}
\noindent Maggiori informazioni sulla sintassi \textsc{css} all'indirizzo \url{https://www.w3.org/Style/CSS}

%-----------------------------------------------------------------------
\subsection{banale}
\label{ref-12.1.3}

\verb"banale"\index{\bs{}banale} rappresenta un'indicazione aggiuntiva riferibile a uno o pi{\`u} testimoni.

Utilizzare questa macro {\`e} opzionale: pu{\`o} essere postposta - una sola vola e senza introdurre spaziatura - alla scrittura del primo sottocampo di uno o pi{\`u} argomenti di \verb"VV"\index{\bs{}VV}, \verb"VB"\index{\bs{}VB}, \verb"TV"\index{\bs{}TV} o \verb"TB"\index{\bs{}TB} (cfr. \S\,\ref{ref-10.5.1}). Se presente, inibisce l'uscita a stampa della porzione di macro a cui si riferisce (attenzione quindi a non postpostporla al primo sottocampo di \textbf{ogni} argomento, altrimenti comparir{\`a} in apparato una nota \textbf{vuota}).

%-----------------------------------------------------------------------
\subsubsection{Esempi}
Seguono tre esempi diversi che producono lo stesso risultato, mostrato in fondo.

{\footnotesize
\begin{verbatim}
Sit data \VV{{A:ratio}{B\banale:gratia}{C:latio}}, sit datus cubus.

Sit data \VV{{A:ratio}{B/D\banale:gratia}{C:latio}}, sit datus cubus.

Sit data \VV{{A:ratio}{B\banale:gratia}{C:latio}{D\banale:ratjo}}, sit datus cubus.
\end{verbatim}
}
\begin{maurotex}
Sit data \VV{{A:ratio}{C:latio}                                 }, sit datus cubus.
\end{maurotex}

%-----------------------------------------------------------------------
\section{Traduttori}
\label{ref-12.2}

Ogni traduttore {\`e} denominato ``m2'' seguito da una stringa diversa a seconda del linguaggio di destinazione (cfr. \S\,{ref-12.2.1}, \S\,{ref-12.2.2}).

%-----------------------------------------------------------------------
\subsection{m2ledmac}
\label{ref-12.2.1}

Introdotto nel 2020, \verb"m2ledmac"\index{\bs{}m2ledmac} produce un output in formato \textit{reledmac}.\\ \textbf{Nota}: potrebbe generare occorrenze di testo che 
\begin{enumerate}
\item iniziano con \verb"\pstart"\index{\bs{}pstart}
\item sono seguite \textbf{esclusivamente} caratteri di spaziatura o di nuovo capoverso
\item terminano con \verb"\pend"\index{\bs{}pend}
\end{enumerate}

\noindent Maggiori informazioni sul linguaggio di destinazione all'indirizzo \url{https://ctan.org/pkg/reledmac}.
