Accueil > LaTeX > Multilinguisme > Surcharger des chaînes de langues BibLaTeX

Surcharger des chaînes de langues BibLaTeX

samedi 19 mars 2011, par Maïeul

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

  • Merci ! Grâce à cet article, j’ai pu changer les "et" par des " ;" dans la liste des noms d’auteurs :

    \DefineBibliographyStrings{french}{
            and = {~;~}
    }

    Voir en ligne : http://antoine.van-elstraete.net/

  • 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).

  • 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. :

    \DefineBibliographyStrings{french}{%
      february         = {{f\'evrier}{f\'evr\adddot}}
    }

    les deux valeurs s’affichent, agglutinées, dans mon document : "11 févrierfévr. 2015"… Une idée du problème ?
    Merci !
    J.-B.

  • malheureusement \DefineBibliographyStrings ne permet de définir qu’une chaîne de langue à la fois.

Un message, un commentaire ?

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)