Aggiungere il “dialetto” di LaTeX ad un atto telematico
Nello scorso articolo abbiamo visto come usare il markdown per dare una formattazione di base al nostro (futuro) atto telematico; in questo articolo vedremo aggiungere ulteriori e più avanzate caratteristiche tipografiche al documento.
I link che trovate qui sotto vi permettono di leggere l'intera serie di articoli e saranno attivi dalla data di pubblicazione dei singoli articoli.
- Perché non usare un programma di video-scrittura per scrivere un atto telematico?
- Come scrivere un atto telematico avanzato in Markdown (quello che state leggendo)
- Aggiungere il “dialetto” di LaTeX ad un atto telematico scritto in markdown
- Compilare un atto telematico in markdown con Pandoc
3. Aggiungere il “dialetto” di LaTeX
Il markdown, come dicevo nell'articolo precedente, nasce per scrivere testo in modo semplice rispetto all’HTML. Nascendo come strumento per sostituire la codifica HTML il markdown non ha strumenti di allineamento del testo.
Per fare questo ed altro, è quindi necessario aggiungere all’interno del testo formattato in markdown anche del “dialetto” (ovvero del linguaggio di markup) in LaTeX.
Quello che esamineremo assieme è poca roba, ma vi darà anche un primo assaggio di come funziona LaTeX.
3.1 Le basi di LaTeX
Ogni comando di LaTeX è introdotto dal backlash, in italiano barra rovesciata, ovvero “\”.
Dopo la barra rovesciata segue il nome del comando e tra parentesi graffe l’argomento del comando mentre, le eventuali opzioni sono aggiunte tra parentesi quadre.
Non preoccupatevi, ora sembra molto astratto, ma nei prossimi punti vedremo degli esempi pratici che ci permetteranno di comprendere meglio.
3.2 Testo centrato e a destra
Usando Pandoc e il modello (template) di base per LaTeX, senza fare nulla, il vostro testo sarà reso giustificato e provvederà a sillabare le parole e troncarle nel caso una parola intera non riesca a state nella riga (secondo la regola tipografica per cui, se si giustifica il testo, deve sempre attivarmi la sillabazione).
Ma come è possibile differire dalla regola (ovvero il testo giustificato)?
È relativamente semplice: per il testo centrato è sufficiente impostare il seguente comando:
\begin testo da rendere centrato \end
Per il testo da allineare a destra invece si userà il seguente comando:
\begin testo da allineare al margine destro \end
\begin
testo da allineare al margine destro
\end
Tutto il testo compreso tra il comando \begin
(inizio in italiano) ed il comando \end
(fine in italiano) verrà centrato (con il parametro center ovvero centra) o verrà allineato al margine destro (con il parametro flushright traducibile come “scorri a destra”).
3.3 Creare un indice delle sezioni e sotto-sezioni
Un primo risultato positivo del lavoro sino ad ora fatto è che per creare l’indice dell’atto è sufficiente inserire il seguente comando.
\tableofcontents
LaTeX provvederà a creare l’indice completo inserendo le pagine corrispondenti alle rispettive sezioni e sottosezioni. Inserire un indice in un atto telematico è sicuramente utile per atti di decine di pagine; è altresì utile per atti di poche pagine perché, se si è dato dei nomi significativi e chiari alle singole sezioni, con un colpo d’occhio il lettore saprà già di cosa tratta il nostro documento.
A prescindere dalla presenza dell'indice all'interno del vostro documento PDF vero e proprio, una volta compilato il testo in markdown e LaTeX, se avete inserito le sezione e sotto-sezioni come mostrato al punto 2.1 del precedente articolo, verrà generato automaticamente un indice (secondo la terminologia di Anteprima) ovvero i segnalibri (secondo la terminologia di Acrobat Reader) che permetterà all'utente di muoversi velocemente all'interno del documento.
Se il PDF così generato verrà poi aperto in Acrobat Reader il lettore si troverà già aperto l'indice dei segnalibri sulla sinistra. In questo modo anche se il lettore non fosse un utente esperto potrà avvedersi di questa funzione avanzata e molto utile.
3.4 Intestazione YAML
Innanzitutto vi chiederete che cos’è una intestazione YAML, immagino.
YAML (pronunciato ˈjæməl, in rima con camel ) è un formato per la serializzazione di dati utilizzabile da esseri umani (fonte Wikipedia) e, nel nostro caso, permette di inserire all’interno del semplice file di testo in markdown dei parametri aggiuntivi per personalizzare le impostazioni di LaTeX.
Per aprire una intestazione YAML occorre, all’inizio del nostro documento di tasto, inserire tre trattini “---“ e, per concludere l’intestazione YAML tre punti “...” (da non confondere con i punti di sospensione che sono un unico carattere).
Con l’intestazione YAML che segue imposteremo il nome dell’autore del documento (che risulterà visibile nelle proprietà del PDF generato da LaTeX) nonché alcune personalizzazioni ulteriori.
--- author: - Nome dell’autore header-includes: | \usepackage \usepackage \pagestyle \lhead{N. 1/2019 R.G.} \rhead{Testo da mostrare nella testatina} \cfoot{\thepage\ di \pageref \rfoot ...
È ovviamente possibile inserire più autori basterà aggiungere dei trattini “-” e il nome di un autore.
La seconda parte del codice è un po’ più complessa e cercherò di darvi le informazioni minime per comprendere senza farvi un inutile trattato.
LaTeX è composto da un gruppo di comandi fondamentali su cui possono essere aggiunti ulteriori comandi di espansione. Questi comandi aggiuntivi sono contenuti in pacchetti che possono essere installati all’interno di LaTeX. Un pacchetto aggiunge specifiche funzioni a LaTeX.
Nel nostro caso specifico usando l’espressione header-includes
diciamo a LaTeX di includere alcuni pacchetti.
Nello specifico i pacchetti sono lastpage (“ultima pagina” in italiano) e fancyhdr (che sta per fancy header ovvero, in italiano, “intestazione estrosa”).
Questi due pacchetti, come forse avete già capito, permettono di inserire rispettivamente:
- lastpage: il numero dell’ultima pagina del documento, per avere piede di pagina non solo il numero della pagina corrente ma anche il numero totale di pagine del documento; io sono piuttosto fissato nel far sapere subito al mio lettore quante pagine si dovrà “sorbire”;
- fancyhdr: aggiunge la possibilità di personalizzare la testatina e il piè di pagina; in particolare utilizzando i parametri successivi a
\pagestyle{fancy}
La configurazione della testatina e del piè di pagina è personale e soddisfa le mie specifiche preferenze ma modificare questa configurazione è molto semplice.
I comandi \lhead
e \rhead
indicano cosa inserire nella testatina di sinistra e di destra il testo che si vuole far apparire; il testo deve essere racchiuso all’interno delle parentesi graffe (come vi ho spiegato nel punto 3.1).
Head in inglese significa testa e prima di detto termine c’è una lettera a simboleggiare left (sinistra) center (centro) right (destra).
Ovviamente se voleste inserire solo qualcosa nel centro della testatina dovreste usare il comando \chead
che qui ho omesso perché non è possibile inserire del testo sia nella sinistra che nel centro ed a destra.
Stesso principio per il piè di pagina che utilizza il differente comando cfoot
per inserire il numero delle pagine al centro del piè di pagina (foot = piede in italiano).
Il comando rfoot
inserisce il numero della pratica alla destra e non credo abbia bisogno di spiegazioni (personalmente lo trovo comodo per individuare rapidamente la pratica associata all’atto).
Una spiegazione più approfondita invece merita la riga \cfoot{\thepage\ di \pageref{LastPage}}
.
In questa riga si intersecano i due pacchetti lastpage e fancyhdr. L’ultimo infatti viene usato per stampare, al centro del piè, il numero della pagina corrente usando il comando \thepage
aggiungere il testo “di” e poi, usando il pacchetto lastpage il riferimento all’ultima pagina del documento usando il comando \pageref{LastPage}
. Si otterrà così al centro del piè di pagina un testo tipo “1 di 10”.
Ultimissima precisazione, che forse i più attenti di voi avranno notato, è necessaria per l’aggiunta degli spazi vuoti la barra rovesciata tra “\thepage” e “di”. Tale aggiunta è necessaria perché altrimenti LaTeX non stamperebbe lo spazio tra il numero della pagina corrente e la parola “di”. Questo perché abitualmente lo spazio dopo un comando viene interpretato da LaTeX semplicemente come delimitatore della fine del comando stesso e non come un vero spazio.
3.5 … e molto altro ancora
Come vi accennavo all’inizio di questa parte, i comandi di LaTeX sono tantissimi ed in questo articolo abbiamo toccato solo la cosiddetta punta dell’iceberg. Spero e credo, comunque, che quanto vi ho illustrato risolva la maggior parte delle esigenze di un avvocato.
In conclusione
In questo articolo abbiamo visto come aggiungere le caratteristiche avanzate per creare un PDF ben impaginato usando LaTeX; nel prossimo articolo, l'ultimo, vedremo come creare il PDF vero e proprio attraverso Pandoc e vi lascerò un modello di base su cui potrete sperimentare le regole che vi ho fino ad ora spiegato (le immagini di questo articolo sono prese proprio dall’esempio che vi allegherò nell'ultimo articolo).
Gli altri articoli della serie: