<\body> > Il est possible d'associer à une bibliographie BibTeX un ou plusieurs styles, qu'ils soient standards ou personnalisés. Les styles BibTeX sont dénotés par leur nom usuel. Les styles personnalisés propres à sont systématiquement préfixés par (par exemple, le syle correspond au style de ). D'autres styles peuvent être ajoutés dans le répertoire . Pour l'éditeur, chaque style correspond à un fichier . Les fichiers correspondant à chaque style sont traités comme des programmes Scheme ordinaire : il est nécessaire de respecter scrupuleusement l'utilisation des fonctions spécifiques aux styles bibliographiques. Actuellement, les styles BibTeX suivants ont été implémentés : , , , et . Leur utilisation ne nécessite pas l'installation de BibTeX. Si les fichiers de style standards de ne sont pas adaptés à vos besoins, vous pouvez en créer d'autres. Néanmoins, la création d'un fichier de style à partir de rien est une tâche complexe. Nous vous recommandons donc de vous servir des fichiers de style ou des modules existants ou de les personnaliser. Un fichier de style bibliographique est un fichier placé dans le répertoire portant le nom du style suivi de l'extension , par exemple pour un style ; ce dernier sera dénoté par lors de son utilisation dans un document . Tout fichier de style doit se déclarer en tant que module à l'aide de la déclaration suivante : <\scm-fragment> (texmacs-module (bibtex example) \ \ (:use (bibtex bib-utils))) Le module contient toutes les fonctions nécessaires à la rédation et à l'interprétation d'un fichier de style bibliographique. Tout fichier de style doit se déclarer en tant que style bibliographique à l'aide de la commande suivante : Le premier paramètre de la fonction est le nom du style courant, et le second paramètre est le nom du style par défaut, dans notre cas. Si une fonction n'est pas définie dans le style courant, la version du style par défaut est alors utilisée automatiquement. Ainsi, notre fichier de style minimal a l'aspect suivant : <\scm-fragment> (texmacs-module (bibtex example) \ \ (:use (bibtex bib-utils))) \; (bib-define-style "example" "plain") Chaque fonction de formatage définie dans le style par défaut peut être surchargée dans le fichier de style courant. Par exemple, la fonction de formatage de la date dans le style s'appelle ; elle redéfinissable dans notre style de la manière suivante : <\scm-fragment> (tm-define (bib-format-date e) \ \ (:mode bib-example?) \ \ (bib-format-field e "year")) Toute fonction exportée doit être préfixée par . Une fonction surchargée doit être suivie de la directive , dans laquelle est le nom du style en cours. Voici maintenant à quoi ressemble notre fichier de style : <\scm-fragment> (texmacs-module (bibtex example) \ \ (:use (bibtex bib-utils))) \; (bib-define-style "example" "plain") \; (tm-define (bib-format-date e) \ \ (:mode bib-example?) \ \ (bib-format-field e "year")) <\explain> <|explain> Cette fonction crée un arbre correspondant à l'abbréviation du nom contenu dans (un arbre ) : on récupère la liste des premières lettres de chaque mot, suivi de (un arbre ) et séparées par (un arbre ). <\explain> <|explain> Cette fonction crée un arbre en ajoutant un point à la fin de l'arbre . <\explain> par défaut> <|explain> Cette fonction crée un arbre sans occurence du label . <\explain> <|explain> Cette fonction déclare un style nommé (de type string) avec (de type string) le style par défaut. Le style est alors sélectionné en choisissant lors de l'ajout d'une bibliographie à un document. Quand une fonction de formatage n'est pas définie dans le style, celle du style est évaluée en remplacement. <\explain> <|explain> Cette fonction renvoie un arbre correspondant à la mise en italique de l'abre . <\explain> <|explain> Cette fonction renvoie le booléen si le champ de l'entrée dont le nom est (de type string) est vide ou inexistant ; elle renvoie dans le cas contraire. <\explain> <|explain> Cette fonction crée un arbre correspondant au contenu du champ de l'entrée dont le nom est (de type string), sans aucun formatage. Dans certains cas, une donnée spécifique est renvoyée : <\itemize-dot> si est égal à ou , la donnée renvoyée est un arbre dont le label est , contenant une liste de noms d'auteurs ; chaque nom d'auteur est un arbre dont le label est et qui contient quatre éléments, dans l'ordre : le prénom, la particule, le nom et un qualificatif (junior ou senior). si est égal à , la donnée contient une liste d'entiers : soit une liste vide, soit un singleton contenant la page référencée, soit un couple dénotant l'intervalle des pages référencées. <\explain> <|explain> Cette fonction crée un arbre correspondant au contenu du champ de l'entrée dont le nom est (de type string), avec un formatage basique. <\explain> <|explain> Cette fonction est similaire à la fonction ; mais le champ est formaté en minuscules, avec une majuscule en tête. <\explain> <|explain> Cette fonction crée un arbre en mettant en minuscule toutes les lettres de l'arbre , sauf celles englobées dans un bloc . <\explain> <|explain> Cette fonction crée un arbre consistant en un bloc contenant l'arbre . <\explain> <|explain> Cette fonction crée un arbre en concaténant tous les éléments de la liste (ses éléments sont des arbres ) en les séparant par l'arbre . <\explain> <|explain> Cette fonction est équivalente à l'appel de . <\explain> <|explain> Cette fonction crée un arbre correspondant à une phrase correctement ponctuée, contenant tous les éléments de la liste (ses éléments sont des arbres ) séparés par des virgules. <\explain> <|explain> Cette fonction renvoie le booléen si la valeur est vide ( la donnée vide correspondant à son type, comme la liste vide pour le type list) ; elle renvoie dans le cas contraire. <\explain> > <|explain> Cette fonction renvoie une chaîne de caractères contenant les premiers caractères de l'arbre . <\explain> > <|explain> Cette fonction crée une chaîne de caractères à partir des suites de lettres de l'arbre . <\explain> > <|explain> Cette fonction renvoie un arbre correspondant à la simplification de l'abre , c'est-à-dire la concaténation des chaînes de caractères adjacentes, l'élimination des n÷uds inutiles, etc. <\explain> > <|explain> Cette fonction renvoie le nombre de caractères de l'arbre . <\explain> <|explain> Cette fonction traduit le message (de type string) de l'anglais vers la langue du document en cours d'édition. <\explain> <|explain> Cette fonction crée un arbre en mettant en majuscule toutes les lettres de l'arbre , sauf celles englobées dans un bloc . <\explain> <|explain> Cette fonction crée un arbre en mettant en majuscule la première lettre de l'arbre , sauf si elle est englobée dans un bloc . <\explain> <|explain> Cette fonction exécute l'expression comme si le style en cours était (de type string). <\initial> <\collection>