Principe
Le champ series contient la collection dans laquelle un livre est publié. Le champ shortseries contient une version abrégée de la collection.
Par défaut, c’est le champ series qui est imprimé. Ce tutoriel propose :
- d’expliquer comment afficher le champ
shortseriesà la place deseries. - d’expliquer comment ajouter un tableau de correspondance entre forme abrégée et forme longue.
Exemples
Notre base de donnée d’exemple contient quatre entrées. Trois avec collection, une sans [1] :
Ce qui s’affiche ainsi, par défaut :
Concilia Africae. Corpus Christianorum Series Latina 140.
De Nativitate Mariae. Corpus Christianorum Series Apocryphorum 10.
La forme la plus ancienne du Protvangile de Jacques. Bruxelles, 1961.
Pseudo-Matthaei Evangelium. Corpus Christianorum Series Apocryphorum 9.
Afficher la version abrégée de la collection
Nous allons modifier les styles pour afficher la version abrégée de la collection, si elle existe, à la place de la version longue.
Par défaut, le macro qui affiche la collection est la suivante [2] :
Nous allons la modifier, en la redéfinissant ainsi :
.
La seule modification est ligne 2 : nous testons le champ shortseries. S’il n’existe pas, nous affichons le champ series. Sinon, nous affichons le champ shortseries.
Affichage d’une table de correspondance
Principe de base
Dans la précédente version, j’expliquais comment afficher une table de correspondance entre les versions abrégées et les versions longues.
C’est ici que la nouvelle version de BibLaTeX permet de simplifier la gestion.
Elle propose une nouvelle commande, \printbiblist qui permet de produire rapidement une liste avec :
- un champ en label.
- un ou plusieurs champ en contenu.
Pour pouvoir utiliser cette commande, il suffit de créer une nouveau type de liste bibliographique, avec la commande \DeclareBibliographyDriver. Cette commande reçoit :
- comme premier argument le nom du champ à imprimer en Label.
- comme second argument, des commandes BibLaTeX à exécuter. Par exemple, pour imprimer un champ.
Dans le cas présent, nous allons donc imprimer le champ shortseries en label, donc en premier argument, et le champ series en contenu. Le second argument contiendra donc une commande d’impression du champ.
Il suffit désormais d’utiliser la commande \printbiblist, pour imprimer notre tableau de correspondance. Le premier, et unique, argument de la commande est le nom du champ en label.
Ce qui imprime la liste suivante :
CCSL Corpus Christianorum Series Latina
CCSA Corpus Christianorum Series Apocryphorum
CCSA Corpus Christianorum Series Apocryphorum
Par défaut, le titre de la liste, en français, est « Sigle ». Mais il est possible de préciser à partir d’un argument facultatif.
Affinage
Vous pouvez constatez deux problèmes :
- Le tri n’est pas correct.
- Si une
shortseriesest définie plusieurs fois, elle apparaît plusieurs fois.
Il faut donc définir :
- Un système de tri.
- Un système de filtrage, via
\defbibcheck.
Système de tri
Si on définit un schéma de tri du nom du champ de label, il sera automatiquement appliqué à la liste bibliographique. Un tel système de tri est très aisé à définir :
- L. 1 : définition du schéma de tri.
- L. 2 : définition du premier (et unique) critère de classement :
- L. 3 : on trie selon le champ
shortserieset c’est tout.
- L. 3 : on trie selon le champ
Ce qui donne, après nouvelle compilation Biber :
CCSA Corpus Christianorum Series Apocryphorum
CCSA Corpus Christianorum Series Apocryphorum
CCSL Corpus Christianorum Series Latina
Filtrage
Pour filtrer la liste, il suffit de déclarer un « bibcheck » du nom de la liste. Le filtrage sera automatiquement effectué, à partir de BibLaTeX 3.0. Pour la version 2.9, il faut spécifier ce bibcheck explicitement :
Voici donc une manière de définir :
- L. 1 : définition du bibcheck.
- L. 2 : si une entrée n’a pas de champ
shortseriesdéfini, on ne l’affiche pas dans la liste (logique !) - L. 3 : de même si pas de champ
seriesdéfini. - L. 4 : en revanche si ces deux champs sont définis, on teste l’existence d’une commande dont le nom est composé du champ
shortserieset du champseries:- L. 5 : si cette commande est déjà définie, cela veut dire que le couple shortseries/series a déjà été affiché. Dans ce cas, on ne l’affiche pas une nouvelle fois.
- L. 6 : si cette commande n’est pas définie, cela veut dire que le couple shortseries/series n’a pas encore été affiché. Dans ce cas on défini la commande ad hoc.
Par rapport à la précédente version, ce nouveau bibcheck est beaucoup plus sûr : il vérifie aussi qu’une même abréviation n’a pas été utilisée deux fois pour deux collections différentes.
On obtient ainsi une version correcte de notre liste d’abréviations :
CCSA Corpus Christianorum Series Apocryphorum
CCSL Corpus Christianorum Series Latina