Come inserire i segnalibri nei PDF

Pubblicato da Nicola Rainiero il 26-06-2012 (aggiornato il 13-05-2015)

La comodità di un buon indice nei documenti stampati è fondamentale per assicurare una veloce rintracciabilità dei contenuti desiderati e una loro rapida visione d'insieme. Nei PDF però il discorso cambia e anche se ben fatti, sono sempre troppo macchinosi e lenti, per non parlare di una loro consultazione negli ebook reader. I segnalibri diventano quindi una scelta obbligata, vediamo come inserirli con LaTex o con un comodo editor.

Leggendo e consultando vari tipi di PDF, ho notato quanto sia macchinoso cercare un particolare capitolo o paragrafo in essi, anche se dotati di indici e ben strutturati. Capita anche di avere a che fare con diverse numerazioni di pagina, cioè la prima parte viene numerata con numeri romani minuscoli, mentre quella restante inizia nuovamente con i classici numeri arabi. In questo modo la pagina desiderata nel PDF pur rispettando il posizionamento nell'indice, sarà gravata dal numero di pagine romane iniziali e ogni volta si dovrà fare ricorso ad una somma algebrica per azzeccare la pagina giusta.

In realtà esistono pure PDF con indici cliccabili che aggirano il problema, ma nell'ebook reader richiedono mano ferma e dito particolarmente piccolo e preciso per attivare il link, quindi aiutano ma fino ad un certo punto.

Per ovviare a tutto ciò si usano i segnalibri, una sorta di indice cliccabile richiamabile in qualsiasi punto del PDF senza dover cambiare pagina, come documentano i seguenti due file PDF:

I segnalibri nei PDF
ASSENTIPRESENTI
Un PDF senza bookmark
Un PDF con bookmark
 PDF senza segnalibri PDF con segnalibri creati con LaTeX

E se si volessero inserire o modificare? Lo si può fare in due modi: manualmente con LaTeX o con il comodo software java JPdfBookmarks.

Inserimento con LaTeX

Basta caricare il pacchetto pdfpages e hyperref ed includere le pagine seguendo questo esempio:

% Nel punto esatto dove si vogliono inserire le pagine del PDF
% si usa il comando \includepdf con specificato l'intervallo di pagine da includere
% e si aggiunge addtotoc per specificare quali pagine andranno a costituire i segnalibri

\includepdf[pages={5-10},addtotoc={
% Si comincia con l'inserimento degli elementi da aggiungere nei segnalibri e % in successione va specificato: % numero di pagina del riferimento, % tipo di sezionamento (chapter=capitolo,section=paragrafo, subsection=sotto paragrafo), % 1,{voce corrispondente che comparirà nell'indice}, % eventuale etichetta corrispondente io metto sempre “a”, % esempio:
5,chapter,1,{Primo capitolo},a,
% …, % l'ultimo collegamento deve essere privo della virgola finale
9,section,1,{II Paragrafo},a
% segue la chiusura con tra parentesi grafe il nome esatto del PDF da inserire }]{esempio_x_articolo.pdf}

Il file TEX finale per l'esempio riportato sopra è:

\documentclass{book}
\usepackage[english,italian]{babel}
\usepackage{pdfpages}	
\author{Nicola Rainiero}
\title{Esempio di PDF con o senza segnalibri}
\usepackage[pagebackref]{hyperref}
\begin{document}
\includepdf[pages={1-2},addtotoc={
1,chapter,1,{Copertina},a
}]{esempio_x_articolo.pdf}

\frontmatter
\includepdf[pages={3-4},addtotoc={
3,chapter,1,{Indice},a
}]{esempio_x_articolo.pdf}

\mainmatter
\includepdf[pages={5-10},addtotoc={
5,chapter,1,{Primo capitolo},a,
5,section,1,{Introduzione},a,
6,section,1,{II Paragrafo},a,
6,section,1,{III Paragrafo},a,
9,chapter,1,{Secondo capitolo},a,
9,section,1,{I Paragrafo},a,
9,section,1,{II Paragrafo},a
}]{esempio_x_articolo.pdf}

\end{document}

Si compila il tutto con pdflatex ed a meno di errori, il file risultante avrà i segnalibri come indicato nel file tex.

Inserimento con JPdfBookmarks

Una soluzione più versatile e pratica la fornisce questo ottimo programma GPLv3 che permette di personalizzare i segnalibri con colori e stili diversi e molte altre funzioni avanzate. Le due immagini qui sotto sono molto eloquenti:

Utilizzo di JPdfBookmarks
Si seleziona la pagina desiderata e si clicca con il tasto destro del mouse nella finestra dei segnalibriSi edita il corrispondente segnalibro
Per l'inserimento di un bookmark
Ora si definisce l'etichetta del bookmark

Una volta inseriti tutti i segnalibri che si ritengono utili si salva il tutto ed il gioco è fatto. Per maggiori informazioni e per conoscere le funzionalità avanzate su questo software consiglio di andare direttamente sul sito del progetto.




Potrebbero interessarti anche:

Nicola Rainiero

Ingegnere civile specializzato in geotecnica con l'ambizione di facilitare la propria attività lavorativa usando e creando software libero per un sapere condiviso e collettivo. Mi occupo anche di energie rinnovabili ed in particolare di geotermia a bassa entalpia. Sono da sempre appassionato di web design e modellazione 3D.