Après avoir montré comment insérer des références dans l’application, j’exposerai la façon dont on peut créer un style de bibliographie personnalisé pour le traitement de texte OpenOffice.org

Installer le greffon

Comme je l’avais indiqué précédemment, JabRef est avant tout conçu pour être utilisé avec BibTeX. Cependant, un greffon permet de l’employer avec OpenOffice. Son installation est des plus simples :

  • Depuis cette page, copiez dans le presse-papier l’url du greffon (au moment où j’écris ce billet, le greffon en est à sa version 0.7.1, dont voici l’url directe : http://jabref.sourceforge.net/plugins/net.sf.jabref.oo.ooplugin-0.7.1.jar)
  • Dans JabRef, rendez-vous dans le menu Greffons, puis cliquez sur Gérer les greffons
  • Une fenêtre s’ouvre alors ; cliquez sur le bouton Télécharger un greffon, collez l’adresse du greffon qui nous intéresse, validez. JabRef indique qu’il doit être relancé : acceptez, c’est fini.

Vous pouvez vérifier la bonne installation du greffon sur cette même fenêtre, qui doit ressembler à ceci :

JabRef fig. 5

Utiliser JabRef avec OpenOffice

L’utilisation du greffon est, elle aussi, très aisée :

  • Assurez-vous que JabRef et OpenOffice.org Writer sont tous les deux lancés
  • Dans JabRef, retournez dans le menu Greffons et cliquez sur OpenOffice.org Panel. Le « panneau » suivant devrait apparaître :

JabRef fig. 6

Avant d’aborder la création de style proprement dite, voyons donc comment insérer une référence dans le document OpenOffice. Pour ce faire, nous allons utiliser un style déjà fait :

  • Sur la même page que précédemment, téléchargez l‘Example style file (lien direct) et enregistrez le fichier sur votre disque dur
  • Cliquez sur le bouton Select style file, puis sur Add file, et ajoutez le fichier de style téléchargé à l’instant
  • Cliquez sur la première icône en forme de prise électrique. Si OOo Writer est bien lancé, et après un court temps de « réflexion », JabRef se connecte au logiciel de traitement de texte
  • Choisissez une référence dans votre biblio, en cliquant une fois dessus
  • Cliquez sur le bouton Cite

Votre document texte devrait désormais contenir la référence et présenter la bibliographie. Sur un document vierge, et en ne citant qu’une référence, voici ce que cela peut donner :

JabRef fig. 7

Vous pouvez bien évidemment poursuivre en insérant d’autres références. Dans le document texte, la bibliographie devrait se mettre à jour automatiquement. Si tel n’est pas le cas, il suffit de cliquer sur la flèche orangée, visible sur la seconde copie d’écran de ce billet.

Le bouton Cite in-text permet d’insérer une citation pour laquelle le nom de l’auteur est intégré dans le texte du document. Ainsi, le bouton Cite produira une citation du style : Comme cela a déjà été traité par ailleurs (Martin, 2009) lorsque Cite in-text produira : Comme la déjà analysé Martin (2009)

Notez que le greffon ne gère (pour le moment ?) que les citations dans le texte : il n’est donc pas adapté pour des citations en notes de bas de page (de moins en moins utilisées, d’ailleurs).

L’utilisation du couple JabRef / OpenOffice est donc simple, et efficace. Cependant, on peut vouloir personnaliser la mise en forme des citations et de la bibliographie : par exemple, pour les premières, ajouter une virgule entre le nom de l’auteur et l’année. Pour la seconde, ne pas mettre l’année en gras, ou préférer le terme français Bibliographie à celui de References. Cela nous amène au cœur de ce billet : la personnalisation d’un style de bibliographie.

Créer son propre style de bibliographie

Tout se passe dans un fichier de style qui est en fait un fichier de texte brut, portant l’extension .jstyle et devant être édité avec un simple bloc notes. Vous pouvez partir d’un fichier vierge ou utiliser le fichier que nous avons déjà téléchargé.

Un fichier de style est composé de 5 sections principales, chacune débutant par son nom écrit en majuscules. Le « squelette » d’un style est le suivant :

NAME
(...)

JOURNALS
(...)

PROPERTIES
(...)

CITATION
(...)

LAYOUT
(...)

Nous allons détailler chacune de ces sections.

La section NAME

Comme son nom l’indique, cette section contient le nom de votre style. Il ne doit tenir que sur une ligne. Indiquons simplement :

NAME
Mon premier style JabRef pour OpenOffice.

JOURNALS
(...)

PROPERTIES
(...)

CITATION
(...)

LAYOUT
(...)

La section JOURNALS

Cette section indique pour quelle(s) revue(s) est prévu le style ici créé. Indiquez une revue par ligne. Par exemple :

NAME
Mon premier style JabRef pour OpenOffice.

JOURNALS
Ma thèse
Revue Française de Sociologie

PROPERTIES
(...)

CITATION
(...)

LAYOUT
(...)

La section PROPERTIES

Les choses intéressantes commencent maintenant ! :-) Cette section comporte 5 options :

  • Title : il s’agit du titre de la bibliographie dans votre document texte. Plus haut, avec le style par défaut, celui-ci était References. Nous emploierons désormais le terme Bibliographie
  • IsSortByPosition : cette option peut recevoir les valeurs false ou true. Si true, les références seront citées dans la bibliographie dans leur ordre d’apparition dans votre document. Si false, elles seront citées par ordre alphabétique des auteurs. Dans notre exemple, nous choisirons cette deuxième possibilité
  • IsNumberEntries : cette option reçoit également les valeurs false ou true. Si true, les références, dans le corps du document, sont de simples numéros. Si false, les références seront de la forme Auteur Année. Ici, nous préfèrerons cette solution
  • ReferenceParagraphFormat : cette option reçoit le nom du style OpenOffice que vous souhaitez appliquer au corps de votre bibliographie. C’est une option extrêmement utile si vous souhaitez gérer la mise en page de votre bibliographie de manière indépendante au corps de votre document (par exemple, pour utiliser une police ou des marges différentes). Pour ce tutoriel, nous imaginerons avoir créé dans OpenOffice un style nommé Ma super biblio, que nous souhaitons donc utiliser ici. Dans le cas inverse (pas de style spécifique), il suffira d’utiliser Standard
  • ReferenceHeaderParagraphFormat : cette option est identique à la précédente, mais ne gère que le titre de notre bibliographie. Pour varier les plaisir, nous allons utiliser un style déjà existant dans OpenOffice : Titre 1

