Alcune migliorie al mio metodo di scrivere atti telematici avanzati in Markdown
Nella serie di articoli elencata di seguito, vi ho descritto il metodo che uso per scrivere atti telematici avanzati in Markdown, Pandoc e LaTeX.
- Perché non usare un programma di video-scrittura per scrivere un atto telematico?
- Come scrivere un atto telematico avanzato in Markdown
- Aggiungere il “dialetto” di LaTeX ad un atto telematico
- Compilare un atto telematico in markdown con Pandoc
1. Il problema: la complessità del comando a terminale per convertire il Markdown in PDF
Come vi descrivevo nell’ultimo articolo della serie il comando a terminale per la conversione del file Markdown in PDF è relativamente complesso:
input.md --pdf-engine=xelatex -V lang=it -V colorlinks -o output.pdf
Con Keyboard Maestro ho creato una automazione per evitare tutto questo, ed è anche possibile scrivere degli script per automatizzare a terminale (se avrò tempo ve ne parlerò in un futuro articolo); tuttavia l’approccio non era molto elegante ed efficace.
2. Alcuni ulteriori trucchi di utilizzo del formato YAML
Come saprete nell’ultimo periodo, nei ritagli di tempo, sto approfondendo il mondo Linux (ne ho parlato in questa puntata del mio podcast Compendium) anche grazia al sito Linux Academy.
Ho così seguito un breve corso sul formato YAML che, come scrivevo qui (al punto 3.4), permette di inserire alcune personalizzazioni della conversione finale del vostro file .MD in .PDF.
2.1 Le aggiunte all’intestazione YAML
Spulciando la documentazione di Pandoc e facendo qualche tentativo ho potuto inserire direttamente nell’intestazione YAML due utili semplificazioni:
- La lingua da usare per la creazione del documento (l’italiano nel caso in esame);
- Il formato del foglio finale del PDF, ovvero l’A4.
Di seguito vedete la mia “nuova” intestazione YAML.
---
lang: it
author:
- Filippo Strozzi
papersize:
- a4
header-includes: |
\usepackage
\usepackage
\usepackage
\usepackage
\pagestyle
\lhead{R.G. 1/2019}
\rhead{Esempio di file YAML}
\cfoot{\thepage\ di \pageref
\rfoot{Numero di riferimento pratica}
...
Le modifiche sono relativamente semplici:
- Con il comando
lang: it
si imposta la lingua (se volessimo usare l’inglese dovremmo scrivere “en” e così via). “Lang” è l’abbreviazione di language ovvero linguaggio, in italiano. - Impostando poi
papersize
è possibile scegliere il formato del foglio in cui verrà creato il PDF. Io ho impostato l’A4 ma ovviamente potete scegliere il formato che più vi aggrada.
papersize:
- a4
2.2 Il pacchetto Tcolorox
Da ultimo segnalo che, allo stato, ho aggiunto un nuovo pacchetto LaTeX che trovo molto comodo, ovvero: tcolorbox.
Il pacchetto permette, in modo molto semplice, di creare dei riquadri colorati che io ho deciso di utilizzare per la dichiarazione di valore degli atti introduttivi in modo da farla risaltare maggiormente nel corpo dell’atto.
L’utilizzo di questo pacchetto, ovviamente, può essere dei più vari.
Di seguito riporto il semplice codice per creare questo tipo di riquadro.
\begin
\begin
DICHIARAZIONE DI VALORE:
\end
Si certifica che il valore della presente causa è pari ad € \CanoniScad\ ed, ai sensi dell'art.9 della L. N.488/99 e successive modifiche, valore del contributo unificato è pari ad € \CU.
\end
Per i curiosi, leggendo il manuale del pacchetto (in inglese), è possibile fare molto di più: scegliendo il colore, il gradiente e tante tante altre cose.
Ultima nota: rispetto all’immagine soprastante avrete visto che all’interno del documento non vengono riportate le cifre del Contributo Unificato o il valore della causa ma dei segnaposto ( \CanoniScad
e \CU
). Questa è un’altra funzione di “automazione” utilizzabile con LaTeX, ve ne parlerò in un futuro articolo.
2.3 Il problema irrisolto del motore di rendering alternativo
Con la semplice modifica che ho apportato ora il comando a terminale per eseguire la conversione diviene il seguente:
input.md --pdf-engine=xelatex -o output.pdf
Come potete vedere il comando è molto più semplice.
Non sono tuttavia riuscito a togliere la parte legata alla scelta del motore di conversione XeLaTeX.
Come dicevo al punto 4.3 di questo articolo l’utilizzo di questo motore di conversione (differente da quello standard) è una scelta più o meno necessitata se si è taglia incollato del testo nel nostro documento Markdown. Spesso infatti, così facendo, vengono incollati dei caratteri Unicode non gestiti dal motore di conversione standard di LaTeX e questo porta a ricevere dei messaggio di errore quando si esegue la conversione.
Ho cercato in vari modi di inserire la scelta del motore direttamente nell’intestazione YAML ma non ci sono riuscito. Se qualcuno più esperto di me ci riuscisse ovviamente lasci qui sotto un commento.
3. Automazione con TextExpander
Chiudo questo articolo con un’ulteriore piccola automazione …
Come potrete immaginare digitare il testo dell’intestazione YAML non è qualcosa più piacevole, anche solo taglia / incollare richiede di cercare e poi aprire un precedente documento con l’intestazione corretta.
Ho quindi ben pensato di automatizzare il tutto con TextExpander.
Siccome sto scrivendo questo articolo su iPad le immagini che vedete sono della versione per iOS di TextExpander (nello specifico la versione 5 che io uso tuttora) ma non dovreste avere problemi con quella per macOS.
Qui di seguito vedete lo snippet che ho creato, permette di inserire i dati variabili all’apertura dello snippet stesso.
Di seguito vedete invece lo snippet in azione.
E da ultimo il “risultato finale” dell’espansione (in Drafts 5).
In conclusione
Questo breve articolo dimostra come ancora il mio metodo per scrivere atti telematici sia in continuo divenire. Nei mesi credo di aver ormai stabilizzato le caratteristi principali di questo metodo ma man mano che affronto nuovi problemi cerco sempre più di ottimizzarlo.
Se ci saranno ulteriori novità non mancherò di scriverle.
Come sempre se avete commenti o domande potete lasciarli qui sotto, ovvero scrivermi una email.