BibTeX – Exemple de fichier et spécificités

Exemple

Pour bien comprendre le format BibTeX : Wikipédia

Exemple de référence BibTeX pour les débutants :
Exemple

Description d’une référence BibTeX :
1ère ligne, sans espace entre les différents éléments :

arobase
type de document
accolade ouvrante
clé BibTeX (Attention : ne pas avoir 2 fois la même clé BibTeX)
virgule

lignes suivantes :

Nom du champ
égal
accolade ouvrante
valeur du champ (pour les valeurs multivaluées, les séparer par un point virgule, sous la forme : Nom, Prénom and Nom, Prénom)
accolade fermante
virgule

dernière ligne :

accolade fermante

 

Fichier d’export Zotero : Attention, certains champs obligatoires pour Bib2hal ne sont pas dans les références exportées (par ex. : journal) : Bib2hal le précise lorsque vous cliquez sur « Importer dans Hal » Erreurs au dépôt

Spécificités du BibTeX

Le fichier BibTeX doit être en utf-8 sans BOM. BOM (pour « Byte Order Mark ») rajoute un caractère en début du fichier qui pose des problèmes. La plupart des éditeurs de texte indique dans l’encodage si c’est de l’utf8 avec ou sans BOM.
Les caractères LaTex sont acceptés (accents, caractères mathématiques, …).
Les accents LaTex sont acceptés ainsi que la plupart des caractères mathématiques. Le cas échéant, vous pouvez le signaler à archive-ouverte@inria.fr
Il vaut mieux que le fichier BibTeX ne contiennent pas trop d’entrées :

  • ne pas dépasser 50 entrées si possible.
  • Il est préférable d’avoir un fichier BibTeX par année ou par laboratoire ou par auteur pour le calcul des affiliations.

On peut tester son fichier avec un compilateur BibTeX pour éviter des erreurs. Sinon, Bib2hal le fait et affiche les erreurs de compilation.

Les champs BibTeX

Il y a 2 types de champs :

  • Les champs BibTeX standards : ce sont les champs Bibtex communément utilisés dans un fichier BibTeX pour décrire un document. Ces champs ont le même nom dans Bib2hal (ex: author, abstract, booktitle, address …).
  • les champs spécifiques à HAL : ces champ se nomment x-{MT} où {MT} est le nom de la métadonnée dans HAL.

Pour avoir des informations sur les champs, voir  :

Certains champs spécifiques

Le champ author

author = "Lastname1, Firstname1 AND Lastname2, Firstname2",
                          Ou
author = "Firstname1 Lastname1 AND Firstname2 Lastname2",
                          Ou
author = "Firstname1 Lastname1 AND Lastname2, Firstname2",

Bien mettre les prénoms en entier, pour ne pas introduire de nouveaux doublons dans la base de HAL.
Préférer la 1er syntaxe pour les noms à particule : author = « De Lastname, Firstname »

Pour les types @inbook, @book,  @inproceeding et @proceedings : en cas d’absence du champ author, on prend la valeur dans le champ editor.

Le champ address

  • Le champ address doit être de type {ville,pays} pour pouvoir être correctement utilisé par Bib2hal.
  • Le pays doit être un libellé français ou anglais présent dans la norme ISO 3166-1 pour que Bib2hal puisse le traduire en code sur 2 lettres compris par HAL.
  • Ce champ peut être remplacé par x-pays(code ISO sur 2 lettres) et x-town
address={Paris,France}
      Ou
x-country={FR},
x-town={Paris}

Le champ doi

Il doit être de la forme 10.xxx et non http://…

le champ pdf (texte intégral)

Ce champ permet de déposer le pdf d’un article,  2 possibilités :

  • un lien http accessible sur Internet (sans authentification)
  • un lien vers son espace ftp HAL sous la forme ftp://ftp.ccs.cnrs.fr/fulltext.pdf. Pour transférer les fichiers sur votre espace FTP, vous devez installer un client FTP : par ex. : Filezilla (voir la documentation Mon espace ftp), Cyberduck

Pour renseigner l’origine du pdf :

  • par défaut l’origine du fichier est « fichier auteur »
  • sinon, utilisez le champ : x-filesource. Les valeurs possibles sont :
    • author : Les fichiers que je dépose sont des fichiers produits par l'(les) auteur(s)
    • greenPublisher : J’ai vérifié que cet éditeur fait partie de ceux qui autorisent le dépôt des fichiers éditeurs sur une archive ouverte
    • publisherAgreement : J’ai obtenu l’accord explicite de cet éditeur pour ce dépôt particulier
    • publisherPaid : L’institution a financé les frais de publication pour que cet article soit en libre accès

Les champs multivalués (keywords, projets, ..) doivent être séparés par un point-virgule ;

Le champ x-onbehalfof

Il peut contenir une liste de comptes HAL, séparés par « ; » pour désigner les propriétaires d’un dépôt en plus du déposant.

Par exemple : x-onbehalfof = {test;identifiant;compte;1234}

Le champ x-language

Ce champ doit contenir le code ISO sur 2 caractères de la langue du document. Si ce champ est absent, à la validation des métadonnées, Bib2hal récupère la valeur du champ language si ce champ existe et qu’il contient un code ISO sur 2 lettres.

La valeur ‘zz’ est refusée car non accpetée par Sword

Pas de @comment ou @string

Pour le moment, Bib2hal ne tient pas compte des @comment ou @string, voire même ça provoque des erreurs.

Il est possible de remplacer les variables du bibtex en utilisant la commande Linux bibtool :

 usage : bibtool -- expand.macros=on liste.bib -o new.bib

==> le fichier new.bibest nettoyé des variables et commentaires, les variables sont remplacées dans le Bibtex

Abbréviations des journaux (acmcs, acta, IEEE, etc …)

Pour récupérer les abbréviations des journaux, il faut ajouter au début du fichier Bibtex les lignes suivantes :
@String{acmcs = « ACM Computing Surveys »}
@String{acta = « Acta Informatica »}
@String{cacm = « Communications of the ACM »}
@String{ibmjrd = « IBM Journal of Research and Development »}
@String{ibmsj = « IBM Systems Journal »}
@String{ieeese = « IEEE Transactions on Software Engineering »}
@String{ieeetc = « IEEE Transactions on Computers »}
@String{ieeetcad = « IEEE Transactions on Computer-Aided Design of Integrated Circuits »}
@String{ipl = « Information Processing Letters »}
@String{jacm = « Journal of the ACM »}
@String{jcss = « Journal of Computer and System Sciences »}
@String{scp = « Science of Computer Programming »}
@String{sicomp = « SIAM Journal on Computing »}
@String{tocs = « ACM Transactions on Computer Systems »}
@String{tods = « ACM Transactions on Database Systems »}
@String{tog = « ACM Transactions on Graphics »}
@String{toms = « ACM Transactions on Mathematical Software »}
@String{toois = « ACM Transactions on Office Information Systems »}
@String{toplas = « ACM Transactions on Programming Languages and Systems »}
@String{tcs = « Theoretical Computer Science »}

Puis lancer la commande Linux bibtool :

usage : bibtool -- expand.macros=on liste.bib -o new.bib

==> dans le fichier ans new.bib, les abbréviations ont été remplacées par leur développé