Nous obtenons donc le fichier (temporaire) suivant :

NAME
Mon premier style JabRef pour OpenOffice.

JOURNALS
Ma thèse
Revue Française de Sociologie

PROPERTIES
Title=Bibliographie
IsSortByPosition=false
IsNumberEntries=false
ReferenceParagraphFormat=Ma super biblio
ReferenceHeaderParagraphFormat=Titre 1

CITATION
(...)

LAYOUT
(...)

La section CITATION

Cette section définit la façon dont vont être présentées les citations dans le corps du texte. Nous avons vu plus haut qu’il en existe deux types : les citations Auteur Année et les citations numérotées (cf. section PROPERTIES). Certaines options sont communes à ces deux types de citations, nous commencerons par les détailler avant de nous arrêter sur les options spécifiques à chacune d’entre elles.

Les options communes aux citations numérotées et aux citations in-text :

  • BracketBefore et BracketAfter : définissent les caractères ouvrant et fermant entourant la citation. Par exemple, les parenthèses ou les crochets. Pour chacune des deux options il suffit donc d’indiquer le caractère souhaité. Si l’on désire utiliser les crochets, le résultats sera, par exemple, [1] ou [Boileau 2002]. Ici, nous utiliserons les parenthèses
  • CitationSeparator : là encore, il s’agit d’un caractère : celui qui sépare deux citations fusionnées (grâce au bouton Merge citations du panneau OpenOffice, dans JabRef). Si l’on utilise le point-virgule, le résultat sera (1;2) ou (Boileau 2002;Blanchet 2003). En fait, il est possible d’utiliser plusieurs caractères et donc d’employer des espaces pour obtenir : (Boileau 2002 ; Blanchet 2003). C’est ce que nous ferons ici

