1. <?xml version="1.0" encoding="utf-8"?>
  2. <style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" class="in-text" default-locale="fr-FR">
  3.     <!-- Informations obligatoires -->
  4.     <info>
  5.         <title>CSL Minimaliste</title>
  6.         <id>https://www.arthurperret.frminicsl/</id>
  7.         <updated>2016-04-05T08:00:00+00:00</updated>
  8.     </info>
  9.     <!-- Macros -->
  10.     <macro name="author">
  11.         <names variable="author">
  12.             <name name-as-sort-order="first" sort-separator=", " initialize-with="."/>
  13.         </names>
  14.     </macro>
  15.     <macro name="year">
  16.         <date variable="issued">
  17.             <date-part name="year"/>
  18.         </date>
  19.     </macro>
  20.     <!-- Format des citations dans le texte -->
  21.     <citation>
  22.         <sort>  
  23.             <key macro="author"/>
  24.             <key macro="year"/>
  25.         </sort>
  26.         <layout prefix="[" suffix="]" delimiter=" ; ">
  27.             <group delimiter=", ">
  28.                 <text variable="author" form="short"/>
  29.                 <text macro="year"/>
  30.             </group>
  31.         </layout>
  32.     </citation>
  33.     <!-- Format de la bibliographie -->
  34.     <bibliography>
  35.         <sort>
  36.             <key macro="author"/>
  37.             <key macro="year"/>
  38.             <key variable="title"/>
  39.         </sort>
  40.         <layout suffix=".">
  41.             <group delimiter=". ">
  42.                 <text macro="author"/>
  43.                 <text variable="title" font-style="italic"/>
  44.                 <text macro="year"/>
  45.             </group>
  46.         </layout>
  47.     </bibliography>
  48. </style>

Qu'est-ce que le CSL?

Le CSL (Citation Style Language) est un langage à balises utilisé pour personnaliser l'apparence des citations, notes et bibliographies.

Présenter des références peut se faire de centaines de façons différentes, qui reflètent autant de cultures, de disciplines et de pratiques. La différence entre les styles d'écriture naît en jouant sur la typographie et la mise en page. Le CSL est la grammaire informatique qui permet d'exprimer tous ces styles.

Comment ça s'écrit ?

La bibliographie, ce sont des dizaines d'éléments : des noms (auteur, éditeur), des nombres (date, nombre de pages, numéro de chapitre) et bien d'autres informations (éléments juridiques, mots-clés, URL...).

En CSL, ces éléments sont appelés variables. On applique des instructions de formatage et de mise en page aux variables pour leur donner l'apparence désirée.

Un fichier CSL comporte deux sections principales dans lesquelles sont regroupées les différentes instructions d'affichage des éléments :

  • citation : mise en page des références dans le texte.
  • bibliography : mise en page de la bibliographie.

Les instructions pour une variable sont généralement regroupées au sein de macros. Il s'agit d'un raccourci pour les éléments utilisés plus d'une fois : il suffit d'appeler la macro correspondante pour que les instructions soient appliquées, sans avoir à les réécrire.

Comment ça fonctionne ?

Le fichier CSL est utilisé comme modèle par des applications permettant de passer d'un document de travail à un produit fini. Par exemple : un fichier rédigé en LaTeX, combiné à un fichier bibliographique et un fichier CSL pour produire un fichier HTML, ODT, PDF...

Le code ci-contre permet de représenter les citations sous la forme (Auteur, date) et la bibliographie sous la forme Auteur A. Titre. Date. Et c'est tout !

Liste de termes

Voici une liste explicative de la plupart des termes utilisés dans le code ci-contre.

  • class : Emplacement des citations, in-text (dans le texte) ou notes (notes de bas de page).
  • CSL : Citation Style Language.
  • date : Groupe des variables de type date.
  • date-part : Sous-élément d'une date (jour, mois, année).
  • default-locale : Fichiers de langue utilisés par défaut.
  • delimiter : Séparateur utilisé dans un regroupement.
  • form : Spécifie les sous-éléments à afficher pour une variable de type nom (short : nom de famille uniquement).
  • font-styleform : Mise en forme (gras, italique, etc.).
  • group : Regroupement d'instructions.
  • id : URI du style.
  • initialize-with : Affiche seulement l'initiale pour le prénom, suivie de la ponctuation indiquée.
  • issued : Date de publication (variable du groupe date).
  • key : Variable ou macro sur laquelle le tri (sort) est appliqué.
  • layout : Arrangement d'éléments ou de groupes d'éléments.
  • name : Instructions appliquées à une variable du groupe names. Également : attribut d'une macro définissant son nom. NB: les deux peuvent être différents (rien n'oblige à appeler author la macro concernant la variable author).
  • name-as-sort-order : Place le nom de famille en premier.
  • names : Groupe des variables de type nom propre.
  • prefix : Caractère ajouté avant un élément ou groupe d'éléments.
  • sort : Instructions de tri.
  • sort-separator : Séparateur d'éléments triés.
  • suffix : Caractère ajouté après un élément ou groupe d'éléments.
  • text : Affiche les éléments indiqués en attributs.

Pour aller plus loin

Afin d'approfondir l'étude de ce fragment de code, consulter la spécification CSL, qui comporte toutes les informations ci-dessus et beaucoup d'autres.