domenica 28 novembre 2010

Bibtex e lo stile della bibliografia IEEE

Linux e Latex sono due strumenti fantastici anche solo per il fatto che sono io a decidere come voglio che qualcosa si comporti, e non il computer. Ho una particolare esigenza? Sulla rete c'è una mole tale di documentazione che è impossibile non trovare informazioni su come impartire una certa istruzione al sistema in modo che faccia, esattamente, quello che voglio.

Oggi sto lavorando con Latex e Beamer e come stile della bibliografia ho scelto lo stile IEEE (IEEEtran.bst). Il problema di questo stile è che ha un comportamento particolare: se nella bibliografia vengono citati si seguito due articoli con i medesimi autori allora nel secondo i nomi di questi ultimi verranno sostituiti con dei trattini. Qualcosa di questo tipo:

C. Caio, and S. Sempronio, “Titolo dell'articolo”
in Conferenza, 2010, pp. 111–222.
——, “Titolo di un altro articolo con gli stessi autori” 
in Qualche altra conferenza, 2009, pp. 11–22.

Non so per quale assurdo motivo si comporti in questo modo. So che è veramente insopportabile.

Ecco come risolvere il problema.
Per prima cosa è necessario inserire nel file .bib incriminato la seguente direttiva: 

@IEEEtranBSTCTL{IEEEexample:BSTcontrol,
  CTLdash_repeated_names    = "no"
}

Per attivare la direttiva basta inserire nel documento Latex che utilizza quel file .bib il comando 

\bstctlcite{IEEEexample:BSTcontrol}

subito dopo l'inizio del documento (\begin{document}).

Il comando Latex \bstctlcite si trova nel pacchetto IEEEtrantools che potete scaricare da qui. Scaricate il file IEEEtrantools.sty, inseritelo da qualche parte nella vostra directory di lavoro e includetelo con il comando: 

\usepackage{style/IEEEtrantools}

Et voilà!