Il est possible de mettre en forme les citations, pour cela on dispose de plusieurs options :

  • FormatCitations : reçoit les valeurs true ou false. Il faut mettre à true pour activer la mise en forme. À false, les 4 options suivantes n’auront aucun effet
  • ItalicCitations : true pour mettre les citations en italique. false sinon
  • BoldCitations : idem, pour le gras
  • SuperscriptCitations : idem, pour mettre la citation en exposant
  • SubscriptCitations : idem, mais en indice

Les options propres aux citations numérotées

En plus des options que nous venons de voir, les citations numérotées peuvent être personnalisées à l’aide de quelques options supplémentaires :

  • GroupedNumbersSeparator : lorsque vous sélectionnez plusieurs références dans JabRef pour les citer en une fois (c’est à dire, au même endroit dans votre document), il est possible de les regrouper. Ainsi, au lieu d’obtenir [1 ; 2 ; 3 ; 4 ; 5], on peut obtenir [1-5]. Cette option indique quel caractère est utilisé pour regrouper les citations (dans l’exemple précédent, il s’agit donc du tiret)
  • MinimumGroupingCount : cette option réclame un nombre entier, indiquant le nombre de références à partir duquel il faut les regrouper dans une citation multiple. Si l’on indique 3, la citation [1 ; 2 ; 3] sera transformée en [1-3] ; mais à 4, elle conservera sa forme originale [1 ; 2 ; 3]. Indiquer 0 permet de désactiver l’option de regroupement
  • BracketBeforeInList et BracketBeforeInList : nous avons indiqué, à l’aide des options BracketBefore et BracketAfter, quels caractères devaient entourer une citation dans le texte. Mais il est possible que nous voulions en employer d’autres dans la bibliographie elle-même : c’est ici qu’il faut préciser notre choix. Nous utiliserons les crochets

Les options propres aux citations in-text

Les citations in-text disposent elles-aussi de leurs options réservées, d’ailleurs plus nombreuses :

  • AuthorField : cette option indique quel champ doit être utilisé pour l’auteur. On peut se contenter de author. On peut aussi indiquer author/editor : ainsi, dans le cas où le champ Author serait vide dans JabRef, c’est le champ Editor qui serait utilisé (il est possible d’indiquer plusieurs champs de la sorte, séparés par un slash)
  • YearField : idem, mais pour l’année de publication. Ici, on peut indiquer simplement year
  • MaxAuthors : indique le nombre d’auteurs à partir duquel il faut tronquer les dits noms. Dans ce cas, seul le nom du premier auteur apparaîtra, suivi d’une chaîne de caractères fixée dans l’option EtAlString. Par exemple, la citation d’un livre cosigné Dupont, Martin, Robert et Marcel aura la forme (Dupont et al. 2009) si MaxAuthors est fixé à 3. S’il est fixé à 4, tous les noms apparaîtront. Ici, nous fixerons la valeur à 3
  • AuthorSeparator : il s’agit du caractère séparant le nom des premiers auteurs dans la citation, lorsque le nombre d’auteurs est supérieurs à 2. Ici, nous emploierons la virgule, ce qui donnera par exemple : (Dupont, Martin, Robert & Marcel 2009)
  • AuthorLastSeparator : caractère séparant les noms des deux derniers auteurs. Dans l’exemple de la ligne ci-dessus, il s’agit de l’esperluette (&). Dans le cas où seuls deux noms sont cités, c’est cette option qui agit, et non pas la précédente
  • EtAlString : nous l’avons déjà vu plus haut, cette option contient la chaîne devant être affichée lorsque les auteurs sont nombreux et leur nom, tronqué. Nous utiliserons le classique et al.
  • YearSeparator : caractère séparant le nom de l’auteur et l’année de publication dans la citation. Dans tous les exemples précédents, il ne s’agissait que d’une espace. À partir de maintenant, nous utiliserons une virgule suivie d’une espace, ce qui donnera par exemple (Dupont et al., 2009)
  • InTextYearSeparator : il s’agit du caractère séparant le nom de l’auteur du reste de la citation, lorsque le nom de l’auteur est intégré dans le texte du document (cf. l’exemple donné plus haut dans ce billet). On se contentera d’une espace
  • UniquefierSeparator : lorsqu’un même auteur ou un même groupe d’auteurs a/ont publié plusieurs papiers la même année et que ces différents papiers sont cités, cela peut introduire une confusion : à quel papier fait-on référence ? JabRef résoud le problème en ajoutant une lettre à l’année de publication, ce qui donnera par exemple (Martin, 2009a) et, plus loin (Martin, 2009b). L’option UniquefierSeparator indique quel caractère doit être utilisée lorsque ces références sont citées ensembles. Nous utiliserons la virgule, ce qui donnera : (Martin, 2009a, b)

