Come incorporare PDF in un documento e creare link e segnalibri a pagine specifiche di un PDF usando LaTeX ed Overleaf
Questo articolo nasce dalla mia necessità di accorpare in un unico PDF differenti documenti ma mantenerne la loro unicità, permettendo di esaminarli velocemente inserendo un indice dei documenti inseriti così come i segnalibri ai documenti stessi.
Utilizzerò il fido LaTeX. Credo tuttavia che questo articolo possa venir comodo a molti perché permette di fare, con relativa semplicità, cose che abitualmente richiedono software a pagamento. Non ti sarà richiesto di conoscere troppo di LaTeX e, potrai svolgere il tutto grazie un account gratuito di Overleaf.
A tal proposito ti segnalo il mio webinar di 3 ore sull’utilizzo di Overleaf nella professione legale.
1. Una o due premesse …
Anzitutto ti segnalo che questo articolo dovrebbe essere parte di una serie, sono infatti riuscito a creare una automazione con Comandi Rapidi per automatizzare la creazione di un documento che ne incorpori altri con indice, e segnalibri che puntano ai singoli documenti.
Questo articolo quindi si occuperà della teoria e del come fare le singole cose per avere le basi per comprendere l’automazione che ho creato.
Avevo in cantiere da mesi la creazione di un articolo su come incorporare i documenti dentro un atto creato con LaTeX ed Overleaf.
Da ultimo, per motivi di brevità e per non ripetermi, darò per scontato che tu conosca un minimo l’utilizzo di LaTeX qui trovi una serie di articoli che ho scritto e che ti accompagnano passo, passo ad imparare le basi per lavorare con LaTeX.
Vediamo quindi i pacchetti che ci servono per creare un documento interattivo che ne contenga altri e permetta di muoversi grazie ad un indice nella prima pagina ed i segnalibri del PDF.
2. Incorporare in un documento dei PDF
I pacchetti sono particolari programmi che permettono di estende le capacità di LaTeX.
Il primo pacchette che esamineremo è pdfpages
(qui trovi il link al CTAN). Questo pacchetto semplifica l’inclusione di documenti PDF esterni multipagina nei documenti LaTeX.
Il funzionamento è semplice.
Nell’intestazione del nostro documento LaTeX dovremo caricare il pacchetto con la solita espressione:
\usepackage{pdfpages}
Poi nel corpo del documento LaTeX al punto opportuno dovrai inserire il seguente comando:
\includepdf[pages=-]{nome del file PDF da inserire.pdf}
L’opzione “pages=-” indica di inserire tutte le pagine del PDF ma è anche possibile inserire solo alcune pagine del pdf. Ad esempio con l’espressione pages={3,{},8-11,15}
inserirà la pagina 3, una pagina vuota, e le pagine 8, 9, 10, 11 e 15.
Ci sono svariate opzioni che puoi trovare documentate nel manuale del pacchetto ma, per quel che ci interessa qui, l’uso di pages=-
è più che sufficiente.
Occorrerà quindi includere i singoli PDF da inserire nell’unico PDF, come mostrato nell’immagine sottostante.
3. Creare link ad una pagine del documento
Per creare il link ad una pagina specifica si utilizza un “trucco” ovvero l’ancora implicita alla pagina usando il comando \hyperlink
. Non è consigliatissimo come metodo, ma per i nostri scopi è più che sufficiente.
È utile sapere che questo metodo fa sì che il link salti nell'angolo in alto a sinistra della pagina dove l'ancoraggio della pagina viene inserito automaticamente. Il livello di zoom non viene modificato, quindi se hai un grande fattore di zoom prima potresti non vedere l'intera pagina.
Fatte questo dovute premesse, usando un comando simile è possibile puntare ad una specifica pagina del documento composto dai PDF.
\hyperlink{Testo che comparirà come link}
Il link punterà quindi alla pagina 2 ed avrà il testo compreso tra le parentesi graffe.
Per le mie necessità ho inserito i link ai PDF incorporati in un elenco numerato, come si vede nell’immagine sottostante.
Come si vede a sinistra c’è la versione LaTeX ed a destra l’anteprima del documento fatto e finito.
Il grosso problema di questa soluzione è che i conteggi della pagina a cui far puntare i singoli link devono essere fatti a mano, così come la descrizione del documento a cui punta il link.
Questo mi ha fatto pensare a come automatizzare l’attività, soprattutto se i documenti incorporati sono tanti.
Ovviamente questo “trucco” funziona non solo in questo contesto ma ogni qual volta tu voglia creare un link ad una pagina specifica.
4. Creare segnalibri a pagine specifiche del documento
Vediamo infine come creare segnalibri a pagine specifiche del documento.
I segnalibri sono una funzione molto utile del PDF, permettono infatti di muoversi velocemente da una parte all’altra del documento.
Non tutte i visualizzatori di PDF usano il nome “segnalibri” ma la funzione è più o meno implementata in tutti i lettori, ad esempio qui sotto puoi vedere i “segnalibri” implementati in Anteprima di macOS.
Da quel che ho potuto notare solo Acrobat Reader implementa la visualizzazione automatica dei segnalibri alla sinistra del documento, per Anteprima, ad esempio è necessario usare la scorciatoia a tastiera ⌥⌘3 o andare sull’icona della barra laterale, come mostrato al punto 1 dell’immagine soprastante e scegliere la voce “indice” (punto 2).
La creazione dei segnalibri tuttavia è piuttosto complessa e richiede, abitualmente, l’utilizzo di programmi a pagamento (in primis Acrobat DC).
Con LaTeX invece si può far tutto senza particolare complessità.
4.1 Il pacchetto bookmark per creare i segnalibri
Per fare ciò occorre utilizzare il pacchetto bookmark.
Piccola premessa: se utilizzi le sezioni e sottosezioni di LaTeX questo ti genera già l’indice dell’atto ed i segnalibri in automatico. Qui, tuttavia, non useremo questo metodo che è poco funzionale per puntare a specifiche pagine del documento. Infine, il pacchetto bookmark
permette di fare anche riferimenti incrociati e molto altro ma, come sempre, in questo articolo, mi soffermerò solo sulla creazione di link a pagine specifiche del documento.
Come sempre, come prima cosa, occorre inserire nell’intestazione del nostro documento LaTeX il pacchetto:
\usepackage
A questo punto, all’interno del documento, occorrerà inserire i vari bookmarks.
Per fare ciò è sufficiente inserire il seguente comando:
\bookmark[page=1]{Testo che comparirà nel segnalibro}
Come sempre l’opzione page=1
indica la pagina del documento a cui si vuole far puntare il segnalibro.
Di seguito ti mostro cosa ho inserito per creare i segnalibri che ti ho mostrato nelle immagini precedenti.
Anche qui, purtroppo, occorre indicare la pagina manualmente e, conseguentemente, fare i conti a mano.
Ti segnalo, infine, che seppur non è lo scopo di questo articolo, utilizzando questo sistema (ovvero incorporando un PDF nel nostro documento LaTeX) è possibile creare segnalibri arbitrari a pagine specifiche del documento.
A tal proposito immagina di avere un documento di molte pagine, ad esempio un contratto, in cui ti interessa far vedere una o due clausole in pagine distanti. Creando con questo sistema dei segnalibri specifici alle pagine in cui sono contenute le clausole e nominando i segnalibri in modo adeguato è possibile rendere la vita al lettore (presumibilmente il magistrato) molto più semplice.
5. Mettere tutto insieme
Ora che sai come svolgere le singole operazioni, vediamo come mettere insieme tutto e creare un documento interattivo che si compone di più documenti.
Come mostrato nell’immagine soprastante (un progetto LaTeX in Overleaf) ho caricato i PDF nel mio progetto (punto 1), se avessi usato solo LaTeX i documenti si sarebbero dovuti trovare nella medesima cartella del mio file .tex
.
Ho quindi incorporato i file nel documento finale (punto 4), visto a quale pagina iniziavano i documenti, segnato da una parte, ed inserito i link (creando un elenco numerato – punto 3) ed i segnalibri (punto 2).
Il risultato finale è mostrato nell’anteprima di Overleaf nella parte destra dell’immagine soprastante (punto 5).
Come si vede l’operazione, seppur non particolarmente complessa, è tediosa e poco scalabile (nell’ipotesi di avere decine di documenti da inserire).
Questo mi ha stimolato a trovare un modo per auto-generare il tutto, soprattutto per fare il conteggio delle pagine in cui iniziano i PDF incorporati.
Ma questo sarà l’oggetto di un futuro articolo.
In conclusione
Ogni volta che mi metto a giocare con LaTeX ed Overleaf per risolvere in modo elegante un problema della mia attività professionale mi stupisco sempre della flessibilità e del potere che questi strumenti mi offrono.
So perfettamente che nel mondo legale nessuno si azzarda solo a pensare di utilizzare qualcosa di diverso da Microsoft Word ma continuo a constatare che scrivere in testo semplice mi permette di fare cose che non mi potrei altrimenti mai sognare, una volta superato lo scoglio di conoscere le basi per scrivere in testo semplice (in markdown o LaTeX).
Di seguito ti lascio un breve video dimostrativo dell’automazione che ho creato per fare tutto quello che ti ho descritto fin qui e che ho condiviso in anteprima con gli iscritti al canale Telegram di Avvocati e Mac.
Come sempre, se ti è piaciuto quel che hai letto o visto e non l’hai già fatto, ti suggerisco di iscriverti alla mia newsletter. Ti avvertirò dei nuovi articoli che pubblico (oltre ai podcast e video su YouTube) e, mensilmente, ti segnalerò articoli che ho raccolto nel corso del mese ed ho ritenuto interessanti.