mirror of https://github.com/texmacs/doc.git
331 lines
11 KiB
Plaintext
331 lines
11 KiB
Plaintext
|
<TeXmacs|1.0.7.3>
|
|||
|
|
|||
|
<style|tmdoc>
|
|||
|
|
|||
|
<\body>
|
|||
|
<tmdoc-title|Styles bibliographiques pour <TeXmacs>>
|
|||
|
|
|||
|
<section|Styles bibliographiques>
|
|||
|
|
|||
|
Il est possible d'associer <20> une bibliographie BibTeX un ou plusieurs
|
|||
|
styles, qu'ils soient standards ou personnalis<69>s. Les styles BibTeX sont
|
|||
|
d<>not<6F>s par leur nom usuel. Les styles personnalis<69>s propres <20> <TeXmacs>
|
|||
|
sont syst<73>matiquement pr<70>fix<69>s par <verbatim|tm-> (par exemple, le syle
|
|||
|
<verbatim|tm-plain> correspond au style <verbatim|plain> de <TeXmacs>).
|
|||
|
D'autres styles peuvent <20>tre ajout<75>s dans le r<>pertoire
|
|||
|
<verbatim|$TEXMACS_PATH\\prog\\bibtex>.
|
|||
|
|
|||
|
Pour l'<27>diteur, chaque style correspond <20> un fichier <verbatim|.scm>. Les
|
|||
|
fichiers correspondant <20> chaque style sont trait<69>s comme des programmes
|
|||
|
Scheme ordinaire : il est n<>cessaire de respecter scrupuleusement
|
|||
|
l'utilisation des fonctions sp<73>cifiques aux styles bibliographiques.
|
|||
|
|
|||
|
<section|Styles BibTeX>
|
|||
|
|
|||
|
Actuellement, les styles BibTeX suivants ont <20>t<EFBFBD> impl<70>ment<6E>s :
|
|||
|
<verbatim|abbrv>, <verbatim|alpha>, <verbatim|ieeetr>, <verbatim|plain> et
|
|||
|
<verbatim|siam>. Leur utilisation ne n<>cessite pas l'installation de
|
|||
|
BibTeX.
|
|||
|
|
|||
|
<section|Cr<43>ation de styles bibliographiques>
|
|||
|
|
|||
|
Si les fichiers de style standards de <TeXmacs> ne sont pas adapt<70>s <20> vos
|
|||
|
besoins, vous pouvez en cr<63>er d'autres. N<>anmoins, la cr<63>ation d'un fichier
|
|||
|
de style <20> 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|<7C>tude d'un exemple>
|
|||
|
|
|||
|
Un fichier de style bibliographique est un<with|font-shape|italic|> fichier
|
|||
|
plac<61> 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<6F> par <verbatim|tm-example> lors de son utilisation dans un document
|
|||
|
<TeXmacs>.
|
|||
|
|
|||
|
Tout fichier de style doit se d<>clarer en tant que module <20> 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 <20>
|
|||
|
la r<>dation et <20> l'interpr<70>tation d'un fichier de style bibliographique.
|
|||
|
|
|||
|
Tout fichier de style doit se d<>clarer en tant que style bibliographique <20>
|
|||
|
l'aide de la commande suivante :
|
|||
|
|
|||
|
<scm-fragment|(bib-define-style "example" "plain")>
|
|||
|
|
|||
|
Le premier param<61>tre de la fonction <scm|bib-define-style> est le nom du
|
|||
|
style courant, et le second param<61>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<69>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 <20>tre
|
|||
|
surcharg<72>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<65>finissable dans notre style de la mani<6E>re
|
|||
|
suivante :
|
|||
|
|
|||
|
<\scm-fragment>
|
|||
|
(tm-define (bib-format-date e)
|
|||
|
|
|||
|
\ \ (:mode bib-example?)
|
|||
|
|
|||
|
\ \ (bib-format-field e "year"))
|
|||
|
</scm-fragment>
|
|||
|
|
|||
|
Toute fonction export<72>e doit <20>tre pr<70>fix<69>e par <verbatim|bib->. Une
|
|||
|
fonction surcharg<72>e doit <20>tre suivie de la directive <scm|(:mode
|
|||
|
bib-example?)>, dans laquelle <verbatim|example> est le nom du style en
|
|||
|
cours.
|
|||
|
|
|||
|
Voici maintenant <20> 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<63>ation de fichiers de style>
|
|||
|
|
|||
|
<\explain>
|
|||
|
<scm|(bib-abbreviate name dot spc)><explain-synopsis|abbr<62>viation d'un
|
|||
|
nom>
|
|||
|
<|explain>
|
|||
|
Cette fonction cr<63>e un arbre <TeXmacs> correspondant <20> l'abbr<62>viation du
|
|||
|
nom contenu dans <scm|name> (un arbre <TeXmacs>) : on r<>cup<75>re la liste
|
|||
|
des premi<6D>res lettres de chaque mot, suivi de <scm|dot> (un arbre
|
|||
|
<TeXmacs>) et s<>par<61>es par <scm|spc> (un arbre <TeXmacs>).
|
|||
|
</explain>
|
|||
|
|
|||
|
<\explain>
|
|||
|
<scm|(bib-add-period tm)><explain-synopsis|ajout d'un point>
|
|||
|
<|explain>
|
|||
|
Cette fonction cr<63>e un arbre <TeXmacs> en ajoutant un point <20> 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<63>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<6D> <scm|name> (de type string) avec
|
|||
|
<scm|default> (de type string) le style par d<>faut. Le style est alors
|
|||
|
s<>lectionn<6E> en choisissant <verbatim|tm-><scm|name> lors de l'ajout d'une
|
|||
|
bibliographie <20> un document. Quand une fonction de formatage n'est pas
|
|||
|
d<>finie dans le style, celle du style <scm|default> est <20>valu<6C>e en
|
|||
|
remplacement.
|
|||
|
</explain>
|
|||
|
|
|||
|
<\explain>
|
|||
|
<scm|(bib-emphasize tm)><explain-synopsis|mise en italique>
|
|||
|
<|explain>
|
|||
|
Cette fonction renvoie un arbre <TeXmacs> correspondant <20> la mise en
|
|||
|
italique de l'abre <TeXmacs> <scm|tm>.
|
|||
|
</explain>
|
|||
|
|
|||
|
<\explain>
|
|||
|
<scm|(bib-empty? entry field)><explain-synopsis|test <20> z<>ro d'un champ>
|
|||
|
<|explain>
|
|||
|
Cette fonction renvoie le bool<6F>en <scm|#t> si le champ de l'entr<74>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<75>ration d'un champ>
|
|||
|
<|explain>
|
|||
|
Cette fonction cr<63>e un arbre <TeXmacs> correspondant au contenu du champ
|
|||
|
de l'entr<74>e <scm|entry> dont le nom est <scm|field> (de type string),
|
|||
|
sans aucun formatage. Dans certains cas, une donn<6E>e sp<73>cifique est
|
|||
|
renvoy<6F>e :
|
|||
|
|
|||
|
<\itemize-dot>
|
|||
|
<item>si <scm|field> est <20>gal <20> <scm|"author"> ou <scm|"editor">, la
|
|||
|
donn<6E>e renvoy<6F>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
|
|||
|
<20>l<EFBFBD>ments, dans l'ordre : le pr<70>nom, la particule, le nom et un
|
|||
|
qualificatif (junior ou senior).
|
|||
|
|
|||
|
<item>si <scm|field> est <20>gal <20> <scm|"page">, la donn<6E>e contient une
|
|||
|
liste d'entiers : soit une liste vide, soit un singleton contenant la
|
|||
|
page r<>f<EFBFBD>renc<6E>e, soit un couple d<>notant l'intervalle des pages
|
|||
|
r<>f<EFBFBD>renc<6E>es.
|
|||
|
</itemize-dot>
|
|||
|
</explain>
|
|||
|
|
|||
|
<\explain>
|
|||
|
<scm|(bib-format-field entry field)><explain-synopsis|formatage basique
|
|||
|
d'un champ>
|
|||
|
<|explain>
|
|||
|
Cette fonction cr<63>e un arbre <TeXmacs> correspondant au contenu du champ
|
|||
|
de l'entr<74>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<73>cial d'un champ>
|
|||
|
<|explain>
|
|||
|
Cette fonction est similaire <20> la fonction <scm|bib-format-entry> ; mais
|
|||
|
le champ est format<61> en minuscules, avec une majuscule en t<>te.
|
|||
|
</explain>
|
|||
|
|
|||
|
<\explain>
|
|||
|
<scm|(bib-locase tm)><explain-synopsis|mise en minucule>
|
|||
|
<|explain>
|
|||
|
Cette fonction cr<63>e un arbre <TeXmacs> en mettant en minuscule toutes les
|
|||
|
lettres de l'arbre <TeXmacs> <scm|tm>, sauf celles englob<6F>es dans un bloc
|
|||
|
<verbatim|keepkase>.
|
|||
|
</explain>
|
|||
|
|
|||
|
<\explain>
|
|||
|
<scm|(bib-new-block tm)><explain-synopsis|nouveau bloc>
|
|||
|
<|explain>
|
|||
|
Cette fonction cr<63>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<61>e>
|
|||
|
<|explain>
|
|||
|
Cette fonction cr<63>e un arbre <TeXmacs> en concat<61>nant tous les <20>l<EFBFBD>ments
|
|||
|
de la liste <scm|ltm> (ses <20>l<EFBFBD>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<61>e par des
|
|||
|
blancs>
|
|||
|
<|explain>
|
|||
|
Cette fonction est <20>quivalente <20> l'appel de <scm|(bib-new-list " " ltm)>.
|
|||
|
</explain>
|
|||
|
|
|||
|
<\explain>
|
|||
|
<scm|(bib-new-sentence ltm)><explain-synopsis|nouvelle phrase>
|
|||
|
<|explain>
|
|||
|
Cette fonction cr<63>e un arbre <TeXmacs> correspondant <20> une phrase
|
|||
|
correctement ponctu<74>e, contenant tous les <20>l<EFBFBD>ments de la liste <scm|ltm>
|
|||
|
(ses <20>l<EFBFBD>ments sont des arbres <TeXmacs>) s<>par<61>s par des virgules.
|
|||
|
</explain>
|
|||
|
|
|||
|
<\explain>
|
|||
|
<scm|(bib-null? v)><explain-synopsis|test <20> z<>ro>
|
|||
|
<|explain>
|
|||
|
Cette fonction renvoie le bool<6F>en <scm|#t> si la valeur <scm|v> est vide
|
|||
|
(<with|font-shape|italic|i.e.> la donn<6E>e vide correspondant <20> 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<70>fix d'un arbre <TeXmacs>>
|
|||
|
<|explain>
|
|||
|
Cette fonction renvoie une cha<68>ne de caract<63>res contenant les <scm|nbcar>
|
|||
|
premiers caract<63>res de l'arbre <TeXmacs> <scm|tm>.
|
|||
|
</explain>
|
|||
|
|
|||
|
<\explain>
|
|||
|
<scm|(bib-purify tm)><explain-synopsis|applatissement d'un arbre
|
|||
|
<TeXmacs>>
|
|||
|
<|explain>
|
|||
|
Cette fonction cr<63>e une cha<68>ne de caract<63>res <20> 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 <20> la
|
|||
|
simplification de l'abre <TeXmacs> <scm|tm>, c'est-<2D>-dire la
|
|||
|
concat<61>nation des cha<68>nes de caract<63>res adjacentes, l'<27>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<63>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'<27>dition.
|
|||
|
</explain>
|
|||
|
|
|||
|
<\explain>
|
|||
|
<scm|(bib-upcase tm)><explain-synopsis|mise en majuscule>
|
|||
|
<|explain>
|
|||
|
Cette fonction cr<63>e un arbre <TeXmacs> en mettant en majuscule toutes les
|
|||
|
lettres de l'arbre <TeXmacs> <scm|tm>, sauf celles englob<6F>es dans un bloc
|
|||
|
<verbatim|keepkase>.
|
|||
|
</explain>
|
|||
|
|
|||
|
<\explain>
|
|||
|
<scm|(bib-upcase-first tm)><explain-synopsis|majuscule en t<>te>
|
|||
|
<|explain>
|
|||
|
Cette fonction cr<63>e un arbre <TeXmacs> en mettant en majuscule la
|
|||
|
premi<6D>re lettre de l'arbre <TeXmacs> <scm|tm>, sauf si elle est englob<6F>e
|
|||
|
dans un bloc <verbatim|keepkase>.
|
|||
|
</explain>
|
|||
|
|
|||
|
<\explain>
|
|||
|
<scm|(bib-with-style style expr)><explain-synopsis|style local>
|
|||
|
<|explain>
|
|||
|
Cette fonction ex<65>cute l'expression <scm|expr> comme si le style en cours
|
|||
|
<20>tait <scm|style> (de type string).
|
|||
|
</explain>
|
|||
|
</body>
|
|||
|
|
|||
|
<\initial>
|
|||
|
<\collection>
|
|||
|
<associate|language|french>
|
|||
|
<associate|preamble|false>
|
|||
|
</collection>
|
|||
|
</initial>
|