Voilà pour une explication exhaustive de la section CITATION ; nous obtenons donc le fichier suivant :

NAME
Mon premier style JabRef pour OpenOffice.

JOURNALS
Ma thèse
Revue Française de Sociologie

PROPERTIES
Title=Bibliographie
IsSortByPosition=false
IsNumberEntries=false
ReferenceParagraphFormat=Ma super biblio
ReferenceHeaderParagraphFormat=Titre 1

CITATION
BracketBefore=(
BracketAfter=)
CitationSeparator= ; 
FormatCitations=false
ItalicCitations=false
BoldCitations=false
SuperscriptCitations=false
SubscriptCitations=false
GroupedNumbersSeparator=-
MinimumGroupingCount=3
BracketBeforeInList=[
BracketAfterInList=]
AuthorField=author/editor
YearField=year
MaxAuthors=3
AuthorSeparator=, 
AuthorLastSeparator= &  
EtAlString= et al.
YearSeparator=, 
InTextYearSeparator=
UniquefierSeparator=, 

LAYOUT
(...)

La section LAYOUT

Il nous reste enfin à définir le style de la bibliographie elle-même. Cela peut sembler a priori un peu compliqué. En réalité… ça ne l’est pas. Il suffit de respecter la syntaxe imposée et d’utiliser les bonnes options aux bons endroits. La tâche est facilitée par le fait qu’on emploie en fait souvent les mêmes commandes.

Structure de base

Chaque ligne débute par le type de références pour lequel on définit le style. En effet, nous avions vu dans le dernier billet que JabRef distingue les livres des articles, des thèses, des chapitres, etc. Je renvoie à nouveau à la lecture de cette page pour une présentation exhaustive des types d’entrées. Un type d’entrée a donc à n’apparaître qu’une seule et unique fois dans notre fichier de style. En plus des styles classiques (book, article, etc.), il faut noter l’existence d’un type default qui s’appliquera à toute entrée appartenant à un type dont le style n’est pas défini.

Le reste de la ligne contient des mots clefs renvoyant aux différents champs JabRef. Ces mots clefs (écrits en minuscules) doivent être précédés d’un antislash (\). Il suffit de consulter une entrée enregistrée dans JabRef pour avoir connaissance des différents champs exploitables et de leur nom. Je citerai ici le plus utilisés :

  • author
  • title
  • editor
  • publisher
  • year
  • volume
  • number
  • address

Chaque mot clef peut être mise en forme à l’aide du langage html. Concrètement, nous utiliserons surtout deux paires de balises : <b></b> pour mettre en gras, <i></i> pour l’italique.

Il est possible d’appliquer différentes options aux différents champs des références. Ces options permettent notamment de gérer la casse utilisée (tout en minuscule ou tout en majuscule), ou encore de préciser si le prénom d’un auteur doit apparaître en entier, ou pas. Elles s’utilisent à l’aide du mot clef \format et nous les appellerons donc des formateurs. La liste des formateurs disponibles se trouve sur cette page. Nous verrons tout cela dans quelques instants, voyons d’abord un exemple de base.

Un exemple simple

Nous allons nous contenter pour le moment d’afficher dans notre bibliographie le nom de l’auteur et l’année de publication pour les références de type book, séparés par une virgule :

book=\author, \year

Le nom de l’auteur apparaît exactement comme vous l’aviez enregistré dans JabRef. Ainsi, si vous aviez tapé « Martin, Pierre », le résultat est le suivant :

