mirror of https://github.com/texmacs/doc.git
331 lines
11 KiB
Tcl
331 lines
11 KiB
Tcl
<TeXmacs|1.0.7.3>
|
|
|
|
<style|tmdoc>
|
|
|
|
<\body>
|
|
<tmdoc-title|Styles bibliographiques pour <TeXmacs>>
|
|
|
|
<section|Styles bibliographiques>
|
|
|
|
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 à <TeXmacs>
|
|
sont systématiquement préfixés par <verbatim|tm-> (par exemple, le syle
|
|
<verbatim|tm-plain> correspond au style <verbatim|plain> de <TeXmacs>).
|
|
D'autres styles peuvent être ajoutés dans le répertoire
|
|
<verbatim|$TEXMACS_PATH\\prog\\bibtex>.
|
|
|
|
Pour l'éditeur, chaque style correspond à un fichier <verbatim|.scm>. 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.
|
|
|
|
<section|Styles BibTeX>
|
|
|
|
Actuellement, les styles BibTeX suivants ont été implémentés :
|
|
<verbatim|abbrv>, <verbatim|alpha>, <verbatim|ieeetr>, <verbatim|plain> et
|
|
<verbatim|siam>. Leur utilisation ne nécessite pas l'installation de
|
|
BibTeX.
|
|
|
|
<section|Création de styles bibliographiques>
|
|
|
|
Si les fichiers de style standards de <TeXmacs> 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.
|
|
|
|
<subsection|Étude d'un exemple>
|
|
|
|
Un fichier de style bibliographique est un<with|font-shape|italic|> fichier
|
|
placé dans le répertoire <verbatim|$TEXMACS_PATH/prog/bibtex> portant le
|
|
nom du style suivi de l'extension <verbatim|.scm>, par exemple
|
|
<verbatim|example.scm> pour un style <verbatim|example> ; ce dernier sera
|
|
dénoté par <verbatim|tm-example> lors de son utilisation dans un document
|
|
<TeXmacs>.
|
|
|
|
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)))
|
|
</scm-fragment>
|
|
|
|
Le module <verbatim|bib-utils> 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 :
|
|
|
|
<scm-fragment|(bib-define-style "example" "plain")>
|
|
|
|
Le premier paramètre de la fonction <scm|bib-define-style> est le nom du
|
|
style courant, et le second paramètre est le nom du style par défaut,
|
|
<verbatim|plain> 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")
|
|
</scm-fragment>
|
|
|
|
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 <verbatim|plain> s'appelle
|
|
<scm|bib-format-date> ; 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"))
|
|
</scm-fragment>
|
|
|
|
Toute fonction exportée doit être préfixée par <verbatim|bib->. Une
|
|
fonction surchargée doit être suivie de la directive <scm|(:mode
|
|
bib-example?)>, dans laquelle <verbatim|example> est le nom du style en
|
|
cours.
|
|
|
|
Voici maintenant à quoi ressemble notre fichier de style
|
|
<verbatim|example.scm> :
|
|
|
|
<\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"))
|
|
</scm-fragment>
|
|
|
|
<subsection|Fonctions utiles pour la création de fichiers de style>
|
|
|
|
<\explain>
|
|
<scm|(bib-abbreviate name dot spc)><explain-synopsis|abbréviation d'un
|
|
nom>
|
|
<|explain>
|
|
Cette fonction crée un arbre <TeXmacs> correspondant à l'abbréviation du
|
|
nom contenu dans <scm|name> (un arbre <TeXmacs>) : on récupère la liste
|
|
des premières lettres de chaque mot, suivi de <scm|dot> (un arbre
|
|
<TeXmacs>) et séparées par <scm|spc> (un arbre <TeXmacs>).
|
|
</explain>
|
|
|
|
<\explain>
|
|
<scm|(bib-add-period tm)><explain-synopsis|ajout d'un point>
|
|
<|explain>
|
|
Cette fonction crée un arbre <TeXmacs> en ajoutant un point à la fin de
|
|
l'arbre <TeXmacs> <scm|tm>.
|
|
</explain>
|
|
|
|
<\explain>
|
|
<scm|(bib-default tm)><explain-synopsis|arbre <TeXmacs> par défaut>
|
|
<|explain>
|
|
Cette fonction crée un arbre <TeXmacs> sans occurence du label
|
|
<verbatim|keepkase>.
|
|
</explain>
|
|
|
|
<\explain>
|
|
<scm|(bib-define-style name default)><explain-synopsis|déclaration d'un
|
|
style>
|
|
<|explain>
|
|
Cette fonction déclare un style nommé <scm|name> (de type string) avec
|
|
<scm|default> (de type string) le style par défaut. Le style est alors
|
|
sélectionné en choisissant <verbatim|tm-><scm|name> 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 <scm|default> est évaluée en
|
|
remplacement.
|
|
</explain>
|
|
|
|
<\explain>
|
|
<scm|(bib-emphasize tm)><explain-synopsis|mise en italique>
|
|
<|explain>
|
|
Cette fonction renvoie un arbre <TeXmacs> correspondant à la mise en
|
|
italique de l'abre <TeXmacs> <scm|tm>.
|
|
</explain>
|
|
|
|
<\explain>
|
|
<scm|(bib-empty? entry field)><explain-synopsis|test à zéro d'un champ>
|
|
<|explain>
|
|
Cette fonction renvoie le booléen <scm|#t> si le champ de l'entrée
|
|
<scm|entry> dont le nom est <scm|field> (de type string) est vide ou
|
|
inexistant ; elle renvoie <scm|#f> dans le cas contraire.
|
|
</explain>
|
|
|
|
<\explain>
|
|
<scm|(bib-field entry field)><explain-synopsis|récupération d'un champ>
|
|
<|explain>
|
|
Cette fonction crée un arbre <TeXmacs> correspondant au contenu du champ
|
|
de l'entrée <scm|entry> dont le nom est <scm|field> (de type string),
|
|
sans aucun formatage. Dans certains cas, une donnée spécifique est
|
|
renvoyée :
|
|
|
|
<\itemize-dot>
|
|
<item>si <scm|field> est égal à <scm|"author"> ou <scm|"editor">, la
|
|
donnée renvoyée est un arbre dont le label est <verbatim|bib-names>,
|
|
contenant une liste de noms d'auteurs ; chaque nom d'auteur est un
|
|
arbre dont le label est <verbatim|bib-name> et qui contient quatre
|
|
éléments, dans l'ordre : le prénom, la particule, le nom et un
|
|
qualificatif (junior ou senior).
|
|
|
|
<item>si <scm|field> est égal à <scm|"page">, 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.
|
|
</itemize-dot>
|
|
</explain>
|
|
|
|
<\explain>
|
|
<scm|(bib-format-field entry field)><explain-synopsis|formatage basique
|
|
d'un champ>
|
|
<|explain>
|
|
Cette fonction crée un arbre <TeXmacs> correspondant au contenu du champ
|
|
de l'entrée <scm|entry> dont le nom est <scm|field> (de type string),
|
|
avec un formatage basique.
|
|
</explain>
|
|
|
|
<\explain>
|
|
<scm|(bib-format-field-Locase entry field)><explain-synopsis|formatage
|
|
spécial d'un champ>
|
|
<|explain>
|
|
Cette fonction est similaire à la fonction <scm|bib-format-entry> ; mais
|
|
le champ est formaté en minuscules, avec une majuscule en tête.
|
|
</explain>
|
|
|
|
<\explain>
|
|
<scm|(bib-locase tm)><explain-synopsis|mise en minucule>
|
|
<|explain>
|
|
Cette fonction crée un arbre <TeXmacs> en mettant en minuscule toutes les
|
|
lettres de l'arbre <TeXmacs> <scm|tm>, sauf celles englobées dans un bloc
|
|
<verbatim|keepkase>.
|
|
</explain>
|
|
|
|
<\explain>
|
|
<scm|(bib-new-block tm)><explain-synopsis|nouveau bloc>
|
|
<|explain>
|
|
Cette fonction crée un arbre <TeXmacs> consistant en un bloc contenant
|
|
l'arbre <TeXmacs> <scm|tm>.
|
|
</explain>
|
|
|
|
<\explain>
|
|
<scm|(bib-new-list sep ltm)><explain-synopsis|liste séparée>
|
|
<|explain>
|
|
Cette fonction crée un arbre <TeXmacs> en concaténant tous les éléments
|
|
de la liste <scm|ltm> (ses éléments sont des arbres <TeXmacs>) en les
|
|
séparant par l'arbre <TeXmacs> <scm|sep>.
|
|
</explain>
|
|
|
|
<\explain>
|
|
<scm|(bib-new-list-spc ltm)><explain-synopsis|liste séparée par des
|
|
blancs>
|
|
<|explain>
|
|
Cette fonction est équivalente à l'appel de <scm|(bib-new-list " " ltm)>.
|
|
</explain>
|
|
|
|
<\explain>
|
|
<scm|(bib-new-sentence ltm)><explain-synopsis|nouvelle phrase>
|
|
<|explain>
|
|
Cette fonction crée un arbre <TeXmacs> correspondant à une phrase
|
|
correctement ponctuée, contenant tous les éléments de la liste <scm|ltm>
|
|
(ses éléments sont des arbres <TeXmacs>) séparés par des virgules.
|
|
</explain>
|
|
|
|
<\explain>
|
|
<scm|(bib-null? v)><explain-synopsis|test à zéro>
|
|
<|explain>
|
|
Cette fonction renvoie le booléen <scm|#t> si la valeur <scm|v> est vide
|
|
(<with|font-shape|italic|i.e.> la donnée vide correspondant à son type,
|
|
comme la liste vide pour le type list) ; elle renvoie <scm|#f> dans le
|
|
cas contraire.
|
|
</explain>
|
|
|
|
<\explain>
|
|
<scm|(bib-prefix tm nbcar)><explain-synopsis|préfix d'un arbre <TeXmacs>>
|
|
<|explain>
|
|
Cette fonction renvoie une chaîne de caractères contenant les <scm|nbcar>
|
|
premiers caractères de l'arbre <TeXmacs> <scm|tm>.
|
|
</explain>
|
|
|
|
<\explain>
|
|
<scm|(bib-purify tm)><explain-synopsis|applatissement d'un arbre
|
|
<TeXmacs>>
|
|
<|explain>
|
|
Cette fonction crée une chaîne de caractères à partir des suites de
|
|
lettres de l'arbre <TeXmacs> <scm|tm>.
|
|
</explain>
|
|
|
|
<\explain>
|
|
<scm|(bib-simplify tm)><explain-synopsis|simplification d'un arbre
|
|
<TeXmacs>>
|
|
<|explain>
|
|
Cette fonction renvoie un arbre <TeXmacs> correspondant à la
|
|
simplification de l'abre <TeXmacs> <scm|tm>, c'est-à-dire la
|
|
concaténation des chaînes de caractères adjacentes, l'élimination des
|
|
n÷uds inutiles, etc.
|
|
</explain>
|
|
|
|
<\explain>
|
|
<scm|(bib-text-length tm)><explain-synopsis|longueur d'un arbre
|
|
<TeXmacs>>
|
|
<|explain>
|
|
Cette fonction renvoie le nombre de caractères de l'arbre <TeXmacs>
|
|
<scm|tm>.
|
|
</explain>
|
|
|
|
<\explain>
|
|
<scm|(bib-translate msg)><explain-synopsis|traduction>
|
|
<|explain>
|
|
Cette fonction traduit le message <scm|msg> (de type string) de l'anglais
|
|
vers la langue du document en cours d'édition.
|
|
</explain>
|
|
|
|
<\explain>
|
|
<scm|(bib-upcase tm)><explain-synopsis|mise en majuscule>
|
|
<|explain>
|
|
Cette fonction crée un arbre <TeXmacs> en mettant en majuscule toutes les
|
|
lettres de l'arbre <TeXmacs> <scm|tm>, sauf celles englobées dans un bloc
|
|
<verbatim|keepkase>.
|
|
</explain>
|
|
|
|
<\explain>
|
|
<scm|(bib-upcase-first tm)><explain-synopsis|majuscule en tête>
|
|
<|explain>
|
|
Cette fonction crée un arbre <TeXmacs> en mettant en majuscule la
|
|
première lettre de l'arbre <TeXmacs> <scm|tm>, sauf si elle est englobée
|
|
dans un bloc <verbatim|keepkase>.
|
|
</explain>
|
|
|
|
<\explain>
|
|
<scm|(bib-with-style style expr)><explain-synopsis|style local>
|
|
<|explain>
|
|
Cette fonction exécute l'expression <scm|expr> comme si le style en cours
|
|
était <scm|style> (de type string).
|
|
</explain>
|
|
</body>
|
|
|
|
<\initial>
|
|
<\collection>
|
|
<associate|language|french>
|
|
<associate|preamble|false>
|
|
</collection>
|
|
</initial> |