TeX e LaTeX. BibLaTeX

Con il tempo BibTeX verrà sostituito da BibLaTeX. Già attualmente BibTeX non viene più sviluppato. Il sistema BibLaTeX consiste di tre parti: una serie di regole sintattiche per la scrittura del database bibliografico, un pacchetto BibLaTeX che si occupa dello stile e un programma esterno, Biber, per l'estrazione dei dati dal database. Per quanto riguarda il database diciamo subito che è sempre un file di testo con estensione .bib e che un vecchio db BibTeX come db BibLaTeX senza problemi.

Ecco un semplice esempio (abbiamo immaginato che il db bibliografico si chiami Letteratura.bib) che può essere compilato con pdflatex

\documentclass[...]{book}
...
\usepackage[utf8]{inputenc} % facoltativo
...
\usepackage{hyperref} % facoltativo
...
\usepackage[bibstyle=numeric,citestyle=numeric-comp,safeinputenc,firstinits]{biblatex}
\addbibresource{Letteratura.bib}
...
\begin{document}

...

% alcuni comandi speciali utili se nel db vengono usati
\makeatletter
\@ifundefined{x}{\newcommand{\x}[1]{}}{\renewcommand{\x}[1]{}}
\@ifundefined{textrussian}{\newcommand{\textrussian}[1]{---}}{}
\makeatother

\cleardoublepage
\phantomsection % solo se si è caricato hyperref
\addcontentsline{toc}{chapter}{\bibname}
\printbibliography
\end{document}

I passi per compilare il vostro documento che usa BibLaTeX saranno, in analogia a quanto si faceva con BibTeX:

  1. Compilare il documento (viene creato il file .bcf)
  2. Eseguire biber sul documento (si creerà il file .bbl)
  3. Compilare il documento
  4. Compilare il documento

La forza di BibLaTeX è che il pacchetto si occupa di tutto lo stile lasciando al programma esterno (biber) solo il compito di selezionare e ordinare le reference. Al contrario di quanto accadeva con BibTeX, dove all'eseguibile esterno era demandata tutta la fatica. Inoltre Biber è molto potente e permette una gestione molto elaborata delle codifiche in cui sono scritti i vari file. Finalmente è possibile avere sia il documento che il db bibliografico in codifica UTF-8.

Nell'esempio precedente possiamo vedere i parametri bibstyle e citestyle utili per definire gli stili della bibliografia e delle citazioni. Abbiamo usato degli stili predefiniti. Poi abbiamo usato l'opzione firstinits che serve per abbreviare i nomi degli autori.

È stato anche usata l'opzione safeinputenc che serve a trasformare, dove possibile, i caratteri Unicode eventualmente usati nel db, in comandi LaTeX. Per esempio il carattero "é" viene convertito in "\'{e}". Questo ci introduce alla corretta gestione delle codifiche di input:

Un'altra cosa importante. Biber (oltre che essere scritto in un linguaggio orribile) estrae tutti i campi delle voci del db bibliografico richiamate dal sorgente. Questo fa in modo che anche i campi che non vengono usati, per esempio il campo abstract, vadano a finire nel file bbl. Siccome BibLaTeX dovrà leggere questo file, se troverà dei caratteri strani darà errore. Questo è molto frequente perché il campo abstract solitamente è generato automaticamente. Si può però istruire Biber a non considerare il campo abstract.

È sufficiente creare un file biber.conf con le seguenti righe:

<?xml version="1.0" encoding="UTF-8"?>
<config>
  <sourcemap>
    <maps datatype="bibtex" map_overwrite="1">
      <map>
        <map_step map_field_set="ABSTRACT" map_null="1"/>
      </map>
    </maps>
  </sourcemap>
</config>

e copiarlo in (Windows 7)

C:\Users\<utente>\AppData\Roaming\biber\biber.conf

(la documentazione di Biber al riguardo è sbagliata perché consiglia di mettere il file nella directory C:\Users\\AppData\Roaming\biber.conf. Così facendo però non funziona). Purtroppo non sono riuscito a trovare una posizione nell'albero locale che permetta al file biber.conf di essere trovato da biber.