Martin, Pierre, 2009

Nous souhaitons désormais afficher le titre de l’ouvrage entre le nom de l’auteur et l’année. Le titre doit apparaître en italique. Il est séparé du nom de l’auteur par une virgule, et de l’année par un point :

book=\author, <i>\title</i>. \year

et le résultat attendu :

Martin, Pierre, De l’influence des astres sur le comportement des chevaux écossais. 2009

Je pense que vous avez saisi le principe. Reste désormais à contrôler plus finement l’affichage des références. 4 points vont retenir notre attention : le remplacement du texte d’un champ, l’affichage d’un champ quand on n’est sûr que celui-ci est renseigné, la distinction de références publiées la même année par un même auteur, et enfin, le contrôle de l’affichage du nom/prénom d’un auteur.

Remplacer le texte d’un champ

Il existe différents formateurs permettant d’agir sur le texte d’un champ. Ces formateurs sont à indiquer entre crochets, à la suite du mot clef \format. Le champ sur lequel ils agissent sont à entourer d’accolades. Prenons tout de suite un exemple : nous souhaitons que les nom et prénoms de l’auteur apparaissent en capitales. Cela se fait à l’aide du formateur ToUpperCase :

book=\format[ToUpperCase]{\author}, <i>\title</i>. \year

Nous obtenons logiquement :

MARTIN, PIERRE, De l’influence des astres sur le comportement des chevaux écossais. 2009

Les autres formateurs potentiellement utiles sont :

  • ToLowerCase : pour passer le texte en minuscules
  • RemoveTilde : pour supprimer le caractère ~
  • RemoveWhitespace : pour supprimer tous les blancs

Un autre formateur, un peu spécial, peut s’avérer très pratique : Replace. Comme son nom l’indique, il permet de remplacer une chaîne de caractères par une autre (par exemple, « PUF » en « Presses Universitaires de France »). Son utilisation est basée sur les expressions régulières ; je sortirais largement du thème de ce billet si je les traitais ici et vous renvoie donc sur cette page.

Gérer l’affichage d’un champ pas nécessairement renseigné

Imaginons que nous souhaitions afficher l’adresse de l’éditeur, en capitales, devant l’année de publication, c’est à dire obtenir quelque chose de la sorte :

Martin, Pierre, De l’influence des astres sur le comportement des chevaux écossais. NANCY : 2009

Nous écririons alors logiquement un style ressemblant à cela :

book=\author, <i>Title</i>. \format[ToUpperCase]{\adress} : \year

Mais si, par malheur, nous ne connaissons pas l’adresse, le champ étant vide, nous obtiendrions :

Martin, Pierre, De l’influence des astres sur le comportement des chevaux écossais. : 2009

Ça ne fait pas très sérieux.

L’astuce consiste à employer les commandes \begin et \end. Celles-ci permettent de n’afficher le contenu d’un champ que si celui-ci est renseigné. Ainsi, notre style s’écrira :

book=\author, <i>Title</i>. \begin{adress}\format[ToUpperCase]{\adress} : \end{adress}\year

Notez que les deux points sont « encastrés » dans la paire \begin \end ; ainsi ils ne seront pas affichés si l’adresse est inconnue.

Distinguer les publications d’un même auteur, sorties une même année

Nous avions déjà vu que la section CITATION disposait d’une option permettant de distinguer plusieurs références sorties une même année et publiées par un même auteur. Il en est de même pour la section LAYOUT : pour ce faire, il faut (et il suffit) employer le mot clef \uniq. Ainsi, à chaque fois que nous utilisons l’année dans notre bibliographie (c’est à dire, tout le temps…), nous prendrons garde de lui ajouter ce mot clef :

book=\format[ToUpperCase]{\author}, <i>\title</i>. \year\uniq

Gérer l’affichage des nom et prénom d’un ou de plusieurs auteurs

Il existe de multiples façons d’afficher les patronymes des auteurs : le nom avant le prénom… ou l’inverse. Le prénom affiché en entier… ou simplement l’initiale. Les noms des différents auteurs séparés par une virgule… ou une esperluette.

