TeX e LaTeX. BibTeX

BibTeX è un sistema di gestione della bibliografia per LaTeX.

Si presuppone di avere un database bibliografico in formato BibTeX con tutte una serie di opere. Questo database non è nient'altro che un semplice file di testo in cui ogni opera è identificata da una chiave.

Le varie opere possono essere citate nel vostro documento tramite la chiave che le identifica nel database. Oltre che la semplice compilazione si dovrà poi usare un programma esterno che, guardando le opere citate nel vostro documento, riesca a creare il codice per la bibliografia in modo che possa essere facilmente usata da LaTeX alla compilazione successiva.

Inizialmente questo sistema è più difficile da usare ma con il tempo si capisce quanto questo strumento sia potente, soprattutto per una persona che scrive spesso sullo stesso argomento e quindi cita molte volte, in diverse opere, gli stessi articoli, a volte dovendo usare anche stili diversi.

Uso minimale di BibTeX

I comandi per inserire dei riferimenti nel testo rimangono gli stessi che si usano con l'ambiente thebibliography: ~\cite{chiave}, ecc...

La bibliografia va inserita di solito alla fine del documento ma prima dell'indice analitico. Se usate i comandi \mainmatter, ecc..., mettetela sempre nel backmatter. Il codice per inserire la bibliografia è il seguente:

% obbligatorio per book e report,
%facoltativo per article
\cleardoublepage
% se usate book o report e caricate hyperref usate
% anche questo comando per far sì che i link dell'indice
% puntino correttamente alla bibliografia.
\phantomsection

% per le classi book e report
% bibliografia nell'indice come capitolo
% (personalizzare a piacimento)
\addcontentsline{toc}{chapter}{\bibname}

% altrimenti per la classe article
% bibliografia nell'indice come section
% (personalizzare a piacimento)
\addcontentsline{toc}{section}{\refname}

% scegliete lo stile della della bibliografia
% (vedi le guide per gli esempi)
\bibliographystyle{stile}
% ed infine il comando più importante che inserisce
% fisicamente la bibliografia ed ha come argomento il nome
% (eventualmente con il percorso) del file .bib,
% senza però l'estensione .bib
\bibliography{file della bibliografia}

Per creare la bibliografia bisogna compilare il documento una prima volta, poi eseguire il comando bibtex su di esso (bibtex ciao_mondo.tex) e infine ricompilare due volte.

  1. Compilare. Es. pdflatex main.tex
  2. Generare la bibliografia. Es. bibtex main.tex
  3. Compilare. Es. pdflatex main.tex
  4. Compilare. Es. pdflatex main.tex

La prima compilazione crea nel file main.aux l'elenco delle voci da citare, nel punto 2 bibtex prende il file aux e crea il file bbl scrivendo tutte le voci in un ambiente thebibliography secondo lo stile scelto. La seconda compilazione prende il contenuto del file bbl e lo inserisce nel punto dove avete dato il comando \bibliography.

Ricordatevi che se cambiate lo stile della bibliografia, dovete dare il comando bibtex e poi ricompilare il vostro documento. È bibtex infatti che si occupa della formattazione della bibliografia secondo lo stile che gli avete indicato.

Il pacchetto tocbibind

Aggiunge automaticamente la bibliografia e l'indici analitico all'indice, eliminando così la necessità di dover scrivere \addcontentsline{toc}{...}{...}. Inoltre si preoccupa anche dell'inserimento del comando \phantomsection dove necessario. Di default tocbibind include nell'indice anche l'indice stesso. Questa cosa è abbastanza brutta! Si toglie facilmente con le opportune opzioni:

\usepackage[nottoc,notlof,notlot,chapter]{tocbibind}

Con chapterbib potrebbe sorgere qualche piccolo problema se si vuole non solo una bibliografia per capitolo ma anche una finale. Il motivo è che tocbibind guarda l'opzione sectionbib di chapterbib e quindi compone la bibliografia finale come se fosse una sezione e non un capitolo. Per ovviare a questo problema basta dire a tocbibind che la bibliografia successiva deve essere come un capitolo:

\tocotherhead{chapter}
\bibliography{...}