Accueil > LaTeX > Multilinguisme > Surcharger des chaînes de langues BibLaTeX
Surcharger des chaînes de langues BibLaTeX
samedi 19 mars 2011, par
Mon précédent article portait sur la manière de modifier les chaînes de langues des abréviation bibliographiques en latins.
Mais on pourrait vouloir modifier le contenu d’un chaîne de langue. Voici comment faire.
Problème
Je cite un article, et j’obtiens :
Frédéric AMSLER, « Remarques sur la réception liturgique et folklorique des Actes de Philippe (APh VIII-XV et Martyre) », dans : Apocrypha 8 (1997), p. 251–264
Mais j’aimerais que « dans » soit remplacé par l’équivalent latin, « in », avec les italiques.
Chaînes de langues : repérer la clef
Ceci est une chaîne de langue. C’est à dire un morceau de texte qui varie selon la langue. Les styles bibliographiques appellent une fonction en lui passant une clef, et, selon la langue, cette clef va être traduite par tel ou tel terme.
Par exemple, en anglais, j’aurais eu « in ».
Il est possible de rédéfinir des chaînes de langues.
Pour ce faire il faut d’abord savoir quelle est la clef qui nous intéresse. Il faut donc trouver le fichier où sont définies les chaînes de langues par défaut. Ce fichier porte l’extension .lbx
et en analysant le journal de compilation (le fichier .log qui est créé lors de la compilation) on trouve rapidement le chemin de ce fichier.
Sur Mac, avec MacLive 2010, c’est dans :
/usr/local/texlive/2010/texmf-dist/tex/latex/biblatex/lbx/french.lbx.
Ouvrons ce fichier : on trouve une ligne contenant :
\DeclareBibliographyStrings{%
Cette ligne est suivi d’autres lignes sous la forme
clef = {{valeur longue}{valeur courte}},
Il s’agit de nos chaînes de langue, avec deux traductions possibles, breves ou courtes, selon des options à passer lorsqu’on appel le package.
Il est alors facile de trouver la clef correspondant à notre chaîne. Pour le cas de « dans » on voit qu’il s’agit de in
.
Surcharge de la chaîne
Reste à surcharger cette chaîne, de manière à ce que notre définition l’emporte sur la définition par défaut.
Pour cela, il suffit de mettre
\DefineBibliographyStrings{french}{%
in = {\emph{in}}%
}
La commande \DefineBibliographyStrings permet de surcharger des chaînes de langues. Ici je surcharge uniquement pour le français.
Et voilà, ma citation selon mon désir :
Frédéric AMSLER, « Remarques sur la réception liturgique et folklorique des Actes de Philippe (APh VIII-XV et Martyre) », in : Apocrypha 8 (1997), p. 251–264
Messages
23 février 2012, 16:22, par AntoineVe
Merci ! Grâce à cet article, j’ai pu changer les "et" par des " ;" dans la liste des noms d’auteurs :
Voir en ligne : http://antoine.van-elstraete.net/
23 février 2012, 16:44, par Maïeul
De rien ;-)
23 février 2012, 19:58, par Maïeul
tu devrais utiliser les commandes d’insertion de signes de ponctuation :
Cela permet à BibLaTeX de gérer correctement les cas où il y a plusieurs ponctuations qui se suivent.
Voir le manuel de biblatex 1.7 p. 166 et suivantes
23 février 2012, 20:22, par AntoineVe
Finalement, je suis parti sur une autre approche, qui me semble plus « propre » (et je l’ai modifié pour utiliser les commandes d’insertion) :
Voir en ligne : http://antoine.van-elstraete.net/
23 février 2012, 20:24, par Maïeul
oui, c’est effectivement plus propre en général. Je crois que j’en parle quelquepart sur ce site (pas sûr)
25 novembre 2014, 17:41, par Frédéric Vachon
Quelques années plus tard, un autre merci à toi, ça fait un moment que je souhaite traduire mes In (ma directrice de recherche considère qu’ils sont en anglais et non en latin).
12 août 2015, 03:07, par Jean Bernard
Bonjour, merci pour l’article. J’ai néanmoins un problème lorsque je redéfinis une chaîne qui a une valeur longue et une valeur courte, dans mon préambule, par ex. :
les deux valeurs s’affichent, agglutinées, dans mon document : "11 févrierfévr. 2015"… Une idée du problème ?
Merci !
J.-B.
12 août 2015, 12:24, par Maïeul
malheureusement
\DefineBibliographyStrings
ne permet de définir qu’une chaîne de langue à la fois.