De nombreux formateurs permettent d’agir sur cet affichage ; leur combinaison accroit encore le nombre de résultats envisageables. Nous n’allons en observer que quelques-uns. Pour ce faire, nous imaginerons avoir enregistré un livre pour lequel le champ auteur est renseigné comme suit : Martin, Pierre and Robert, Denis and Rocher, Christian and Maurice, Thierry.

Comme nous l’avons déjà vu, sans formatage particulier, nous obtenons pour résultat exactement ce que nous avons renseigné dans le champ :

book=\author

donne

Martin, Pierre and Robert, Denis and Rocher, Christian and Maurice, Thierry

On est un peu noyé par tant d’information… Nous allons chercher à obtenir le résultat suivant :

Martin, P., Robert, D., Rocher, C, et Maurice, T.

C’est à dire, ne conserver que l’initiale du prénom (séparée du nom par une virgule), traduire le dernier and par et et supprimer tous les autres pour les remplacer par des virgules

Le formateur AuthorAbbreviator permet de n’afficher que l’initiale du prénom :

book=\format[AuthorAbbreviator]{\author}

produit :

Martin, P. and Robert, D. and Rocher, C. and Maurice, T.

Reste donc à nous occuper des and. Plusieurs possibilités s’offrent à nous. En voici une :

Le formateur AuthorAndsCommaReplacer remplace les and par des virgules, sauf le dernier qui est remplacé par une esperluette :

book=\format[AuthorAbbreviator,AuthorAndsCommaReplacer]{\author}

donne

Martin, P., Robert, D., Rocher, C. & Maurice, T.

Il nous suffit désormais de remplacer l’esperluette par et. Nous emploierons le formateur Replace à cette fin :

book=\format[AuthorAbbreviator,AuthorAndsCommaReplacer,Replace("&,et")]{\author}

Bingo !

Martin, P., Robert, D., Rocher, C. et Maurice, T.

La gestion de l’affichage des noms représente sans doute la partie la plus complexe de la création d’un style ; à nouveau, je vous incite à visiter cette page qui présente tous les formateurs utilisables : on y compte plus d’une douzaine de formateurs rien que pour l’affiche des noms et prénoms des auteurs !

Au final, nous obtenons le fichier suivant. Il est évidemment à compléter pour les autres types d’entrées ; n’oubliez d’ailleurs pas de définir un type default.

NAME
Mon premier style JabRef pour OpenOffice.

JOURNALS
Ma thèse
Revue Française de Sociologie

PROPERTIES
Title=Bibliographie
IsSortByPosition=false
IsNumberEntries=false
ReferenceParagraphFormat=Ma super biblio
ReferenceHeaderParagraphFormat=Titre 1

CITATION
BracketBefore=(
BracketAfter=)
CitationSeparator= ; 
FormatCitations=false
ItalicCitations=false
BoldCitations=false
SuperscriptCitations=false
SubscriptCitations=false
GroupedNumbersSeparator=-
MinimumGroupingCount=3
BracketBeforeInList=[
BracketAfterInList=]
AuthorField=author/editor
YearField=year
MaxAuthors=3
AuthorSeparator=, 
AuthorLastSeparator= &  
EtAlString= et al.
YearSeparator=, 
InTextYearSeparator=
UniquefierSeparator=, 

LAYOUT
book=\format[AuthorAbbreviator,AuthorAndsCommaReplacer,Replace("&,et")]{\author}, <i>Title</i>. \begin{adress}\format[ToUpperCase]{\adress} : \end{adress}\year

Deux astuces pour finir

  1. Sachez que vous pouvez modifier le fichier de style et voir directement le résultat de vos réglages dans OOo Writer en cliquant sur la flêche orangée, dans JabRef, permettant de mettre à jour la bibliographie
  2. Vous pouvez utiliser des espaces insécables dans votre fichier de style, ils seront correctement gérés par OpenOffice Writer. Ainsi, si vous décidez d’entourer le titre d’un article de guillemets français, employez des espaces insécables évitera de retrouver un guillemet fermant seul en début de ligne, ou un guillement ouvrant seul en fin de ligne

Bonne utilisation de JabRef !