Skip to Main Content
Banner Image

Zotero++ : créer un style bibliographique personnalisé: Les macros

Savoir modifier un style bibliographique Zotero pour créer un style adapté à ses besoins

Pourquoi écrire des macros?

Une macro CSL permet de définir des règles et d'attribuer à cet ensemble de règles un nom : appeler la macro en indiquant son nom exécutera la commande et appliquera les règles définies. On peut ainsi écrire une seule fois une longue séquence de paramétrage pour un élément donné, et y faire ensuite référence lorsque l'on souhaite l'appliquer.

Les macro économisent du code, et surtout facilitent la réuitilisation et la modification des styles. Pour modifier le formatage des noms d'auteur par exemple, il suffit ainsi de modifier la macro correspondante, ou encore de copier-coller la macro d'un autre style.

L'utilisation des macros fait partie des bonnes pratiques recommandées par Sebastian Karcher (plus connu des utilisateurs de Zotero sous son pseudonyme "adamsmith") :

Bonne pratique 2 : Utilisez abondamment les macros. Gardez les éléments citation et bibliography brefs et ne leur intégrez qu'au minimum des éléments choose.

Source : Adamsmith. Writing CSL - Features and Best Practices. The Zoteroist, 2013.

Auteur : Daniel Kulinski - CC-BY-NC-SA - Source : Flickr

Ex1 : Formater le nom des auteurs

macro_auteur

La macro name="author" définit la façon dont les noms d'auteur doivent être rédigés. Dans le style Nature, cette macro est appelée uniquement dans bibliography pour afficher le nom des auteurs. Examinons le détail des éléments et attributs utilisés.

  • sort-separator : caractère entre le nom et le prénom
  • delimiter : caractère entre chaque nom d’auteur
  • and : affichage du « et » entre le pénultième et le dernier nom d’auteur - valeurs symbol ou text 
  • initialize-with : prénom remplacé par une initiale et éventuellement un caractère  - si cet élément  n’est pas présent, les prénoms sont restitués en entier
  • delimiter-precedes-last : caractère de délimitation avant le nom du dernier auteur - valeurs contextual, after-inverted-name, always ou never
  • name-as-sort-order : le nom du ou des auteurs s’affiche selon l’ordre nom-prénom - valeurs all ou first
  • et-al : texte à afficher et mise en forme du « et al. » - voir : spécifications CSL : Et-al

L'élément substitute définit le substitut au nom de l'auteur à utiliser lorsque le champ Auteur de la notice Zotero est vide. Il doit faire référence à une macro ou à une variable, on ne peut pas utiliser un élément de type text term ou text value. Dans l'exemple ci-dessous, on utilise le résultat de la macro name="editor".

<macro name="author">
    <names variable="author" delimiter=", ">
      <name and="text" name-as-sort-order="first" sort-separator=", " initialize-with="." delimiter-precedes-last="never" delimiter=", "/>
       <substitute>
         <text macro="editor"/>
       </substitute>
    </names>
  </macro>

Ex2 : Formater les titres en fonction des types de document

La macro name="title" du style Nature est un peu plus complexe que la macro name="author", car elle définit une mise en forme conditionnelle en fonction du type de document. Les conditions sont exprimées dans l'élément choose.

  • if définit la 1ère condition : si le document est un livre, un rapport, etc., le titre est affiché en italique (réf. 2 dans la bibliographie)
  • else-if définit la 2è condition : si le document est un chapitre, le titre du chapitre est omis (réf. 1 dans la bibliographie)
  • else définit ce qui s'applique dans tous les autres cas : si le document est d'un autre type que ceux indiqués dans les éléments if et else-if, le titre est affiché (réf. 3 dans la bibliographie).

Formatage des titres dans Zotero

Les différents types de condition

Comme indiqué dans la boîte sur les types d'élément, l'élément choose peut avoir pour parent un autre élément que macro : il peut être élément fils de l'élément layout pour le paramétrage des notes par exemple.

Les attributs des éléments if et else-if définissent les différents types de condition qu'il est possible de créer.

On peut indiquer plusieurs valeurs, sauf pour l’attribut desambiguate.

  • desambiguate="true" - la condition n’est réalisée que si elle permet de désambiguïser.
  • is-numeric=" " - valeur de l’attribut = variable qui doit avoir un contenu numérique pour que la condition se réalise.
  • is-uncertain-date=" " - valeur de l’attribut = date qui doit être incertaine pour que la condition se réalise.
  • locator=" " - valeur de l’attribut = locator auquel la condition s’applique.
  • position=" " - utilisé pour le paramétrage des notes de bas de page ou de fin, cet attribut a un nombre de valeurs limité - plus de détail dans cette boîte.
  • type=" " - valeur de l’attribut = type de document auquel la condition s’applique - voir la correspondance entre les types de documents Zotero et CSL.
  • variable=" " - valeur de l’attribut = variable dont l’absence ou la présence conditionne la réalisation de la condition.

L'attribut match définit l'opérateur à utiliser.

  • match="any" = OU = la condition se réalise si au moins un des critères est rempli

ex : <if type="book thesis"  match="any"> - la condition se réalise si le document est de type livre ou thèse

  • match="all" = ET = la condition se réalise si tous les critères sont remplis.
  • match="none" = NON = la condition se réalise si aucun des critères n’est rempli.

ex : <if variable="volume"  match="none"> - la condition se réalise si la variable volume est absente, i. e. si le champ Volume de la notice Zotero est vide.

Miscellanées

Autres modifications mineures pour les noms

Omettre le prénom : attribut form="short"

Mise en forme d’une partie du nom - exemple, le nom de famille seulement est tout en majuscules : 

<names variable="author">
<name form="long">
<name-part name="family" font-variant="capitalize-all"/>
</name>
</names>

Autres modifications pour les noms et les titres (et d'autres éléments)

Ajouter un préfixe et/ou un suffixe : attributs prefix et suffix

Attributs de mise en forme typographique :

  • font-style="normal", "italic" ou "oblique"
  • font-variant="normal" ou "small-caps"
  • font-weight="normal", "bold" ou "light"  

Ajouter des guillemets : attribut quotes="true"

Date originale

La date originale d’un document est exprimée par une  variable de type date, original-date.

Ex : <date variable="original-date" form="text" date-part="year"/>

La date originale doit être saisie dans le champ Extra de la notice Zotero, sous la forme : {:original-date: 1876}.

Contrat Creative Commons
Le contenu de  BiblioGuides composante du portail documentaire Sorbonne Universités est mis à disposition selon les termes de la licence Creative Commons Paternité - Pas d'Utilisation Commerciale - Partage des Conditions Initiales à l'Identique 3.0 Unported