You are on page 1of 268

Version papier : http://www.atramenta.

net/books/latex-sciences-humaines/79
Mise en page : Maeul Rouquee
Couverture : Laura Pigeon
diteur : Atramenta
Publi sous licence Creative Commons France 3.0 - Paternit - Partage lIdentique

Avant-propos

Du LATEX sed TEX


Proverbe Latin

Remerciement
Nombreuses sont les personnes remercier pour leur participation ce projet. Tout dabord Brendan Chabannes et ma sur Enimie qui ont accept dcrire
plusieurs passages, ainsi que Laura Pigeon pour avoir mis en page la premire
et la quatrime de couverture.
Christophe Masui ma incit crire ce livre et je ne me serais pas lanc dans cee rdaction sans ses encouragements. Ma reconnaissance va galement mon directeur de mmoire, Rmi Gounelle, qui a aimablement accept
de prendre sur son temps dcanal pour discuter de ce projet.
Deux amis astronomes sont mentionner : Benjamin pour mavoir fait dcouvrir LATEX et Yannick pour mavoir convaincu, sans le savoir, de lutiliser
pour mon mmoire, au cours de lune de nos nombreuses conversations lectroniques.
Il ne faudrait pas que joublie omas Boitel, mon correspondant chez Atramenta : il ma fourni ses conseils aviss dditeur dans les derniers mois de prparation de cet ouvrage.
Je tiens galement remercier lensemble de la communaut LATEX sans qui
ce livre naurait pu exister, faute dobjet.

Au sujet de ce livre
Il va de soi que ce livre a t compos avec XELATEX. Outre les packages dont
il traite, jai utilis le package minted pour les citations de code ; les packages
mdframed et framed pour les botes colores.
Ce livre est dius sous licence Creatives Commons - Paternit - Partage des
Conditions Initiales lIdentique 3.0 France. Sommairement1 , cela signie que
vous pouvez le diuser, le dupliquer, le publier et mme le modier si vous respectez deux conditions :
1. que vous citiez mon nom2 ;
2. que vous oriez les mmes droits aux destinataires de vos diusions3 .
Bien sr, si vous souhaitez me soutenir, vous pouvez acheter cet ouvrage en
version papier, ou simplement menvoyer un petit mot vous trouverez aisment comment me contacter sur Internet.
Si vous souhaitez amliorer cee uvre, soyez le bienvenu. Le code est mis
disposition sur GitHub4 , un service fonctionnant laide de loutil de travail
collaboratif Git ( p. 242, F.1) mais disposant dune interface ddition en ligne.
Nhsitez pas me demander un accs ldition du projet !

1 Pour

les dtails, je renvoie au texte intgral de la licence :

licenses/by-sa/3.0/fr/legalcode.
2 Et que vous ne portiez pas aeinte

http://creativecommons.org/

mes droits moraux.


images de pas et dclair servant indiquer les encarts sont tires du domaine public
et (lgrement) modies par mes soins. Elles ne sont donc pas aectes par ces rgles. Voir
http://www.openclipart.org/detail/154855/green-steps-by-netalloy et http://thenounproject.
com/noun/high-voltage/. Limage de couverture est de Duane Bibby, avec une lgre modication.
Voir http://www.ctan.org/lion.html.
4 ladresse https://github.com/maieul/latexhumain.
3 Les

Chapitre 1

Introduction : intrt de LATEX


en sciences humaines
1.1

Un manque important

Ce livre est le fruit dun an et demi de travail et dutilisation quotidienne


de LATEX pour la rdaction de notre mmoire de master. Il vient, nos yeux,
combler un vide. En eet, si les ouvrages sur LATEX sont nombreux, rares sont
ceux destins spciquement aux sciences humaines.
Si le mot LATEX a dj t entendu par des oreilles humanistes, il voque
sauf rares exceptions au mieux un outil pour les sciences dites dures, au pire
la sve dun arbre ou un plastique aux nombreuses applications.
Certaines raisons pourraient expliquer ce quasi-vide :
Une tendance des chercheurs en sciences humaines mal connatre ou
mconnatre loutil informatique ;
LATEX parat au premier abord peu convivial ;
Pendant longtemps LATEX na pas dispos doutils pour grer convenablement et simplement une bibliographie selon les normes propres aux
sciences humaines : notes de bas de page, distinction entre sources primaires et secondaires, etc. ;
Il fut un temps o la gestion des caractres non latins ntait pas des plus
aises en LATEX ;
Les diteurs de sciences humaines acceptent rarement des textes formats
en LATEX parce que les auteurs les rdigent rarement en LATEX parce que les
diteurs les acceptent rarement en LATEX
7

Chapitre 1

Introduction

Alors que les chercheurs en sciences humaines sont des spcialistes de lcrit,
durant un temps seuls des logiciels de traitement de texte comme LibreOce.org
ou Microso Word ont t utiliss pour la rdaction des travaux universitaires.
Et cest l un paradoxe : en eet, comme nous allons le voir, ces traitements
de texte sourent de dfauts majeurs qui devraient inciter les crivains en
changer.

1.2 Pourquoi LATEX ?


1.2.1 Inconvnients des traitements de texte
and vous rdigez dans votre traitement de texte, comme par exemple Microso Word ou LibreOce.org, celui-ci excute deux actions simultanes :
Dune part il stocke dans un chier la structure logique de votre travail :
titres, paragraphes, notes de bas de page etc.
Dautre part il vous ache lcran le rendu physique de votre texte
(justication, gras, italiques, etc.), tel quun lecteur en disposera.
Pour cee raison on appelle ce type de logiciel WYSIWYG, ce qui en anglais
est lacronyme de What You See Is What You Get 1 .
Cee combinaison de deux fonctions direntes dans les traitements de
texte entrane trois consquences :
La ncessit dacher en temps rel le rendu physique du texte tout en
conservant une vitesse leve du logiciel a pour consquence une baisse
de la qualit typographique. Par exemple :
Pour avoir un texte justi gauche et droite, les traitements de
texte font varier la taille des espaces entre les mots. Les variations
sont parfois considrables, ce qui peut diminuer le confort de lecture.
An dviter ce type dennui, les livres classiques coupent les mots
en n de ligne, ce quon appelle une csure2 .
Les blancs situs avant certains signes de ponctuation, comme par
exemple les points dexclamation, sont de la mme taille que les
blancs sparant les mots, alors que les rgles typographiques classiques prvoient des blancs plus petits.
1

Ce que vous voyez est ce que vous produisez .


csure ne se fait toutefois pas nimporte o : elle doit respecter des rgles propres chaque
langue.
2 La

Pourquoi LATEX ?

1.2

Le fait quun mme logiciel soccupe la fois de lachage et de la structure du texte incite confondre les deux3 :
Une telle pratique pousse se concentrer sur la forme plutt que sur
le fond et la structure4 .
Les rdacteurs nutilisent pas toujours la possibilit de sparer sens
et forme grce aux styles. Dans ce cas, lorsque lon dsire changer
la forme dun lment logique, comme le titre dun chapitre, on doit
changer lensemble des endroits o cet lment logique est utilis5 .
Les lourds calculs informatiques ncessaires la mise en forme en temps
rel rendent les traitements de textes particulirement lents comparativement dautres logiciels. Cee lenteur est souvent source dnervement
et de perte de concentration. En outre, ces logiciels exigent bien souvent
du matriel rcent.
Par ailleurs si les traitements de textes rcents disposent doutils de gestion
de bibliographie, ceux-ci manquent en gnral de souplesse ; cest pourquoi ils
sont rarement utiliss6 . Ainsi, nombreux sont les rdacteurs crire leur bibliographie la main en tapant directement : Nom de lAuteur, Titre, etc. En cas
derreur, il faut donc corriger lensemble des endroits o luvre est cite.

1.2.2

Avantages de LATEX

LATEX permet de rsoudre lensemble des problmes des traitements de texte.


En eet, il spare deux tapes :
Ltape de rdaction, qui se passe dans un diteur de texte. Lauteur frappe
son texte et indique par un certain nombre de commandes sa structure
(titres, paragraphes, notes de bas de page).
Ltape de calcul du rendu nal se fait seulement ensuite : lauteur passe
son chier par un compilateur7 , parfois aussi appel compositeur8 . Ce der3 Lauteur de ces lignes est moins svre envers les traitements de texte que dautres LaTeXiens :
cf. Alain C, Traitements de Texte : Stupides et Inecaces, : http://ricardo.ecn.wfu.edu/
~cottrell/wp/wp-fr.pdf.
4 Toutefois en thorie la formation universitaire en sciences humaines incite penser structure
et sens dabord. Voir un dbat sur le blog de lauteur : : http://geekographie.maieul.net/Detraitement-de-texte-a-Latex#forum20.
5 Par exemple, pour une personne qui naurait pas utilis les styles pour dsigner ses titres de
chapitre, il faudra slectionner lensemble des titres de chapitres puis aller dans les menus de mise en
forme, etc.
6 Il est toutefois possible de passer par des outils externes, tels que EndNote ou Zotero.
7 on peut sommairement dcrire comme un ensemble de scripts informatiques destins
produire un objet informatique partir dun langage plus facile lire pour les humains.
8 En ralit, le terme compositeur est plus correcte, du point de vue du vocabulaire informatique, que le terme compilateur . Toutefois ce dernier est plus souvent utilis dans la langue
courante.

Chapitre 1

Introduction

nier programme va lire lensemble des commandes du chier pour produire un nouveau chier au format PDF9 .
Cee sparation permet :
Une qualit typographique suprieure : le compilateur nayant pas la contrainte dun achage en temps rel, il peut faire des calculs plus lourds :
ainsi par exemple LATEX produit des csures typographiques et non pas
des blancs gomtrie variable, et quilibre bien mieux la composition
du texte.
Une meilleure sparation du sens et de la forme puisque lauteur donne
uniquement des indications de sens.
En outre LATEX possde un systme de gestion de la bibliographie extrmement puissant qui permet lauteur de sparer le contenu de sa bibliographie10
de son achage11 .
Cee sparation entre contenu de la bibliographie et achage est utile non
seulement aux auteurs mais aussi aux diteurs. En eet, si lauteur structure
correctement sa base de donnes bibliographique ( p. 79, 10), lditeur peut
adapter lachage de la bibliographie ses propres rgles : il lui sut de crer
des chiers de styles bibliographiques suivant une syntaxe simple.
La gestion dune bibliographie est la fois lun des travaux les plus importants en sciences humaines et lun des plus pnibles, avec de nombreuses sources
possibles derreurs. Cee simple raison sut aux yeux de lauteur prfrer
LATEX un logiciel de traitement de texte12 .
Un autre avantage de LATEX est la production directe dun document au format PDF. Lorsque lon reoit des documents sous forme numrique, il est bien
frquent qu louverture du chier la mise en page soit perdue, que limpression soit de mauvaise qualit, ou mme quil soit tout bonnement impossible
douvrir le chier.
Le Portable Document Format permet de pallier ces inconvnients. Il sagit
dun format ouvert, cest--dire que son crateur, la socit Adobe, a publi
toutes les spcications ncessaires la cration de logiciels pouvant lire ce
format. Par consquent, il existe de nombreux lecteurs de PDF utilisables sur un
grand nombre de systmes dexploitation13 .
9 Historiquement LAT X produisait un autre format de chier : DVI. Mais pour notre propos, cela
E
na pas dimportance : dans ce livre nous nutiliserons que la production de PDF.
10 Titres, auteurs etc.
11 Faut-il mere des op. cit., et si oui o ? faut-il mere uniquement les initiales des prnoms ou
les prnoms en entier ? etc.
12 Lauteur ainsi que sa sur se sont dcids utiliser LAT X dans le cadre de leurs travaux universiE
taires, et llment dclencheur du choix a t la facilit et la souplesse de la gestion bibliographique.
13 Pour un aperu des lecteurs libres et gratuits disponibles pour votre systme dexploitation, si
vous nen disposez pas dj dun, rendez-vous la page http://pdfreaders.org/index.fr.html (en
franais).

10

Pourquoi LATEX ?

1.2

Le format PDF est conu pour tre lisible de manire universelle. Il embarque
en eet dans un mme chier non seulement le texte et les ventuelles images,
mais aussi les indications de mise en page et les polices de caractre. tre aussi
complet garantit que celui qui visionnera votre document ou bien le lira sous sa
forme imprime verra exactement ce que vous aviez en tte lorsque vous lavez
compos, ce qui constitue un avantage indniable sur les formats de chiers
tels que celui de Microso Word, par exemple. En outre, vous avez la certitude
que le PDF que vous conservez est prenne. Dans la mesure o chacun est libre
de concevoir un logiciel permeant la lecture des PDF et que les spcications
sont librement accessibles, vous avez la garantie de ne pas voir le sort de vos
publications dpendre de la bonne volont dun vendeur de logiciels au cours
des annes venir, ce qui fait du PDF un format de choix pour archiver des
publications.
La mdaille a hlas son revers : format de chier lisible universellement, le
PDF est fort dicile modier confortablement : il nest pas prvu pour cet
usage. Cest pourquoi, si vous souhaitez travailler en collaboration sur un ouvrage en utilisant LATEX, il vous faudra travailler diremment ( p. 241, F).

1.2.3

est-ce quun diteur de texte ?

Nous avons parl dans les paragraphes prcdents de deux types de logiciel,
quil ne faut pas confondre :
1. Les traitements de texte.
2. Les diteurs de texte.
Nous avons vu ce qutaient les premiers : des logiciels qui soccupent dinsrer dans un chier la structure logique dun texte et de montrer son rendu
physique. Les seconds sont simplement des logiciels qui permeent une personne dcrire dans un chier texte et de placer lui mme ses commandes de
structuration. Toutefois les bons diteurs de texte font plus que cela, ils aident
la rdaction par dirents outils :
Souvent ils colorient lcran les commandes, an de permere de mieux
les visualiser : cest ce que lon appelle la coloration syntaxique.
Ils proposent des aides pour frapper les commandes les plus frquentes :
raccourcis clavier, boutons, etc.
Ils orent parfois un achage du plan du travail.
Certains de ces diteurs de texte sont gnralistes et adapts plusieurs
langages informatiques14 . Dautres sont spcialiss dans tel ou tel langage : ils
14 Par

exemple le LATEX et le HTML, ce dernier tant utilis pour les sites internet.

11

Chapitre 1

Introduction

proposent dans ce cas des outils supplmentaires propres au langage de spcialisation.


Ainsi les diteurs spcialiss en LATEX proposent des boutons spciques an
de lancer le compilateur LATEX.
Pour commencer en LATEX il vous faut donc abandonner votre ancien traitement de texte et choisir un diteur de texte spcialis en LATEX : nous en listons
plusieurs en annexe ( p. 229, B.1).

1.3 TEX, LATEX, XETEX et XELATEX : points communs et


dirences
Dans ce chapitre nous avons parl de LATEX. Le titre de ce livre parle pourtant
de XELATEX. elle est la dirence ? Voici une brve explication historique, trs
simplie15 .
1. En 1977 Donal Knuth invente TEX qui tait un simple compositeur de
texte, capable de transformer un texte structur par des commandes en un
texte mis en forme. Avec TEX on pouvait galement inventer ses propres
commandes.
2. Lutilisation de TEX tait relativement complexe. Leslie Lamport a cr un
ensemble de commandes TEX pour en simplier lusage. Cet ensemble de
commandes a permis de former le langage LATEX et le compilateur associ.
3. Par la suite un compilateur driv de TEX a t cr : XETEX. Il permet deux
choses :
Une gestion de lensemble des critures mondiales, par le biais du
jeu de caractres Unicode ( p. 35, 4.2).
Une gestion des nouvelles polices de caractres au format OpenType16 , apparues au dbut des annes 2000.
4. Pour pouvoir utiliser les commandes de LATEX avec TEX on a cr XELATEX.
On peut rsumer les liens entre TEX, LATEX, XETEX et XELATEX par le schma 1.1
(p. 13).
Dans ce livre nous travaillerons sur XELATEX. Toutefois comme la plupart de
nos propos peuvent sappliquer indiremment LATEX et XELATEX, nous emploierons le terme LATEX , sauf lorsque nous signalerons une spcicit de
XELATEX.
15 Le lecteur curieux trouvera aisment de la documentation plus dtaille sur le sujet, sur Internet
notamment.
16 Ce type de fonte permet, par exemple, une gestion pousse des ligatures entre les caractres.

12

Publics viss par cet ouvrage

1.4
TE.X

LATEX

XETEX

XELATEX
F. 1.1 : Les relations entre TEX, LATEX, XETEX et XELATEX
Bien que le sujet soit controvers, il semblerait quil faille prononcer le
X de TEX comme un grec, car le nom TEX viendrait du mot grec
: art, science . Ainsi prononcerait-on latek .

1.4

Publics viss par cet ouvrage

Cet ouvrage vise trois publics distincts.


Tout dabord, les tudiants et chercheurs en sciences humaines qui ne sont
pas rebuts lide dapprendre un nouvel outil informatique, qui, sil leur semblera leur faire perdre du temps au dbut, leur en fera gagner un prcieux
lusage.
Ensuite, les diteurs de revues et de livres en sciences humaines, pour les inciter prendre en compte LATEX dans leurs choix de format de chier, et pour leur
montrer lavantage de ce format par rapport aux autres. Nous esprons montrer
que LATEX permet de rsoudre nombre de problmes ddition, notamment en ce
qui concerne les normes bibliographiques, puisquil distingue aisment le sens
et la forme.
Enn les utilisateurs de LATEX venant des sciences dites dures , pour leur
montrer les spcicits ditoriales des sciences humaines et la ncessit dextensions appeles package en LATEX adaptes.

1.5

Comment lire ce livre

Cet ouvrage nest pas un manuel sur LATEX. Il se veut plutt une introduction
et ne vise donc prsenter que les bases de LATEX. Une fois celles-ci poses le
lecteur-rdacteur devrait tre en mesure de comprendre la logique de LATEX et
par la suite tre mme de trouver aisment les informations utiles son projet.
13

Chapitre 1

Introduction

videmment, ces bases ne sont pas les mmes que celles proposes dans
dautres livres dintroduction LATEX, gnralement orients vers les sciences
dites dures. Cest pourquoi vous ny trouverez pas la manire dinsrer une
quation. En revanche nous y dtaillons divers lments abords souvent trop
rapidement dans les autres introductions : ainsi les diverses faons de faire une
citation, dindiquer un changement de langue, la manire dcrire dans un ou
plusieurs alphabets non latins, etc.
Une premire partie sera donc consacre prsenter les principes de fonctionnement de LATEX. Le premier chapitre, sous forme de tutoriel, vise exposer
les concepts essentiels. Les autres chapitres, plus formels, dcrivent les outils
de base et ncessitent davoir compris les concepts. En revanche leur ordre de
lecture dpend essentiellement des besoins rdactionnels du lecteur.
Celui-ci pourrait dailleurs fort bien commencer par les premiers chapitres
de la seconde partie, qui prsente les outils de gestion bibliographique en LATEX,
en commenant par la constitution de la base de donne bibliographique.
Une troisime partie cherche introduire lensemble des outils ncessaires
pour faciliter la navigation dans le travail nal : sommaire, renvois internes,
index.
Une quatrime introduit des outils LATEX dont lauteur a jug quils pouvaient
tre particulirement utiles en sciences humaines.
La sparation entre forme et sens tant au cur de la logique de LATEX, nous
avons jug important de naborder, sommairement, les questions de mise en
forme quen dernire partie17 .
Le lecteur nous pardonnera de navoir pas mis de conclusion, la nature de
ce livre ne sy prtant pas. Cependant il trouvera un certain nombre dannexes,
comprenant, outre les indispensables index et bibliographies, diverses informations utiles : comment installer et mere jour LATEX, comment trouver de laide,
une prsentation de quelques logiciels autour de LATEX, un glossaire, une prsentation doutils utiles pour le travail plusieurs sur un mme projet.
Chaque chapitre de ce livre commence par une courte introduction mentionnant son objet ainsi que les pr-requis sa comprhension. Deux types dencart
se situent dans le cours du texte : des encarts aention , marqus par des
clairs et dont il est inutile de dtailler la signication, et des encarts pour aller plus loin , marqus par des traces de pas et visant satisfaire la curiosit du
lecteur et le plaisir de la digression de lauteur. Des renvois vers dautres sections
du livre sont indiqus sous la forme ( page, apitre.section.sous-section).
Les pigrammes en tte de chaque partie nayant pas de prtentions scientiques, le savant tolra le lger ou quant leurs provenance, leurs origines
nayant pas toujours pu tre dtermines avec certitude.
On voudra bien enn nous excuser de ne pas prciser les numros de page
17 Exception faite dun chapitre particulier de la premire partie, mais qui aborde dabord les questions de mise en sens.

14

Comment lire ce livre

1.5

lorsque nous renvoyons un manuel dun package de LATEX : tant donne la


frquence avec laquelle certains dentre eux sont mis jour, cee information
naurait gure t pertinente.

15

Premire partie

Premiers pas avec LATEX

Les Sabins [] commencerent la bataille, qui fut aspre


& dura longuement
P, Romulus, XXVII, trad. par Jacques A

17

Chapitre 2

Commencer avec XELATEX


Nous supposons que vous avez install LATEX ( p. 221, A) et un diteur de texte ( p. 229,
B) spcialis en LATEX. Voyez en annexe.
La premire chose faire est de vrier que ce logiciel de traitement de texte enregistre
bien en UTF-81 . Nous reviendrons plus loin ( p. 35, 4.2) sur lintrt dun tel encodage,
sachez simplement quil permet dutiliser des signes non latins2 .

2.1

Un premier document

Dans votre diteur de texte, frappez le code suivant3 puis cliquez sur le bouton de compilation avec XELATEX4 :
Si vous tes sous Mac, les caractres ncessaires lutilisation de LATEX
ne sont pas visibles directement sur votre clavier. Nous avons list en annexe la manire de les frapper ( p. 222, A.2.1).
1

\documentclass[12pt,a4paper]{book}

\usepackage{fontspec}

\usepackage{xunicode}

\usepackage{polyglossia}

\setmainlanguage{french}

1 Le rglage se trouve en gnral dans les prfrences du logiciel, dans une rubrique enregistrement ou encodage : consultez le manuel de votre logiciel le cas chant.
2 Cyrilliques, grecs, sanskrits, hbraques, etc. Et mme extra-terrestres.
3 Comme nous lavons expliqu en introduction (p. 11), la coloration que vous voyez ici, si vous
lisez la version informatique de ce livre, a un sens syntaxique : ne vous proccupez pas si elle est
dirente dans votre diteur, et ne pensez pas que votre texte apparatra ainsi une fois compil.
4 Sa position dpend de votre diteur de texte. Pour le moment vous pouvez vous contenter de
ce bouton, mais un jour vous devrez apprendre faire quelques lignes de commandes : ne vous
inquitez pas, tout sera expliqu.

19

Chapitre 2
7

\begin{document}

\title{Un titre d'ouvrage}

\author{Le nom de son auteur}

Commencer avec XeLaTeX

10
11

\maketitle

12
13

Lorem ipsum dolor sit amet, consectetuer adipiscing elit ?

14

Morbi commodo ipsum ; sed pharetra gravida !

15

Nullam sit amet enim. Suspendisse id : velit vitae ligula.

16

Aliquam erat volutpat.

17

Sed quis velit. Nulla facilisi. Nulla libero.

18
19

Quisque facilisis erat a dui.

20

Nam malesuada ornare dolor.

21

Cras gravida, diam sit amet rhoncus ornare,

22

erat

23

% La fin du document

24

\end{document}

elit consectetuer erat, id egestas pede nibh eget odio.

Regardez le PDF obtenu : an de comprendre les principes de base de LATEX


nous allons lire le code que vous avez copi et le commenter ligne par ligne.

2.2 Structure dun document LATEX


2.2.1 La classe du document
La premire ligne \documentclass[12pt]{book} dclare la classe du document, ici book. Une classe correspond un choix ditorial mise en page et
organisation gnrale du document. Le choix de la classe inuence entre autres :
Le nombre de niveaux de titre disponibles.
Les marges appliques.
Les en-ttes et pieds de page.
Il existe en standard plusieurs classes de documents : citons book, pour rdiger un livre ; article pour un article (si, si !) ; beamer pour une prsentation sous
forme de diapositives projeter. Dans cet ouvrage, nous aborderons essentiellement les deux premires, nous ferons galement une brve prsentation de
beamer ( p. 181, 21).
Tout document LATEX doit commencer par une dclaration de classe, avant
toutes autres lignes. La syntaxe est : \documentclass[options]{classe}.
Dans la suite de ce livre, tout texte situ entre crochets (ainsi), doit
tre remplac dans votre chier .tex par une valeur textuelle.

20

Structure dun document LATEX

2.2

Les options viennent spcier certaines proprits de la classe. Dans notre


exemple, nous prcisons que la taille de la police du texte courant doit tre de
12 pt et que le format du papier est A4. Vous pouvez indiquer plusieurs options,
en les sparant par des virgules.
Voici quelques options disponibles et utiles en sciences humaines :
10pt

pour une police de base en 10 pt.

11pt

pour une police de base en 11 pt.

12pt

pour une police de base en 12 pt.

onecolumn

pour un texte sur une seule colonne. Cest le cas par dfaut sur
les classes cites.

twocolumn

pour un texte sur deux colonnes.

oneside

pour une impression en recto seulement.

twoside

pour une impression en recto-verso5 .

Nous en prciserons dautres au fur et mesure de louvrage, lorsque les


notions requises auront t abordes.

2.2.2

Lappel aux paages

Voyons les trois lignes suivantes :


2

\usepackage{fontspec}

\usepackage{xunicode}

\usepackage{polyglossia}

Il sagit, comme vous auriez pu le deviner, dappel des packages6 . Un package est un ensemble de chiers qui ajoutent des fonctionnalits LATEX, cest
lquivalent dun plugin sous Firefox.
Le premier package est fontspec. Il est utile XELATEX pour une typographie
avance, notamment pour disposer daccents dans le document PDF produit.
Le second package est xunicode. Il permet de grer lunicode, autrement appel UTF-87 . Il nous permet dutiliser des caractres non latins ( p. 35, 4.2)
dans le document .tex.
5 Cee option et la prcdente servent essentiellement pour les questions de reliure. En eet,
loption twoside produit des marges gauches et droites de tailles direntes, selon que la page est
recto ou verso. En outre la numrotation des pages est inscrite gauche et droite en alternance.
6 Nous avons fait volontairement le choix de ne pas traduire ce terme, pour viter des confusions.
7 En ralit UTF-8 nest pas tout fait Unicode, mais une implmentation de ce dernier. Toutefois,
pour simplier, nous assimilons les deux.

21

Chapitre 2

Commencer avec XeLaTeX

On trouve sur internet de la documentation expliquant quil faut, pour


insrer un , frapper \'{}, et qui fournit une liste de commandes de
caractres accentus.
Ceci tait vrai fut un temps. Il est depuis longtemps inutile dapprendre
ces commandes : vous pouvez tranquillement frapper vos leres accentues
de manire normale .

Le troisime, polyglossia, permet de grer facilement un document multilingue ( p. 33, 4) et les changements typographiques quun tel document implique.
Ces trois packages sont propres XELATEX : ils ne fonctionnent pas ( p. 12,
1.3) avec LATEX.
Certains packages peuvent recevoir des options qui modieront leur comportement standard. La syntaxe est alors \usepackage[options]{package}.
Tout au long de cet ouvrage, nous aborderons divers packages.
Dans la suite de ce livre, chaque fois que nous dcrivons les fonctionnalits dun package, nous suppose que le package a t charg au pralable
dans le prambule par la commande \usepackage{package}.
Lorsque nous parlons dun package, nous renvoyons souvent son manuel. Il existe une faon trs simple de trouver le manuel dun package
en passant par le terminal : nous expliquons en annexe comment faire
( p. 251, I.1).

2.2.3 Le franais, langue par dfaut


Tout de suite aprs, la ligne \setmainlanguage{french} indique que nous
utilisons comme langue principale du document le franais ( p. 33, 4), et que
le compositeur de texte devra donc prendre en compte la typographie franaise.
Cee ligne nest comprhensible par le compilateur que parce que nous avons
charg polyglossia au pralable.
Vous entendrez peut-tre parler du package babel. Il est trs souvent
utilis la place de polyglossia, notamment parce quil est plus ancien.
Toutefois, nous avons choisi pour notre part de nous limiter polyglossia,
puisque cest lui que nous avons utilis pour nos travaux et quil possde
plus de fonctionalits, par exemple pour les langues notes dans un alphabet non latin.
Vous trouverez aisment des informations propos de babel sur Internet.

2.2.4 Le corps du document


Tout ce que nous avons vu jusqu prsent, avant \begin{document}, fait partie de ce que lon appelle le prambule du document. Ce sont des informations
22

Structure dun document LATEX

2.2

qui napparaissent pas dans le document nal, mais qui sont utiles sa composition, autrement dit des mta-donnes. Tout les packages que vous souhaitez
utiliser sont appeler dans le prambule.
Tout ce qui se trouve entre la ligne \begin{document} et \end{document}
constitue le corps du document, le contenu proprement dit de votre travail.
Enn, rien de ce qui se trouve aprs \end{document} nest analys par le
compilateur. Vous pouvez donc y mere ce que vous voulez, cependant nous ne
vous le conseillons pas.

2.2.5

Titre, auteur et date : la notion de commande

\title{Un titre d'ouvrage}

\author{Le nom de son auteur}

10

\date{Une date}

11

\maketitle

Les trois premires de ces lignes dnissent respectivement le titre (\title),


lauteur (\author) et la date (\date) du travail. En ce qui concerne cee dernire,
ne pas lindiquer revient indiquer celle du jour de la compilation, et il faut
indiquer \date{} pour quaucune date napparaisse.
La dernire ligne ache ces informations. Si votre document est de classe
book, alors le compilateur les dispose sur une page part. Sil est de classe article, il les ache sans provoquer de saut de page.
On peut droger cee rgle en passant une option lappel de classe
( p. 21, 2.2.1).
notitlepage

pour ne pas avoir de page de titre spcique.

titlepage

pour avoir une page de titre spcique.

Nous pouvons maintenant dnir la notion de commande. Une commande


est un bout de code qui est interprt par le compilateur pour eectuer une suite
doprations, cest un raccourci dcriture. Ici la commande \maketitle ache
les informations tel que le titre, la date et lauteur du travail, informations que
le compilateur a apprises grce aux commandes utilises au pralable.
Une commande peut prendre des arguments, certains facultatifs, dautres
obligatoires. Ces arguments modient son comportement. Une commande sappelle avec la syntaxe : \nom[opt1][][optn]{obl1}{}{obln}.
Entre crochets sont indiqus les arguments optionnels, entre accolades les
arguments obligatoires. Ces arguments peuvent eux mme contenir des commandes.
Lordre des arguments dpend de chaque commande, et les arguments optionnels ne sont pas systmatiquement avant les arguments obligatoires : ils
peuvent tre aprs ou sintercaler entre. Notez que certaines commandes ne
prennent pas dargument : cest le cas ici de \maketitle.
23

Chapitre 2

Commencer avec XeLaTeX

chaque crochet ou accolade ouvert doit correspondre un crochet ou


accolade ferm, faute de quoi vous risquez de provoquer une erreur de compilation.

La grande force de LATEX est justement lutilisation de commandes an dviter la rptition des tches frquentes. Cest pourquoi nous apprendrons dnir nos propres commandes ( p. 53, 7).

2.2.6 Le corps du texte : la manire de rdiger


Analyse de notre exemple
Regardez maintenant les lignes suivantes et leur rsultat la compilation.
13

Lorem ipsum dolor sit amet, consectetuer adipiscing elit ?

14

Morbi commodo ; ipsum sed pharetra gravida !

15

Nullam sit amet enim. Suspendisse id : velit vitae ligula.

16

Aliquam erat volutpat.

17

Sed quis velit. Nulla facilisi. Nulla libero.

18
19

Quisque facilisis erat a dui.

20

Nam malesuada ornare dolor.

21

Cras gravida, diam sit amet rhoncus ornare,

22

erat

elit consectetuer erat, id egestas pede nibh eget odio.

Nous pouvons constater plusieurs choses.


Une ligne vide produit un changement de paragraphe. Plusieurs lignes
vides produisent un seul changement de paragraphe.
Un retour la ligne en revanche se comporte comme une espace8 . Cest
une grande dirence avec les logiciels WYSIWYG, qui traduisent automatiquement un retour la ligne par un saut de paragraphe.
Plusieurs espaces la suite produisent une seule espace.
Vous connaissez donc les rgles de bases de la rdaction dun texte en LATEX.
Allons plus loin
Nous lavons dit, LATEX produit une mise en page et une typographie plus
correctes quun logiciel de type WYSIWYG. Il est cependant ncessaire de lui
fournir un code correct, an quil puisse dterminer comment typographier.
LATEX produit automatiquement une espace ne devant les signes de ponctuation double, !:;? principalement, comme il se doit en bonne typographie
8 En

matire de typographie, ce terme est fminin.

24

Structure dun document LATEX

2.2

franaise9 . Toutefois, nous recommandons dinsrer des espaces dans le chier


.tex avant ces signes de ponctuation double, pour le confort de lecture.
Les espaces avant les signes de ponctuation double sont une spcicit
de la typographie franaise. Il ne sont gnralement pas prsent dans les
autres langues. Cest pourquoi, si vous crivez dans une autre langue que
celle de Molire, il ne faut pas mere ces espaces. vous donc de choisir si
vous les meez ou non dans votre chier source, sachant que LATEX les insrera pour vous le cas chant, mais ne les supprimera pas dans les langues
autres que le franais.

En revanche il est obligatoire de mere une espace aprs chaque signe de ponctuation. Pour ce qui est des points de suspension, il est mieux de ne pas frapper
trois points la suite, mais dutiliser la commande \ldots qui espacera correctement les points10 .
En ce qui concerne les guillemets, une partie sera consacre plus tard lart
et la manire de faire des citations ( p. 45, 6.1) en LATEX. Nous nen parlons
donc pas maintenant.
Prtons aention certaines leres ligatures comme et . la dirence
de la plupart des traitements de texte, LATEX ne remplace pas automatiquement
les suites oe et ae par ou . Il faut donc frapper soi-mme ces caractres, ou
congurer son diteur pour quil eectue ce remplacement.
Signalons galement trois types de tirets :
1.

qui produit un tiret simple (-), utilis pour les mots composs ;

2.

-- qui produit un tiret demi-cadratin (), en thorie utiliser pour sparer

une plage de nombres ;


3.

---

qui produit un tiret cadratin (), pour des incises11 .

Enn, il est parfois utile dinsrer une espace inscable, pour viter que deux
mots se trouvent spars par un retour la ligne, par exemple entre un nom de
souverain et son numro de rgne : Jean . Lespace inscable est produit
par le caractre ~.
Par ailleurs, comme vous avez pu le constater, LATEX interprte de manire
spcique un certain nombre de caractres : \{}~, quoi nous ajoutons %_&$#^12 .
Comment faire si nous dsirons acher un de ces caractres ? Il faut les faire
prcder du caractre \. Ainsi pour insrer le caractre %, il faut crire \%.
Trois exceptions toutefois :
9 Une

espace ne est une espace plus petite quune espace normale.


est tout fait possible de congurer lditeur de texte pour quil remplace automatiquement
trois points la suite par cee commande.
11 Certains diteurs prrent utiliser des tirets demi-cadratins.
12 Nous ne verrons pas lutilit LAT X de tout ces caractres, certains servant essentiellement
E
rdiger des formules mathmatiques.
10 Il

25

Chapitre 2

Commencer avec XeLaTeX

qui sinsre avec la commande \textbackslash ;

qui sinsre avec la commande \textasciitilde ;

qui sinsre avec la commande \textasciicircum.

2.2.7 Un commentaire
La ligne suivante est :
23

%La fin du document

Il existe en LATEX une rgle simple : tout ce qui se trouve droite dun signe
% est un commentaire. Cest--dire quil nest pas interprt par le compilateur
et napparat donc pas dans le document nal.
Nous conseillons de se servir des commentaires pour indiquer les grandes
structures du document et pour commenter les commandes que vous crez vousmmes ( p. 53, 7).
Vous pouvez aussi vous en servir, par exemple, pour faire un commentaire
usage personnel ligne ligne dun texte que vous traduisez.
En revanche, nous vous dconseillons de lutiliser pour des notes personnelles lors de la rdaction. Nous vous indiquerons plus loin comment dnir
une commande personnalise an de gnrer un chier qui les ache, pour
une relecture, et une autre qui les masque, pour le document nal ( p. 55, 7.1).

2.2.8 La notion denvironnement


Nous avons vu jusqu maintenant les notions de package, prambule, commande. Il nous reste en dnir une dernire : celle denvironnement .
Un environnement est une portion de document ayant une signication spcique et qui par consquent subit un traitement spcique. Par exemple, pour
indiquer une citation, une liste, etc. Nous dcouvrirons au fur et mesure des
environnements.
On marque le dbut dun environnement nom par \begin{nom} et on le
termine \end{nom}.
Dans la classe article il existe un environnement utile : abstract. On place
dans cet environnement un rsum de larticle :
1

\begin{abstract}

crivons ici un rsum de l'article.

\end{abstract}

Il est possible dimbriquer des environnements :


26

Structure dun document LATEX


1

\begin{1}

blabla blab

\begin{2}

blabl blab

\end{2}

blabl

\end{1}

2.2

En revanche il nest pas possible de superposer des environnements : ainsi


le code suivant ne fonctionne pas et produit une erreur lors de la compilation.
1

\begin{1}

blabla blab

\begin{2}

blabl blab

\end{1}

blabl

\end{2}

2.2.9

Conclusion

Vous avez appris ici les principales notions de LATEX. Pour linstant, cela doit
sans doute paratre trs ou : mais au fur et mesure de votre lecture, vous
comprendrez mieux13

13 Enn,

nous lesprons !

27

Chapitre 3

Structurer son travail


Aprs avoir dcouvert les bases de LATEX, apprenons la manire de structurer son travail.

3.1

Dirents niveaux de titres

LATEX propose par dfaut six ou sept niveaux de titres, selon la classe choisie.
Pour introduire un titre dans LATEX en dehors du titre du travail il sut dutiliser une commande de titre qui possde la syntaxe suivante : \titre[titre
court]{titre long}.
Le titre court est facultatif, comme lindique le fait quil soit entre crochets
( p. 23, 2.2.5). Il sert pour la table des matires ( p. 137, 17) et, ventuellement,
pour les en-ttes des pages ( p. 191, 22).
videmment \titre doit tre remplac par le type de titre. Voici les niveaux
de titre disponibles, du plus gnral au plus dtaill. Plus un titre se trouve haut
dans la hirarchie, plus son numro de niveau est faible.
Commande
\part
\chapter
\section
\subsection
\subsubsection
\paragraph
\subparagraph

Sens
Titre de partie
Titre de chapitre
Titre de section
Titre de sous-section
Titre de sous-sous-section
Titre de paragraphe
Titre de sous-paragraphe

Numro de niveau
-1
0
1
2
3
4
5

elques remarques importantes :


Le niveau \chapter nexiste que dans la classe book ;
29

Chapitre 3

Structurer son travail

Chaque niveau de titre se voit aribuer un numro. Ce numro sert lors de


lachage de la table des matires pour dnir sa profondeur. ( p. 138,
17.2)
Les niveaux dont les numros sont infrieurs 1 provoquent un changement de page.
Les niveaux dont les numros sont suprieurs 3 ne provoquent pas de
changement de paragraphe. Les titres sont positionns en lerine .

3.1.1 Des titres non numrots


Par dfaut, tous les titres sont automatiquement numrots1 . Il est possible
dobtenir un titre non numrot, en faisant suivre le nom de la commande dun
astrisque : \chapter*{Un chapitre non numrot}.
Toutefois un titre non numrot ne sera pas ajout la table des matires
( p. 137, 17).
Pour contourner ce problme, il faut utiliser la commande :
\addcontentsline{toc}{1}{2}, o :
1

est le type de titre ;

est le texte du titre ;


Un exemple sera plus parlant :

\addcontentsline{toc}{chapter}{Introduction}

\chapter*{Introduction}

Le lecteur alerte se demandera sans doute pourquoi il est ncessaire


de mere toc comme premier argument. Cela correspond lextension du
chier qui contiendra la table des matires : nous renvoyons au chapitre
ddi ce sujet ( p. 137, 17).

3.2 Structurer ses iers


Jusqu maintenant, vous aviez tout mis dans un seul chier. Une fonctionnalit intressante de LATEX est la possibilit dappeler dans un chier dautres
chiers, pour ainsi sparer son travail en plusieurs chiers, chacun contenant
une partie seulement du document nal.
Par exemple, il est possible de faire un chier par chapitre dun mmoire, ou
encore par texte cit dans un exemplier. Seul un chier pre est compil, ce
document appelle des chiers ls .
Pourquoi procder ainsi ?
1 Nous

verrons plus loin comment changer la numrotation ( p. 201, 23.3.1).

30

Structurer ses chiers

3.2

Pour pouvoir changer plus aisment lordre des parties.


Pour pouvoir recycler plus facilement certaines parties.
Pour pouvoir compiler seulement certaines parties.
Concrtement, comment fait-on ?
1. Le chier pre doit systmatiquement commencer par un appel de
classe, et contenir \begin{document} et \end{document}.
2. Les chiers ls ne doivent contenir aucun appel de classe, ni les commandes \begin{document} et \end{document}.
3. Ils sont inclus dans le chier pre par lune des commandes suivantes :

\include{chemin-du-chier},

qui entrane systmatiquement un


saut de page.
\input{chemin-du-chier}, qui nentrane pas de saut de page.
La commande \input, contrairement \include, peut aussi tre appele dans
un chier ls , voire dans un chier petit-ls etc.
Nous conseillons de mere lensemble des appels des packages dans un
chier part. Ainsi, vous pouvez disposer dun jeu de packages pour tout vos
documents : il sut dappeler chaque fois ce chier.

3.2.1

Comment indiquer le emin du ier

La notion de chemin de chier en informatique renvoie larborescence des


dossiers sur un ordinateur.
En LATEX, le chemin du chier se compte partir du chier pre , celui qui
est compil, y compris lorsquon procde une inclusion dans un chier ls .
On indique le chemin du chier en sparant chaque dossiers par /2 . Ainsi, si
nous souhaitons inclure le chier nomm c.tex situ dans le dossier b, lui mme
situ dans le dossier a, qui se trouve ct du chier pre , il faut que nous
meions dans notre chier pre : \input{a/b/c} ou bien \include{a/b/c}.
Il est dconseill davoir des caractres spciaux dans le nom des dossiers et des chiers.

Nous conseillons de mere les chiers ls dans un ou plusieurs sousdossier.


2 Cee norme sapplique mme sous Windows, qui spare traditionnellement les rpertoires par
des \ dans les chemins.

31

Chapitre 3

Structurer son travail

3.3 La classe book : structuration globale du document


La classe book propose, en plus des niveaux de titres, une manire de structurer en quatre parties son travail : prambules (avant-propos, sommaire, introductions etc.) ; corps du travail ; appendices ; outils de navigation (index, glossaires, bibliographie, tables des matires, etc.).
Chacune de ces parties est indique par une commande initiale, respectivement : \frontmatter ; \mainmatter ; \appendix3 ; \backmatter.
Cee structuration en parties globales a un impact sur la prsentation des
numros de page (romains ou arabes) et sur la numrotation des titres.
Ainsi, par dfaut :
\frontmatter

donne des titres non numrots mais prsents dans la table des
matires. En outre les numros de pages sont en chires romains minuscules.

\mainmatter

donne des titres numrots. La numrotation des pages est rinitialise et est en chire arabe.

\appendix

ache les numros de chapitres sous forme de leres majuscules. Le texte chapitre est remplac par appendice .

\backmatter

supprime les numros de chapitres tout en prsentant les chapitres dans la table des matires.

3 Cee

commande existe aussi dans la classe article.

32

Chapitre 4

Grer les langues avec


Xunicode et Polyglossia
Dans ce chapitre nous verrons la manire de signaler LATEX les changements de langue,
ainsi que les mthodes pour crire en caractres non latins.

4.1

Indiquer les angements de langue

4.1.1

Pourquoi indiquer les angements de langue ?

Voici les principales raisons :


1. Chaque langue a ses propres rgles typographiques (espacement avant
et/ou aprs les signes de ponctuation, par exemple). Indiquer la langue
courante permet donc LATEX dadapter sa typographie.
2. Chaque langue a ses propres rgles de csure des mots : indiquer la langue
permet davoir une csure correcte.

4.1.2

Commandes et environnements de angement de langue

Langue principale et langues secondaires


Nous avons vu que dans le prambule on indiquait le franais comme langue
principale par la commande : \setmainlanguage{french} ( p. 22, 2.2.3).
videmment on pourrait indiquer une autre langue : par exemple si vous
crivez votre travail en grec : \setmainlanguage{greek}.
On pourrait mme prciser quil sagit du grec ancien1 :
1 Lauteur de ces lignes aime retarder de quelques mondialisations, cest pourquoi il prre le
grec ancien langlais.

33

Chapitre 4
1

Grer les langues avec Xunicode et Polyglossia

\setmainlanguage[variant=ancient]{greek}

On trouve une liste des langues disponibles et de leurs variantes dans la


documentation de polyglossia2 . Dans le cas o votre langue nest pas disponible,
trois solutions sorent vous :
regardez si le package babel ne peut rien faire pour vous ;
crivez lauteur3 en lui prsentant le nom de la langue et ses rgles typographiques et de csure et demandez lui gentiment dajouter une langue
polyglossia ;
ne respectez pas les bonnes raisons dindiquer les changements de langue.
Pour pouvoir indiquer des changements de langue, il faut dclarer dans le
prambule les langues secondaires : \setotherlanguage[options]{codelang},
o codelang est remplac par le code de la langue, par exemple greek.
Les options sont principalement les variantes, mais il peut galement sagir
doptions dachage des nombres ou des dates : voir le manuel de polyglossia4 .

4.1.3 Indiquer un angement de langue


Il existe deux manires dindiquer un changement de langue.
Par une commande
On peut le faire par une commande \textcodelang[options]{texte dans
une autre langue} par exemple5 :
1

\textgreek[variant=ancient]{ }

Par un environnement
Pour des textes plus longs, il peut tre intressant dutiliser plutt un environnement codelang :
1

\begin[variant=ancient]{greek}

\end{greek}
2 Franois

C, Polyglossia : A Babel Replacement for XeLaTeX.


package, pas de ces lignes.
4 Franois C, Language-specic options and commands , dans : Polyglossia : A Babel
Replacement for XeLaTeX.
5 Jean 1, 1.
3 Du

34

Saisir des textes en caractres non latins

4.1.4

4.2

Le problme du latin

Dans le package polyglossia le latin suit la typographie anglaise. Ainsi le


francophone aura quelques soucis sil dsire des espaces avant les signes typographiques doubles dans un environnement latin ou dans une commande
\textlatin. Pourtant il pourrait vouloir utiliser cet environnement ou cee commande, an davoir un respect des csures latines.
Pour ce faire, il devra rednir dans le prambule lenvironnement latin par
le code suivant :
1

\renewenvironment{latin}{\begin{hyphenrules}{latin}}%

{\end{hyphenrules}}

La commande \renewenvironnement rednit un environnement, dans


le cas prsent latin. Le deuxime argument de la commande indique ce
qui se passe lorsque lon ouvre lenvironnement, le troisime argument
ce qui se produit lorsquon lon ferme lenvironnement. Lenvironnement
hyphenrules indique un changement des rgles de csure.

4.2

Saisir des textes en caractres non latins

Ce que nous allons expliquer maintenant na en ralit pas grand chose voir
avec LATEX. Il sagit en fait dun problme plus gnral linformatique : comment
crire dans des caractres non latins ? Nous allons ici expliquer la mauvaise
mthode, puis la bonne mthode.
Nous commencerons par un peu dexplications techniques trs simplies :
que les puristes nous pardonnent.

4.2.1

Les jeux de caractres : ou comment se servir de nombres


pour autre ose que des mathmatiques

Au dpart, un ordinateur ne manipule que des nombres. Mais les ordinateurs


servant aux humains, ceux-ci leurs ont appris stocker des caractres, en
associant des leres des nombres.
Cependant les premiers ordinateurs ayant t dvelopps par des AngloSaxons, on na aribu des nombres qu 127 caractres, ce qui susait largement pour crire en anglais et ajouter des caractres spciques, comme les
accolades informatiques6 . Le jeu de caractres connu sous le doux nom dASCII7
a ainsi vu le jour.
6 Celles

dont vous vous servez pour les commandes LATEX.


Standard Code for Information Interchange.

7 American

35

Chapitre 4

Grer les langues avec Xunicode et Polyglossia

Un jour dautres peuples que les Anglo-Saxons ont voulu crire avec un ordinateur et ont souhait frapper leurs propres caractres. Par exemple les Europens occidentaux ont voulu taper des accents, des cdilles, des trmas et autres
joyeusets. On a donc cr un nouveau systme de codage pour reprsenter les
caractres latins occidentaux, en aribuant des nombres dautres caractres.
On a ainsi form le jeu de caractres ISO-8859-1.
Dautres ont voulu pouvoir frapper dans leur alphabet, et cest ainsi que
furent invents des jeux de caractres comme ISO-8859-5 pour le cyrillique. En
outre certaines entreprises inventrent leurs propres manires de stocker des
caractres : ainsi Apple inventa MacRoman et Microso Windows-12528 .
Mais certaines personnes souhaitaient mlanger des caractres de divers alphabets : par exemple crire tantt en grec, tantt en cyrillique, tantt en caractres latins. Comment faire ? Pendant longtemps,la technique utilise9 consistait
crire dans un jeu de caractres donn, typiquement ISO-8859-1, mais en utilisant une police qui achait le texte dans un autre alphabet.
Par exemple, pour crire le caractre grec on crivait le caractre latin
a et on le faisait acher dans la police SPIonic. Cee mthode posait et
pose encore de nombreux problmes :
elle ncessitait que la police soit prsente sur toutes les machines de travail ;
ne stockant pas linformation exacte sur le caractre, puisquelle utilise
un code pour dsigner autre chose que ce quil devait dsigner, elle ne
permeait pas de faire aisment des recherches ;
avec LATEX, tant donn que nous ne sommes pas dans un systme WYSIWIG, elle rendait la rdaction et la relecture extrmement pnible ;
elle tait un non-sens informatique et logique.
Une mtaphore simple explique le problme : supposons que vous vouliez
une maison en brique rouge. e diriez-vous si votre entreprise de maonnerie
vous posait du parpaing, puis le peignait en rouge pour faire croire que cest de
la brique ? Voil le problme fondamental de cee mthode : elle fait prendre du
parpaing (la lere a ) pour de la brique (la lere ) en se servant dune
peinture (la police de caractres).
Heureusement petit petit une solution a merg : elle a consist inventer
un jeu de caractre qui puisse stocker tous les caractres prsents sur la terre,
y compris dans le pass, tout en laissant de la place pour les caractres des civilisations extra-terrestres quun jour, ventuellement, nous rencontrerions. Ce
jeu de caractre sappelle Unicode.
8 Do le fait que pendant longtemps les accents sautaient rgulirement lorsquon envoyait
un email dun ordinateur Apple vers un PC sous Windows ou vice-versa.
9 i malheureusement est encore pratique, voir apprise, par des personnes peu au courant des
volutions informatiques.

36

Saisir des textes en caractres non latins

4.2

Avec ce jeu de caractres, il est donc possible de mlanger allgrement de


larabe, du vietnamien, de lhbreu et du cyrillique dans un mme chier. Toutefois, histoire de compliquer les choses, plusieurs implmentations de ces jeux
de caractres ont t inventes, chacune prsentant des avantages et des inconvnient divers10 . La plus courante de ces implmentations est UTF-8.
Cest celle que vous utilisez depuis que vous lisez ce livre, si du moins vous
avez lu le chapitre 2.
En un mot : Unicode dans sa variante UTF-8 est aujourdhui la meilleure
mthode pour crire des chiers mlant plusieurs familles de caractres11 .
Le lecteur narquois fera remarquer que le mme problme se pose
quavec la mthode de la police : savoir que chaque ordinateur de travail devrait implanter Unicode et UTF-8 chez lui.
Lauteur fera remarquer quaujourdhui tous les ordinateurs possdent
en natif ces possibilits, et quil est possible trs facilement de linstaller
sur des ordinateurs un peu anciens. En outre, avec Unicode on stocke du
sens, et non pas de la forme, ce qui permet une plus grande souplesse.

4.2.2

Concrtement

Fort bien, fort bien, stockons en UTF-8. Mais comment crit-on en UTF-8 ?
Avec les claviers des ordinateurs vendus en Europe occidentale12 , nous navons
pas les caractres grecs porte de main.
Il faut ici distinguer le support physique : le clavier avec ses touches bien
concrtes, et le support logique : le fait que telle touche appuye donne tel ou
tel caractre.
Pour reprendre notre cas, il sut de dire notre ordinateur que la touche A
correspond au caractre . Les ordinateurs rcents proposent plusieurs pilotes
de clavier en standard13 . Toutefois ces pilotes de clavier sont gnralement destins aux langues contemporaines, et rarement adapts aux langues anciennes
par exemple pour les accents sur le grec14 . Heureusement on trouve aisment
sur Internet des pilotes de clavier pour dautres langues15 .
10 Par

exemple sur le volume des chiers et les temps de recherche.


pense mme que, tant donn la baisse des cots de stockages et de transferts, on
ne devrait plus utiliser que ce jeu de caractres, ce qui aurait pour mrite de permere bien plus
facilement tous les peuples de sexprimer dans leur langue. Malheureusement son exprience personnelle lui prouve que cela nest pas encore toujours le cas.
12 Le lecteur militant voudra bien pardonner cet ethnocentrisme.
13 Sous Macintosh, cela se rgle dans les Prfrences Systmes, panneau International , sous
Windows cela se rgle dans les panneaux de conguration, panneau options rgionales et linguistiques ; sous Linux, on trouve le rglage dans les Paramtres Systmes, panneau Pays et langue ,
onglet Agencements .
14 lexception notable de GNU/Linux, qui propose des dispositions de clavier pour le grec polytonique et lhbreu biblique.
15 Pour ce qui concerne le grec ancien, le syriaque, lhbreu ancien, on pourra utiliser les claviers
11 Lauteur

37

Chapitre 4

Grer les langues avec Xunicode et Polyglossia

4.2.3 Et les angements de sens dcriture ?


Certaines langues scrivent de droite gauche, dautres de gauche droite.
On souhaiterait que les alignements de paragraphes, les positions des titres et
dautres lments correspondent au sens de la langue. Comment signaler cela
LATEX ? Lindication des changements de langue ( p. 34, 4.1.3) sut.
Pour ce qui concerne lcriture en boustrophdon, on utilisera le package bidi. Celui-ci possde des commandes qui permeent dindiquer des
changements de sens.

proposs par Michael Langlois : Michael L, Archives pour la catgorie Informatique , :


http://michaellanglois.org/category/it/lang/fr ; ou encore, pour le grec, les pilotes de lcole
Normale Suprieure Dpartement des sciences de lantiquit N S, Pilotes
de clavier Unicode, : http://www.antiquite.ens.fr/ressources/outils- logiciels/article/
pilotes-de-clavier-unicode.

38

Chapitre 5

Mettre en sens son document


(1) : premiers pas
Nous allons maintenant voir comment mere en sens notre document, cest--dire comment poser des balises, des repres, pour marquer le relief smantique du texte.

5.1

Mettre en forme nest pas mettre en sens

Lorsque nous lisons un livre, tous les lments ne sont pas prsents de la
mme manire : certains sont en gras, dautres en italique, en soulign, en couleur, etc.
Tout ceci constitue la mise en forme du texte. Si notre livre est bien conu, ces
changements de forme renvoient des changements de signication : litalique
peut indiquer un titre douvrage ou bien une citation ou une simple insistance,
le gras peut indiquer une notion ou une dnition ou toute autre signication.
On le voit, la mise en forme dire de la mise en sens. Cee dernire est idalement faite par lauteur du travail, tandis que lditeur soccupe normalement
de la mise en forme et de la mise en page.
Cest dailleurs ce qui se passait auparavant quand les auteurs proposaient
encore des textes manuscrits leurs diteurs : ils indiquaient les lments
mere en sens par des signes, mise en sens que lditeur transformait en mise
en forme1 .
Dans LATEX, le principe est le mme : il existe des commandes de mise en sens
qui sont ensuite transformes en commandes de mise en forme. Mieux : on peut
dnir ses propres commandes de mise en sens. Lintrt est vident : pouvoir
1 Dans un traitement de texte de type WYSIWYG, cee distinction se fait normalement laide
des styles. Bien souvent malheureusement les utilisateurs ne savent pas sen servir.

39

Chapitre 5

Mere en sens son document (1) : premiers pas

changer rapidement de mise en forme pour un ensemble de donnes mises en


sens.
Un exemple sera plus parlant. Supposons que nous crivions un livre dintroduction lhistoire du christianisme antique. Ce livre cite divers auteurs. Nous
souhaitons mere en valeur ces auteurs, et pour ce faire dcidons de les mere
en petites capitales.
Donc, chaque fois que nous citons un auteur, nous indiquons que nous souhaitons avoir son nom en petite capitale. Vient le moment o nous imprimons
notre livre, et nous nous rendons compte que le choix des petites capitales nest
pas le plus pertinent, mais quil vaudrait mieux mere du gras. Il ne nous reste
alors plus qu reprer toutes les petites capitales dans notre texte, vrier quil
sagit bien de petites capitales indiquant un nom dauteur et les remplacer par
du gras travail fastidieux !
En revanche, si au lieu de signaler chaque occurrence quil faut des petites capitales, nous signalons simplement quil sagit dun nom dauteur par
exemple en crivant : \auteur{Tertullien} nous naurons quune seule ligne
changer pour indiquer que nous souhaitons avoir les noms dauteur en gras.
Mieux : nous pourrons crer trs simplement un index des auteurs ( p. 144,
18.1.1).
LaTeX propose quelques commandes simples de mise en sens : par exemple
celles que nous avons vues plus haut pour indiquer les niveaux de titres ( p. 29,
3.1).
Nous allons ici prsenter quelques autres commandes et environnements de
mise en sens. Dans le chapitre suivant, nous en indiquerons des spciques aux
citations ( p. 45, 6). Dans un troisime chapitre, nous expliquerons comment
crer ses propres commandes ( p. 53, 7), et nous prsenterons alors la manire
de mere en forme.

5.2 Commandes de mise en sens


5.2.1 Mise en valeur dun texte
On peut ponctuellement vouloir mere en valeur un morceau de son crit.
Pour ce faire il existe la commande \emph{texte en emphase}. Exemple :
1

On peut se demander si des textes apocryphes

ont t non seulement \emph{utiliss} mais aussi \emph{lus}

dans la liturgie africaine.

Concrtement cela se traduit par un italique.


On peut se demander si des textes apocryphes ont t non
seulement utiliss mais aussi lus dans la liturgie africaine.
40

Commandes de mise en sens

5.2

Toutefois, la dirence dune commande qui indiquerait directement de


mere le texte en italique, cee commande pourrait, si on voulait, donner un
rsultat dirent, par exemple mere en couleur.
Une autre proprit intressante est la gestion des imbrications : par dfaut
une commande \emph lintrieur dune autre commande \emph produit un texte
en caractres droits.

5.2.2

Le paratexte : notes de bas de page et de marge

LATEX propose deux commandes pour indiquer des paratextes2 : pour des
notes de bas de page et des notes de marge (la position de ces dernires changeant, quand on est en recto-verso, selon que la page est paire ou impaire). Ces
commandes sont, respectivement, \footnote et \marginpar.
1

Lorem\footnote{Une note de bas de page.} ipsum dolor amat.

Aliquam sagittis\marginpar{Annotation marginale} magna.

On serait tent dutiliser cee commande pour citer en note de bas de


page une rfrence bibliographique. Il existe en fait une commande spcique, que nous tudierons en temps voulu ( p. 95, 11.3).
Certaines mauvaises langues diront quil sagit ici dune mise en forme
et non pas dune mise en sens. Ils ont partiellement raison, dans la mesure
o parfois distinguer la mise en forme de la mise en sens nest pas vident.
Les personnes vraiment perfectionnistes pourront dnir leurs propres
commandes pour direncier les dirents sens dune note de marge ou de
bas de page.
Certains prrent mere des notes de n de texte. Bien que nous napprouvons gure ce choix, nous signalons quil est possible den produire
laide du package endnotes.

5.2.3

Listes

LATEX propose trois types de listes : les listes numrotes, les listes nonnumrotes et les listes de description.
Les listes numrotes
Une liste numrote est un environnement enumerate. Chaque lment de
la liste est marqu par la commande \item.
2 La question

des apparats critiques mise part, question que nous traiterons plus loin ( p. 165,

20).

41

Chapitre 5
1

Mere en sens son document (1) : premiers pas

\begin{enumerate}

\item Premier lment

\item Deuxime lment

4
5

\item Troisime lment


\end{enumerate}

1. Premier lment
2. Deuxime lment
3. Troisime lment
Il existe un package etaremune proposant lenvironnement etaremune
pour obtenir une liste numrote lenvers, avec le plus grand numro en
dbut de liste.

Les listes non-numrotes


Une liste non-numrote est un environnement itemize. Chaque lment de
la liste est marqu par la commande \item.
1

\begin{itemize}

\item Un lment

\item Un autre

4
5

\item Encore un autre


\end{itemize}

Un lment
Un autre
Encore un autre
Les listes de descriptions
Une liste de descriptions fait correspondre une une des valeurs. Une telle
liste peut tre utile pour des lexiques, des glossaires, des chronologies, etc. Pour
chaque couple, la premire valeur est passe comme argument la commande
\item. Les listes de dnitions sont des environnements description.
1

\begin{description}

\item[325]Concile de Nice.

\item[381]Concile de Constantinople.

4
5

\item[431]Concile d'phse.
\end{description}

42

Commandes de mise en sens

5.2.4

5.2

325

Concile de Nice.

381

Concile de Constantinople.

431

Concile dphse.

Imbrication des listes

Il est possible dimbriquer des listes, quels que soient leurs types. On ne peut,
par dfaut, avoir plus de quatre niveaux dimbrication.
1

\begin{itemize}

\item Un lment de premier niveau

\begin{enumerate}
\item Premier sous lment

\item Second sous lment

5
6
7
8

\end{enumerate}
\item Un autre lment de premier niveau
\end{itemize}

Un lment de premier niveau


1. Premier sous lment
2. Second sous lment
Un autre lment de premier niveau
On a parfois besoin de personnaliser laspect des listes, ou bien encore
darrter une numrotation de liste pour la reprendre plus loin. Bertrand
Masson a crit un excellent tutoriel sur la manire dutiliser le package
enumitem pour arriver ces ns3 .

3 Bertrand

M, Les ches de Bbert : dompter ses puces, : http://bertrandmasson.free.

fr/index.php?article5/dompter-ses-puces.

43

Chapitre 6

Mettre en sens (2) : lart de


citer en LaTeX
Nous voquerons dans ce chapitre les citations explicites et textuelles, cest--dire celles
o lauteur du travail ne se contente pas de renvoyer une source ou une tude, mais cite
des extraits de cee source.
Une citation peut se faire de deux manires : dans le corps du propos, elle est alors
normalement entoure de guillemets, ou bien dans un paragraphe spcique. Elle est alors
gnralement prsente avec des marqueurs typographiques particuliers : changement de la
taille de police, de la marge etc.
Nous avions vu plus haut quil fallait sparer sens et forme ( p. 39, 5.1). Nous allons
donc prsenter ici les commandes servant marquer des citations.
Toute citation se doit dtre accompagne dune rfrence, gnralement en note de bas de page. Toutefois toute rfrence naccompagne pas
ncessairement une citation textuelle. Cest pourquoi nous renvoyons pour
la gestion des rfrences bibliographiques la partie qui lui est consacre.

6.1

Citation dans le corps du texte

Les citations dans le corps dun texte sont normalement entoures de guillemets franais : . Lorsque quon cite un texte qui cite un texte, la citation dans
la citation sentoure de guillemets courbes .
Comme le dit trs justement xxx : Lorsque yyy dclare
zzz il ne dclare rien du tout .
Les claviers disponibles sur nos ordinateurs ne disposent gnralement en
accs direct que des guillemets anglais1 ("). La plupart des logiciels WYSIWYG
1 Une

exception notable est la disposition de clavier Bpo.

45

Chapitre 6

Mere en sens (2) : lart de citer en LaTeX

convertissent automatiquement ces guillemets en guillemets franais. Rares sont


les diteurs de texte qui le proposent2 .
En outre, en vertu du principe de sparation du sens et de la forme, voqu
plus haut ( p. 39, 5.1), il est plus pertinent dutiliser une commande spcique
pour indiquer une citation dans le corps du texte.
Nous allons donc utiliser le package csquotes qui propose des commandes
pour les citations.
Le package contient une premire commande utile : \enquote{citation},
qui sert pour les citations dans le corps du texte.
1

Comme le dit trs justement xxx :

\enquote{Lorsque yyy dclare \enquote{zzz}

il ne dclare rien du tout}.

Comme le dit trs justement xxx : Lorsque yyy dclare


zzz il ne dclare rien du tout .
Nous constatons que csquotes soccupe automatiquement de choisir les bons
guillemets. Par dfaut on ne peut imbriquer que deux niveaux de citation. Toutefois une option du package permet davoir plus de niveaux de citation. Par
exemple pour en avoir trois :
1

\usepackage[maxlevel=3]{csquotes}

Le package propose dautres options et commandes : consultez le manuel3 .

6.2 Citation dans un bloc spar


LaTeX propose en standard trois environnements pour citer dans un bloc
spar.

6.2.1 Lenvironnement quote


Il est prvu pour des courtes citations dun paragraphe4 .
1

\begin{quote}

Le corps de Pierre gt Rome, disent les hommes,


2 Cest dailleurs nos yeux une des raisons qui fait quun site internet dun quotidien national dit
de rfrence nutilise pas de guillemets franais sur sa page daccueil ( la date du 10 avril 2011),
les rdacteurs ne prenant pas le temps de taper les combinaisons complexes de touches ncessaires
la frappe de guillemets franais.
3 Philipp L, e csquotes Package : Context Sensitive otation Facilities.
4 A, Sermon 296, 5-6, Patrologia Latina 38, col. 6.

46

Citation dans un bloc spar

6.2

le corps de Paul gt Rome, le corps de Laurent aussi,

les corps d'autres martyrs y gisent,

mais Rome est misrable,

elle est dvaste, afflige, saccage, incendie.

\end{quote}

Ce code produit le rsultat suivant :


Le corps de Pierre gt Rome, disent les hommes, le corps de Paul
gt Rome, le corps de Laurent aussi, les corps dautres martyrs y
gisent, mais Rome est misrable, elle est dvaste, aige, saccage,
incendie.

6.2.2

Lenvironnement quotation

Il est prvu pour des citations plus longues5 .


1

\begin{quotation}

Que rien exceptes les critures canoniques ne soit lu en glise

sous le nom dcritures divines.

4
5

Les critures canoniques sont : Gense, Exode, Lvitique,

Nombres, Deutronome,

Josu de Noun, Juges, Ruth, 4~livres des rgnes,

2~livres des paralipomnes,

Job, psautier, 5~livres de Salomon,

10

12 livres des prophtes mineurs,

11

de mme Isae, Jrmie, zechiel, Daniel,

12

Tobie, Judith, Esther,

13

2~livres dEsdras, 2~livres des Maccabes.

14
15

Du nouveau testament sont :

16

4~vangiles, un livre des actes des aptres,

17

14~lettres de laptre Paul, 2~de Pierre,

18

3~de Jean, 1~de Jude, 1~de Jacques,

19

lapocalypse de Jean.

20
21

Que lglise d'outre-mer soit consulte

22

pour la confirmation de ce canon.

23
24

De plus, qu'il soit permis de lire les passions des martyrs,


5 Breviarum Hipponenses, 36, dans : Concilia Africae, d. Charles M, Corpus Christianorum
Series Latina 149, p. 43.

47

Chapitre 6

Mere en sens (2) : lart de citer en LaTeX

25

lorsqu'on clbre leurs anniversaires.

26

\end{quotation}

e rien exceptes les critures canoniques ne soit lu en


glise sous le nom dcritures divines.
Les critures canoniques sont : Gense, Exode, Lvitique,
Nombres, Deutronome, Josu de Noun, Juges, Ruth, 4 livres
des rgnes, 2 livres des paralipomnes, Job, psautier, 5 livres de
Salomon, 12 livres des prophtes mineurs, de mme Isae, Jrmie, zechiel, Daniel, Tobie, Judith, Esther, 2 livres dEsdras,
2 livres des Maccabes.
Du nouveau testament sont : 4 vangiles, un livre des actes
des aptres, 14 leres de laptre Paul, 2 de Pierre, 3 de Jean,
1 de Jude, 1 de Jacques, lapocalypse de Jean.
e lglise doutre-mer soit consulte pour la conrmation de ce canon.
De plus, quil soit permis de lire les passions des martyrs,
lorsquon clbre leurs anniversaires.
Le fond gris que vous constatez ici est propre au livre que vous avez
sous les yeux. Lenvironnement quotation standard na pas de fond.

6.2.3 Lenvironnement verse et le paage verse


Lenvironnement verse permet de citer de faon rapide et simple des pomes,
en grant notamment le rejet en cas de vers trop long. Chaque vers, lexception
du dernier, doit se terminer par \\. Si le vers est compos de plusieurs strophes,
il sut de sauter une ligne entre chaque strophe. Il ne faut pas mere \\ la n
du dernier vers de chaque strophe.
Cet environnement est trs limit : il ne permet pas de numroter ni dindenter les vers, ni encore de rajouter un titre. Si lon est amen citer frquemment
des vers, il vaut mieux appeler dans le prambule le package verse6 . La citation
du pome se fait de la mme manire.
Avec ce package il faut indiquer \poemlines{n} pour numroter les vers
cits : n dnit la frquence laquelle les vers sont numrots.
Citons pour exemple un pome entier, dont les vers sont numrots, de faon
assez traditionnelle, une fois sur cinq. En frappant ceci7 :
1

\begin{verse}

\poemlines{5}

Demain, ds l'aube, l'heure o blanchit la campagne,\\


6 Peter

W, Herries P et Will R, Typeseing simple verse with LaTeX.


H, Demain ds laube .

7 Victor

48

Citation dans un bloc spar

6.2

Je partirai. Vois-tu, je sais que tu m'attends.\\

J'irai par la fort, j'irai par la montagne.\\

Je ne puis demeurer loin de toi plus longtemps.

7
8

Je marcherai les yeux fixs sur mes penses,\\

Sans rien voir au dehors, sans entendre aucun bruit,\\

10

Seul, inconnu, le dos courb, les mains croises,\\

11

Triste, et le jour pour moi sera comme la nuit.

12
13

Je ne regarderai ni l'or du soir qui tombe,\\

14

Ni les voiles au loin descendant vers Harfleur,\\

15

Et, quand j'arriverai, je mettrai sur ta tombe\\

16

Un bouquet de houx vert et de bruyre en fleur.

17
18

\end{verse}

on obtient cela :
Demain, ds laube, lheure o blanchit la campagne,
Je partirai. Vois-tu, je sais que tu maends.
Jirai par la fort, jirai par la montagne.
Je ne puis demeurer loin de toi plus longtemps.
Je marcherai les yeux xs sur mes penses,
Sans rien voir au dehors, sans entendre aucun bruit,
Seul, inconnu, le dos courb, les mains croises,
Triste, et le jour pour moi sera comme la nuit.
Je ne regarderai ni lor du soir qui tombe,
Ni les voiles au loin descendant vers Hareur,
Et, quand jarriverai, je merai sur ta tombe
Un bouquet de houx vert et de bruyre en eur.
Si lon ne cite pas un pome en entier, mais simplement un passage, il faut
indiquer quel vers commence le passage cit, an que la numrotation des vers
que lon cite soit la bonne.
On utilise la commande \setverselinenums{premier vers}{premier vers
numrot} : premier vers indique le numro du premier vers que lon cite,
premier vers numrot o doit commencer la numrotation.
Ainsi, \setverselinenums{12}{15} indique que lextrait cit commence
par le douzime vers du pome, et que le premier vers numrot sera le quinzime. Avec \setverselinenums{12}{12}, le premier vers cit sera le premier
numrot.
Ne citant que la troisime strophe, par exemple, il faut frapper :
49

Chapitre 6
1

\begin{verse}

\poemlines{5}

\setverselinenums{9}{10}

Mere en sens (2) : lart de citer en LaTeX

4
5
6

Je ne regarderai ni l'or du soir qui tombe,\\

Ni les voiles au loin descendant vers Harfleur,\\

Et, quand j'arriverai, je mettrai sur ta tombe\\

Un bouquet de houx vert et de bruyre en fleur.

10
11

\end{verse}

pour obtenir, correctement numrot :


Je ne regarderai ni lor du soir qui tombe,
Ni les voiles au loin descendant vers Hareur,
Et, quand jarriverai, je merai sur ta tombe
Un bouquet de houx vert et de bruyre en eur.
Dans la typographie franaise, il est dusage de mere un crochet droit
[ au dbut dun rejet. Ni lenvironnement ni le package verse ne suivent
cee rgle. Pour obtenir le crochet droit, il faut charger le package gmverse
en lui passant loption squarebr :
1

\usepackage}[squarebr]{gmverse}

Puis insrer, une fois commenc lenvironnement verse, la commande


\versehangrightsquare.

Le package verse permet aussi dindenter de faon trs souple une strophe.
On indique avec la commande \indentpattern{n1 n2 nx } lindentation de chaque vers contenu dans la strophe encadre lintrieur dun environnement
patverse : n1 correspond au premier vers, n2 au deuxime et ainsi de suite.
Le premier vers nest jamais indent, mais il sut de le faire prcder de \vin.
Avec le code suivant :
1

\begin{verse}

\poemlines{1}

\indentpattern{010110}

\begin{patverse}

5
6

\vin There was a young lady of Ryde \\

Who ate some apples and died.

The apples fermented \\

Inside the lamented \\

\\

50

10

Citations tronques et modies


10

6.3

And made cider inside her inside. \\

11

\end{patverse}

12

\end{verse}

on obtient donc8 :
ere was a young lady of Ryde
Who ate some apples and died.
e apples fermented
Inside the lamented
And made cider inside her inside.
Si lon a besoin de rpter une indentation tout le long dun pome, on remplace patverse par patverse*. Donc pour citer un long extrait en hexamtres
dactyliques, plutt que dindiquer lindentation pour chaque vers, il sut dindiquer \indentpattern{01} et dinsrer le pome, en entier, dans lenvironnement
patverse* pour avoir un vers sur deux indent.
Le package verse ore bien dautres possibilits qui dpassent la simple citation de posie dans le cours dun texte. linstar dun autre package, poemscol,
cest un vritable outil pour diter de la posie9 . Ni lun ni lautre ne permeent
en revanche de faire des ditions bilingues : pour cela, il faut utiliser les packages
ledmac et ledpar ( p. 165, 20).

6.3

Citations tronques et modies

Le package csquotes propose deux commandes spciques pour signaler une


citation tronque ou modie.

6.3.1

Citation tronque

La commande \textelptexte signale un texte tronqu. Largument texte


est insr aprs la troncature, entre crochets (par dfaut) ; pour ne rien insrer,
le laisser vide.
1

\begin{quotation}

Que rien exceptes les critures canoniques ne soit lu

en glise sous le nom dcritures divines.

\textelp{Suit la liste des critures canoniques.}

5
6

Que lglise d'outre-mer soit consulte pour la confirmation


8 Edward

L, ere was a Young Lady of Ryde.

9 W, P et R, Typeseing simple verse with LaTeX, op. cit. ; John B, Typeset-

ting Poetry Collections with poemscol, Nous vous renvoyons ici aux manuels de ces packages.

51

1
2
3
4
5

Chapitre 6
7

Mere en sens (2) : lart de citer en LaTeX

de ce canon.

8
9

De plus, qu'il soit permis de lire les passions des martyrs,

10

lorsqu'on clbre leurs anniversaires.

11

\end{quotation}

e rien exceptes les critures canoniques ne soit lu en


glise sous le nom dcritures divines. [] [Suit la liste des
critures canoniques.]
e lglise doutre-mer soit consulte pour la conrmation de ce canon.
De plus, quil soit permis de lire les passions des martyrs,
lorsquon clbre leurs anniversaires.
On peut dcider de la manire dont la troncature et lajout sont signals : consulter le manuel10 .

6.3.2 Citation modie


Pour signaler une modication dans une citation, on utilise \textins{texte
modi}.
1

\begin{quotation}

Comme le disait trs justement xxx :

\enquote{Lorsque yyy \textins{a dclar}

\enquote{zzz} il \textins{n'a rien dclar} du tout}.

\end{quotation}

Comme le disait trs justement xxx : Lorsque yyy [a dclar] zzz il [na rien dclar] du tout .
La commande \textins* est une variante, servant pour dclarer les changements mineurs ncessaires au nouveau contexte dnonciation : mise en majuscules, changement de personne etc.

10 Philipp L, Conguring Ellipses , dans : e csquotes Package : Context Sensitive otation Facilities.

52

Chapitre 7

Mettre en sens (3) : crer ses


propres commandes
Nous avons parl longuement de lintrt de sparer mise en sens et mise en forme
( p. 39, 5.1). Nous avons indiqu que la meilleure manire pour ce faire tait de crer
des commandes de mise en sens, qui elles-mme appelleraient des commandes de mise en
forme.
Voyons maintenant comment crer ces commandes personnalises.

7.1

Cration dune commande personnalise

Nous souhaitons crer une commande personnalise servant indiquer que


nous parlons dun auteur : \auteur{nom}.
Notre commande se dcompose en plusieurs parties : son nom, ici auteur, et
ses arguments, ici un seul : nom.
Une commande LaTeX peut prendre jusqu neuf arguments, ce qui est en
gnral bien susant. Si nous notons N le nombre darguments, la syntaxe de
la dclaration dune nouvelle commande est la suivante : \newcommand{\nom de
la commande}[N ]{code}.
Les noms de commandes ne doivent contenir que des caractres latins
non accentus.
Les noms sont sensibles la casse : \a est dirent de \A.

lintrieur de la partie code, on peut :


mere du texte ;
utiliser des commandes de mise en forme ou de mise en sens ;
53

Chapitre 7

Mere en sens (3) : crer ses propres commandes

appeler les arguments passs en utilisant la syntaxe #x, o x reprsente le


rang de largument.
Prenons toujours notre cas dune commande pour indiquer les noms. Pour
le dbut, nous souhaitons simplement que les noms dauteur soient suivis dun
astrique (*).
1

\newcommand{\auteur}[1]{#1*}

Il est bien connu que \auteur{Tertullien} n'tait pas montaniste

mais tertullianiste.

Ce qui nous donne :


Il est bien connu que Tertullien* ntait pas montaniste
mais tertullianiste.
Tertullien a t pass en premier argument. Il apparat donc la place du
#1 de la dclaration de commande.
On pourrait souhaiter passer en second argument des informations complmentaires, comme les dates de vie.
1

\newcommand{\auteur}[2]{#1* (#2)}

Il est bien connu que \auteur{Tertullien}{150 ? - 220 ?}

n'tait pas montaniste mais tertullianiste.

Il est bien connu que Tertullien* (150 ? - 220 ?) ntait pas


montaniste mais tertullianiste.
Le lecteur aentif se rappellera quil existe des commandes avec des
arguments optionnels ( p. 23, 2.2.5). Il souhaitera sans doute en crer lui
mme.
Si LATEX prvoit bien en standard un mcanisme pour permere cela,
celui-ci est peu souple.
Nous conseillons donc de se tourner vers les packages xargs et ihenelse1 .
Mais tout ceci dpasserait le cadre de cet ouvrage.

Fort bien, mais comment faire pour mere en forme ? Il faut utiliser une
commande de mise en forme lintrieur de la dclaration de commande de
mise en sens. Par exemple, pour mere en petites capitales la commande est
\textsc.
1

\newcommand{\auteur}[2]{\textsc{#1}* (#2)}
1 Manuel

PG, Lextension xargs ; David C, e ihen package.

54

Cration dune commande personnalise

7.1

Il est bien connu que T* (150 ? - 220 ?) ntait pas


montaniste mais tertullianiste.
Nous dcrirons plus loin un ensemble de commandes de mise en forme
( p. 57, 7.2).
Si la possibilit de crer ses propres commandes est une grande force
de LATEX, cela ne fait pas toujours la joie des diteurs.
Il est donc recommand de discuter au pralable avec son diteur, et
surtout de lui indiquer quun balisage sous forme de commandes doit, normalement, lui faciliter la tche.
Nous recommandons par ailleurs de regrouper toutes ses dclarations
de commandes dans un chier unique, appel via une commande \input
( p. 31, 3).
Il est galement possible de crer son propre package, pour des commandes utilises frquemment dans plusieurs projets2 .
On peut ainsi trs facilement crer une commande \commentaire servant pour indiquer des commentaires personnels au cours de la rdaction,
an de les avoir sous les yeux lors dune relecture papier. Par exemple :
\newcommand{\commentaire}[1]{\marginpar{#1}}

Lors de limpression nale, il sut de changer cee commande par :


\newcommand{\commentaire}[1]{}

7.1.1

Code dune commande sur plusieurs lignes

Jusquici nos commandes taient relativement simples. Mais il peut arriver


que leur code se complexie. On souhaiterait alors lavoir sur plusieurs lignes.
Cest tout fait possible, mais il faut simplement mere un signe pourcentage (%) la n de chaque ligne, sous peine davoir des espaces intempestives.
Exemple sans % :
1

\newcommand{\auteur}[2]{

\textsc{#1}* (#2)

Il est bien connu que T* (150 ? - 220 ?) ntait


pas montaniste mais tertullianiste.
2 Ceci dpasserait le cadre de cet ouvrage : je renvoie dautres documents. Par exemples LaTeX :
Crer une extension ou une classe, : http://fr.wikibooks.org/wiki/LaTeX/Crer_une_extension_
ou_une_classe.

55

Chapitre 7

Mere en sens (3) : crer ses propres commandes

On constate une espace en trop avant et une aprs la mention de lauteur,


que nous avons soulignes pour les besoins de lexplication. En revanche, si on
met des % :
1

\newcommand{\auteur}[2]{%

\textsc{#1}* (#2)%

Il est bien connu que T* (150 ? - 220 ?) ntait pas


montaniste mais tertullianiste.
Il ny a plus despaces intempestives.

7.1.2 toiler \newcommand


La cration des commandes sous LATEX est une fonctionnalit trs puissante,
mais potentiellement dangereuse. Prenons la commande suivante :
1

\newcommand{\auteur}[1]{\textsc{#1}*}

Imaginons que nous lappelions en oubliant de fermer notre accolade :


1
2

Il est bien connu que \auteur{Tertullien n'tait pas montaniste


mais tertullianiste.

e va-t-il se passer ? LATEX comprend que lensemble de la n du texte est un


argument de la commande, ce qui empche le compilateur de bien fonctionner
et nous nobtiendrons rien, ou alors un rsultat incorrect.
Pour limiter ces soucis, LATEX propose de dnir des commandes courtes,
dont les arguments ne dpassent pas la longueur dun paragraphe. En cas doubli
de fermeture de parenthses, LATEX arrte automatiquement largument la n
du paragraphe.
Pour dnir ces commandes courtes, il sut dutiliser \newcommand*.
1

\newcommand*{\auteur}[1]{\textsc{#1}*}

7.1.3 Espace aprs les commandes sans argument


Il est possible de dnir des commandes sans aucun argument. Prenons une
commande personalise \cf, qui permet dobtenir rapidement la forme cf.
1

\newcommand{\cf}[0]{\emph{cf.}}

Comme notre commande ne prend pas dargument, il est ncessaire, lorsque


nous lappelons, de la sparer du texte qui suit par une espace, an que LATEX
sache o sarrte la commande :
56

Commandes de mise en forme


1

7.2

Ceci est trs intressant \cf cela.

Mais lespace disparat lors de la compilation :


Ceci est trs intressant cf.cela.
La solution consiste utiliser dans la dnition de commande la commande
\xspace du package ponyme. Elle permet de grer automatiquement les espaces

qui suivent lappel une commande, en tenant compte de la typographie.


1

\newcommand{\cf}[0]{\emph{cf.}\xspace}

Ceci est trs intressant cf. cela.

7.2

Commandes de mise en forme

Nous listons ici les principales commandes de mise en forme. Pour des besoins avancs, on trouvera aisment de la documentation sur internet. En ce
qui concerne les questions despacement, un chapitre spcique leur est ddi
( p. 209, 24).

7.2.1

Taille des caractres

Il est possible de dnir de manire absolue la taille des caractres en indiquant le nombre de points. Toutefois la meilleur mthode est de le dnir daprs
la taille de base, et dutiliser les commandes ci-dessous. La taille obtenue dpend
de la taille de base dnie lors de lappel au prambule ( p. 22, 2.2.4).
Commande

Eet

\tiny

abcdefghijklmnopqrst

\scriptsize

abcdefghijklmnopqrst

\footnotesize

abcdefghijklmnopqrst

\small

abcdefghijklmnopqrst

\normalsize

abcdefghijklmnopqrst

\large
\Large
\LARGE
\huge
\Huge

abcdefghijklmnopqrst

abcdefghijklmnopqrst

abcdefghijklmnopqrst

abcdefghijklmnopqrst

abcdefghijklmnopqrst
57

Chapitre 7

Mere en sens (3) : crer ses propres commandes

Ces commandes ont toutefois un comportement particulier : ce sont des


commandes dites bascule ( p. 199, 23.2.1). la dirence de la plupart
des commandes, elles ne prennent pas dargument. Elles doivent tre utilises
entre accolades, le texte dont la taille change tant insr aprs la commande,
dans les accolades.
Ainsi :
1

{\large Texte plus gros}

Et non pas :
1

\large{Texte plus gros}

7.2.2 Style de caractres


Voici une liste non exhaustive de commandes utiles pour personnaliser les
styles de caractre.
Commande
\textit
\emph
\textbf
\textsc
\underline
\textsuperscript
\textsubscript

Eet
Italique
Texte en emphase
Gras
P
Soulign ( viter)
Exposant
Indice

(ncessite le package subscript)

7.2.3 Couleurs
Les couleurs ne sont pas gres nativement dans LATEX. Il faut passer par le
package color ou le package xcolor qui proposent tous les deux une commande
\textcolor{nom de la couleur}{texte en couleur}.
La dirence tient principalement au nombre de couleurs disponibles par
dfaut et la facilit den dnir des nouvelles, mais aussi la possibilit dappliquer des couleurs dautres lments que le texte. Nous ne prsentons ici
que le package xcolor, de manire succincte. Nous renvoyons la documentation pour des usages avancs3 .
Couleurs standards
Le package xcolor propose les couleurs de bases suivantes :
3 Uwe

K, Extending LATEXs color facilities : the xcolor package.

58

Commandes de mise en forme

7.2

Nom de la couleur
black
blue
brown
cyan
darkgray
gray
green
lightgray
lime
magenta
olive
orange
pink
purple
red
teal
violet
white
yellow

Couleur

Couleurs supplmentaires
On peut passer les options dvipsnames, svgnames ou x11names lors de lappel au package xcolor, chacune fournissant un jeu de couleurs. Ne pouvant lister toutes ces couleurs dans cet ouvrage, nous renvoyons la documentation de
xcolor 4 .
Dnir ses propres couleurs
Il est possible de dnir ses propres couleurs. Il faut utiliser \definecolor,
selon la syntaxe suivante : \definecolor{nom}{methode}{denition}.
Les couleurs peuvent tre dnies de plusieurs manires5 . Les deux principales sont6 :
4 Uwe

K, Colors by Name : the xcolor package.


consultera nimporte quel livre scientique sur les couleurs pour plus de dtails. On peut
galement consulter la documentation du package xcolor.
6 Il existe aussi la mthode de dnition par la longueur donde pour les couleurs de larc en
ciel, par pourcentage de gris pour les dirents niveaux de gris, ainsi que par teinte, saturation et
luminosit, mais ceci ncessiterait un cours de physique lumineuse. Pour les personnes intresses
par les dtails, consulter Uwe K, Color models : the xcolor package.
5 On

59

Chapitre 7

Mere en sens (3) : crer ses propres commandes

La mthode additive en additionnant du rouge, du vert et du bleu (comme


sur un cran dordinateur).
La mthode soustractive en superposant du cyan, du magenta, du jaune
et du noir (comme sur une imprimante couleur).
Dans les deux cas, il faut donner une valeur comprise entre 0 (inclus) et 1
(inclus) chacun des composants7 .
Prenons par exemple la dnition de la couleur rouge bourgogne8 . On peut
la dnir de la manire suivante en mthode additive :
1

\definecolor{rougebourgogne}{rgb}{0.41,0.05,0.05}

Ou bien en mthode soustractive9 de la manire suivante :


1

\definecolor{rougebourgogne}{cmyk}{0,0.88,0.88,0.58}

Enn signalons la mthode HTML qui ore lavantage davoir de nombreux


sites internet indiquant les codes couleur HTML10 .
La mme couleur se dnit ainsi :
1

\definecolor{rougebourgogne}{HTML}{6B0D0D}

7 On

pourra trouver une srie de code couleur sur le site Code Couleur, : http://www.code-

couleur.com/.
8 Avec Anne

Sylvestre les auteurs proclament rement e Bordeaux me pardonne, jappartiens au Bourgogne (Anne S, La romane conti).
9 Idalement le choix de la mthode devrait relever du support de destination. Mais le package
xcolors propose des systmes de conversion dune mthode lautre.
10 En ralit la mthode HTML est une mthode additive avec des valeurs comprises entre 0 et
255, notes en hexadcimal.

60

Chapitre 8

Insrer des lments non


textuels
Dans ce chapitre nous allons examiner comment insrer des lments qui ne font pas
partie du ux du texte : images, graphismes, tableaux de donnes.

8.1

Insrer des images

Les images insrables avec XELATEX sont au format JPEG (extension .jpg),
PNG (extension .png) ou PDF (extension .pdf). Il est ncessaire dutiliser le package graphicx.
Linsertion dune image se fait ainsi : \includegraphics[options]{chemin
de limage}.
Le chemin de limage sindique de la mme manire que le chemin des chiers inclus ( p. 31, 3.2.1). Les principales options, sparables par des virgules,
sont les suivantes1 :
Paramtres
angle

height
scale
width

Signication
Angle exprim en degrs. Un
nombre positif indique une rotation
anti-horaire, un nombre ngatif
une rotation horaire.
Hauteur
Redimension proportionnelle
Largeur

Exemple
angle=90

height=10cm
scale=0.5
width=10cm

1 Pour les autres, on consultera David C, Including Graphics Files , dans : Packages in
the graphics bundle.

61

Chapitre 8

Insrer des lments non textuels

Le centimtre nest pas la seule unit de mesure disponible en LATEX.


Nous en parlons en annexe de ce livre ( p. 237, E).
Le package graphicx propose de nombreux outils pour manipuler graphiquement du contenu, textuel ou non. Consultez le manuel2 .
videmment, il est plus correct dinsrer une lgende sous une image.
Nous expliquons comment faire plus loin ( p. 70, 8.4).

8.2 Insrer des graphismes et des smas


On peut vouloir insrer divers types de graphismes ou de schmas : graphiques statistiques, arbres gnalogiques, stemma codicum etc. Deux solutions
sorent nous :
1. Utiliser un logiciel externe qui exporterait le graphisme dans une image,
quon insrerait comme nimporte quelle image.
2. Utiliser les possibilits de LATEX et du packageTikZ.
La premire solution parat de prime abord plus simple, puisquelle ne ncessite pas dapprendre de nouveaux lments en LATEX. Toutefois il faut avec elle
grer plus de chiers3 . En outre, les images exportes par ces logiciels tant bien
souvent de type bitmap et non pas vectoriel4 , on perd la possibilit de slectionner dans le PDF gnr par LATEX les textes, et on risque davoir des problmes
de redimensionnement.
Nous allons donc ici vous prsenter une des possibilits du package TikZ :
la reprsentation dune famille de manuscrits.
Nous avons choisi cet exemple car il est assez simple, tout en tant frquent
en sciences humaines. Mais TikZ permet de faire bien plus, comme produire des
diagrammes statistiques : nous renvoyons dautres ouvrages pour en savoir
plus5 . Ce package possde une syntaxe spcique.
Bien que le package sappelle TikZ, il faut dans le prambule lappeler
sans majuscules : \usepackage{tikz}.
2 David

C, Packages in the graphics bundle.


un graphisme gnr par un tableur : il faudra conserver la feuille du tableur plus
limage du graphisme gnr par celui-ci.
4 Il existe deux manires en informatique de coder une image : en codant point par point (image
bitmap) ou bien en codant simplement les formes, par exemple des cercles ou des segments (image
vectorielle). La premire mthode est adapte des images complexes, comme les photographies, la
seconde mthode est conseille pour les images simples telles que les graphismes. La mthode
vectorielle possde lavantage dorir une image plus facilement redimensionnable sans perte de
qualit et de permere aisment la slection de texte.
5 Outre le manuel Till T, Tikz & PGF : Manual for Version 2.0, on pourra lire Grard T
et Jacques D, TikZ pour limpatient, : http : / / math . et . info . free . fr / TikZ/ ; on pourra
galement consulter le site TeXample.net : TikZ and PGF, : http://www.texample.net/tikz/.
3 Prenons

62

Insrer des graphismes et des schmas

8.2

Nous disposons de six familles de manuscrits dun mme texte. La famille A


a engendr les familles B, C, D. Les familles E et F pour leur part sont issues de
la famille D.
Le code est le suivant :
1

\begin{tikzpicture}
\node {A}

2
3

child { node {B}}

child { node {C}}

child { node {D}

child {
node{E}

child {

node{F}

10

11

12
13

14

\end{tikzpicture}

Ce qui donne le rsultat de la gure 8.1. Analysons le code :


A.

F. 8.1 : Exemple de stemma

Ligne 1

Lenvironnement tikzpicture est lenvironnement utilis pour


insrer une gure TikZ. Il peut recevoir de nombreux arguments pour modier certains aspects, tels que lpaisseur par
dfaut des lignes, la taille du texte, lorientation du schma.
Nous renvoyons la documentation.

Ligne 2

Un nud TikZ, matrialis par le commande \node, est un bloc


de texte. On pourrait passer des options cee commande, an
de modier certains aspects comme la taille du texte.
63

Chapitre 8

Insrer des lments non textuels

Lignes 3 et 4

child

dsigne ici une opration : associer un ls au nud prcdent. Ce ls est lui mme un nud (node).

Lignes 5 12

Mme chose que prcdemment, sauf que le nud D se voit


aribuer des ls (E et F). Notez le nombre daccolades et leurs
imbrications : cest ce qui permet TikZ de construire correctement le stemma.

Ligne 13

Le point-virgule est obligatoire aprs chaque commande TikZ


(ici \node).

Ligne 14

Fin du graphisme TikZ.

videmment un tel code est relativement complexe. Cest pourquoi nous


conseillons de le commenter aentivement6 et de prter extrmement aention
aux accolades. Par ailleurs nous recommandons de mere chaque graphisme
TikZ dans un chier spar.
Notre stemma est relativement simple : il ny a pas de consanguinit . Si
cela avait t le cas la construction aurait t plus complexe : on naurait pas pu
utiliser les oprations de types child et il aurait fallu positionner prcisment
les lments en utilisant un systme de coordonnes7 .

8.3 Cration de tableaux


La cration de tableaux en LATEX ncessite une extrme rigueur. Cest
nos yeux lun des lments les plus complexes de LATEX. Cest pourquoi nous
ne proposerons ici quun bref aperu : on trouvera aisment des exemples
plus dtaills dans dautres ouvrages ou sur Internet8 .

8.3.1 Syntaxe de base


La cration dun tableau simple se fait grce lenvironnement tabular,
daprs la syntaxe suivante :
1
2
3
4

\begin{tabular}{<type de colonnes>}
Cellule & Cellule & Cellule \\
Cellule & Cellule & Cellule \\
\end{tabular}
6 Pour

des raisons de place nous ne lavons pas fait ici.


avons publi sur notre site Internet une srie darticles sur les stemma avec TikZ : Maeul
R, Stemma avec TikZ, : http://geekographie.maieul.net/88.
8 On pourra consulter des chiers assez didactiques : Bertrand M, Les ches de Bbert :
Tableau, : http://bertrandmasson.free.fr/index.php?categorie4/latex-tableau.
7 Nous

64

Cration de tableaux

8.3

Le caractre & marque un changement de cellule. Le \\ marque un changement de ligne.


Largument type de colonnes de lenvironnement tabular sert prciser :
1. Le nombre de cellules.
2. Le formatage du texte lintrieur des cellules.
3. ventuellement les sparateurs verticaux des cellules.
Il existe trois types possibles de colonnes, qui prcisent lalignement des
textes :
l

Alignement gauche.

Centr.

Alignement droite.

Supposons que nous ayons un tableau trois colonnes. Nous souhaitons que
les cellules de la premire colonne soient alignes gauche, celles de la seconde
centres et celles de la dernire alignes droite9 . Il nous faut crire :
1

\begin{tabular}{|l|c|r|}

Premire cellule gauche

& Premire cellule au centre

& Premire cellule droite \\

Seconde cellule gauche

& Seconde cellule au centre

& Seconde cellule droite \\

\end{tabular}

Premire cellule gauche


Seconde cellule gauche

Premire cellule au centre


Seconde cellule au centre

Premire cellule droite


Seconde cellule droite

Par dfaut, le tableau va prendre la largeur minimale ncessaire son achage.


On peut utiliser lenvironnement tabular* qui propose un argument supplmentaire, correspondant la largeur totale du tableau :
1
2
3
4

\begin{tabular*}{<largeur du tableau>}{<type de colonnes>}


Cellule & Cellule & Cellule \\
Cellule & Cellule & Cellulle \\
\end{tabular}
9 Il sagit ici dune drogation au principe de sparation de fond et de forme. Toutefois le lecteur pourra aisment, lorsquil laura assimile, contourner cee drogation et revenir dans le droit
chemin.

65

Chapitre 8

Insrer des lments non textuels

Toutefois il peut tre pratique dindiquer des tailles de colonnes : en particulier lorsque nos cellules contiennent des paragraphes.
Pour ce faire trois types supplmentaires de colonnes nous sont proposs
par le package array 10 . Ces types, la dirences des prcdents, dterminent
une largeur de colonne. Il faut pour les utiliser connatre les units de mesure
( p. 237, E) de LATEX.
Ces trois types de colonnes sont :
p{largeur}

texte justi. La plus haute ligne du texte se trouve sur la ligne


de base.

m{largeur} texte justi. La ligne du milieu du texte se trouve sur la ligne


de base.
b{largeur}

texte justi. La plus basse ligne du texte se trouve sur la ligne


de base.

La ligne de base est une ligne spcique, correspondant grosso-modo au milieu dune cellule. Exemple :
1

\begin{tabular}{p{0.2\textwidth}|m{0.2\textwidth}|b{0.2\textwidth}|c}

Long texte dont la plus haute ligne

se trouve sur la ligne de base.

&

Long texte dont la ligne du milieu

se trouve sur la ligne de base.

&

Long texte dont la plus basse ligne

se trouve sur la ligne de base.

10

&

11

Ligne de base

12

\end{tabular}

Long texte dont


la plus haute
ligne se trouve
sur la ligne de
base.
10 En

Long texte dont


la ligne du milieu se trouve
sur la ligne de
base.

Long texte dont


la plus basse
ligne se trouve
sur la ligne de
base.

Ligne de base

ralit le premier type ne ncessite pas que lon charge le package.

66

Cration de tableaux

8.3

Il est possible de crer ses propres types de colonnes, an par exemple den avoir avec une typographie particulire. Consultez le manuel du
package array 11 .
On peut utiliser le package diagbox an davoir une cellule divise en
deux dans un sens diagonal, pour les tableaux doubles entres.
Le package tabularx propose un environnement tabularx permeant
de calculer automatiquement la taille des colonnes.
Il existe galement un package tabbing permeant de grer des alignements de texte sans utiliser un tableau12 .
On peut simuler certaines fonctionnalits dun tableur laide du package spreadtab13 .

Sparation des cellules


On peut tracer des lets de sparation des cellules : pour un let horizontal,
il sut dutiliser la commande \hline. Pour un let vertical, il faut mere le
caractre |14 entre les types de cellules.
On trace des lets horizontaux plus petits grce \cline{<col1>-<col2>},
o col1 et col2 doivent tre remplacs par les numros de colonnes.
1

\begin{tabular}{l||c|r}

\hline

A & B & C \\

\hline

A1 & B1 & C1\\

\cline{2-3}

A2 & B2 & C2 \\

8
9
10

\end{tabular}

A
A1
A2

B
B1
B2

C
C1
C2

11 Frank M et David C, Dening your own column speciers , dans : A new


implementation of LATEXs tabular and array environment.
12 Jean-Pierre D, e Tabbing package.
13 Christian T, spreadtab.
14 Ce caractre, appel pipe ne doit pas tre confondu avec un L minuscule.

67

Chapitre 8

Insrer des lments non textuels

Fusion de cellules
Il est possible de fusionner des cellules. Pour une fusion de colonnes, il faut
utiliser la commande suivante : \multicolumn{nombcol}{type}{contenu}.
nombcol

est le nombre de colonnes fusionner.

type

est le type de colonne qui en rsulte, selon la syntaxe vue plus


haut.

contenu

est le contenu de la ligne fusionne.

Pour une fusion de lignes, il faut charger le package multirow. Celui-ci propose une commande \multirow dont voici la syntaxe simplie15 :
\multirow{lignes}{largeur}{contenu}.
lignes

est le nombre de lignes concernes par la fusion.

largeur

est la largeur du texte. On peut mere * pour laisser LATEX sen


charger.

contenu

est le contenu de la cellule issue de la fusion.

\begin{tabular}{|c|c|c|}

\hline

\multicolumn{3}{|c|}{Colonnes fusionnes = ABC0} \\

\hline

A1 & B1 & C1 \\

\hline

\multirow{2}{*}{Lignes fusionns = A2-A3}

& B2 & C2 \\

\cline{2-3}
& B3 & C3 \\

10
11

\hline

12

\end{tabular}

Colonnes fusionnes = ABC0


A1
B1 C1
B2 C2
Lignes fusionns = A2-A3
B3 C3
On remarquera les cellules vides correspondant aux anciennes cellules A2 et
A3. La commande \multirow ne modie pas la structure du tableau : elle indique
simplement que le texte se situe sur plusieurs colonnes.
15 Simplie car nous ne prsentons pas les arguments optionnels : nous renvoyons la documentation : Piet van O, ystein B et Jerry L, e multirow, bigstrut and bigdelim
packages.

68

Cration de tableaux

8.3.2

8.3

Long tableau

Si vous fabriquez ainsi un long tableau, vous constaterez que les cellules
dpassent dans la marge infrieure, jusqu sortir de la page, au lieu, comme il
semblerait logique, de continuer sur les pages suivantes.
Pour viter cela, il faut utiliser lenvironnement longtable du package ponyme.
1

\usepackage{longtable}

\begin{longtable}{types colonnes}

\end{longtable}

La syntaxe dun environnement longtable est identique celle dun environnement tabular. Toutefois le package propose deux commandes supplmentaires pour prciser les en-ttes et pieds de tableau, qui sont rpts sur chaque pages. Ces commandes sont, respectivement, \endhead et \endfoot. Il existe
aussi aussi une commande \endfirsthead pour prciser len-tte spcique la
premire page du tableau et une commande \endlastfoot pour prciser le pied
spcique la dernire page du tableau.
Ces quatre commandes sont optionnelles, elles doivent sutiliser en dbut
de tableau : il faut placer les lments correspondants avant chacune des commandes, de la manire suivante :
1

\begin{longtable}{types colonnes}

Cellules d'en-tte.

\endhead

Cellules d'en-tte pour la premire page.

\endfirsthead

Cellules de pied.

\endfoot

Cellules de pied pour la dernire page.

\endlastfoot

10

Cellules de corps de tableau.

11

\end{longtable}

Avec longtable, il faut compiler deux fois le chier .tex. En eet, XELATEX
comme dailleurs LATEX narrive pas dterminer la taille des colonnes
la premire compilation : il procde un calcul page par page. Cependant
il stocke la taille maximale des colonnes dans un chier temporaire, portant lextension .aux. Lors de la seconde compilation, il se sert de ce chier
temporaire pour indiquer la taille des colonnes sur chacune des pages.

69

Chapitre 8

Insrer des lments non textuels

Pour acher un graphique statistique, nous recommandons dutiliser


le package TikZ ( p. 62, 2). Toutefois la matrise de cet outil peut se rvler
relativement complexe. Cest pourquoi nous listons ici quelques packages
utiles :
Le package csvpie propose une fonction pour tracer un diagramme
circulaire partir dun chier .csv16 .
Le package datatool propose un certain nombre de graphiques statistiques. Il faut enregistrer les donnes selon une forme lie au package.
Nous renvoyons sa documentation17 .

8.4 O insrer les lments non textuels ? la notion


de ottants
Nous avons vu comment insrer des lments non textuels. Cependant vous
constaterez rapidement que la mise en forme nest pas toujours des meilleures,
llment sinsrant dans le texte lendroit prcis o il a t appel, ce qui peut
entraner des espaces blancs disgracieux. En outre, ces lments non textuels
disposent habituellement dune lgende, que nous ne savons pas encore mere.
Pour rsoudre ces deux problmes positionnement esthtique et lgende
LATEX utilise la notion de oant. Un oant est donc un lment non textuel
que LaTeX essaie dinsrer au meilleur endroit du point de vue de lesthtique
et qui dispose (ventuellement) dune lgende.
Il existe deux types principaux de oant :
Les gures, gnres par lenvironnement gure.
Les tableaux, gnrs par lenvironnement table.
La syntaxe pour insrer le premier type est la suivante :
1

\begin{figure}[<paramtre de placement>]

Insertion de la figure ou de l'image,

suivant les codes montrs plus haut.

4
5

\caption{<Lgende>}
\end{figure}

Celle pour insrer le second est la suivante :


1
2
3
4

\begin{table}[<paramtre de placement>]
Insertion d'un tableau suivant les codes montrs plus haut.
\caption{<Lgende>}
\end{table}
16 Sa documentation se trouve dans celle du package csvtools : Nicola T, Pie Charts (csvpie.sty) , dans : csvtools v1.24 : A LATEX 2 Package Providing Access to Data Saved in a CSV File.
17 Nicola T, datatool v 2.03 : Databases and data manipulation.

70

La notion de oants

8.4

Si la commande \caption est insre au-dessus de la gure, de limage ou du


tableau, la lgende sera situe au-dessus de llment et non en-dessous. Il est
possible, mais dconseill, de ne pas mere de lgende.
Nous avons un exemple de oant dans ce chapitre : la gure 8.1.
On pourrait vouloir changer les intituls comme gure et tableau. Tout
ceci est possible : nous en parlons plus loin, dans le passage consacr aux
chanes de langue de polyglossia ( p. 138, 17.3).
De mme on pourrait souhaiter renvoyer automatiquement au numro
et la page dune gure : nous en parlons dans le chapitre consacr la
navigation lintrieur dun document ( p. 133, 16).

noter que, comme les titres de partie, la commande \caption peut recevoir
un argument optionnel qui compte pour titre dans la table des gures ou la table
des tableaux ( p. 139, 17.4) : \caption[Lgende pour la table]{Lgende}.
Il est parfois utile de centrer le contenu du oant. Il sagit ici dune
exception au principe de sparation du fond de la forme. Pour procder
ce centrage, il faut utiliser la commande \centering.
\begin{figure}[<paramtre de placement>]

1
2

\centering

Insertion de la figure ou de l'image,

suivant les codes montrs plus haut.


\caption{<Lgende>}

\end{figure}

Pour personnaliser les styles des lgendes, la mthode la plus simple


reste encore dutiliser le package caption. Nous renvoyons sa documentation18 . Pour utiliser une lgende en dehors dun oant, on peut utiliser
le package ccaption19 , qui permet dautres choses encore.
Si lon souhaite avoir deux lments oants en vis--vis, sur la page
gauche et sur la page droite, on peut se servir du package dpoat 20 .
Le package endoat 21 permet, quant lui, de placer systmatiquement
les oants la n du travail.
Pour avoir des oants orients dans un autre sens que celui de la page,
on utilisera le package rotoat 22 .
Il est possible dinsrer au sein dune gure des sous-gures, chacune
dentre elles disposant dune lgende, en plus de la lgende principale ; il
faut utiliser le subcaption23 .
18 Axel

S, Customizing captions of oating environments using the caption package.


W, Herries P et Will R, e ccaption package.
20 Jim F, e dpoat package : Formaing double-page oats in LATEX.
21 James Darrell MC et Je G, e endoat package.
22 Axel S, e rotoat package.
23 Axel S, e subcaption package.
19 Peter

71

Chapitre 8

Insrer des lments non textuels

8.4.1 Choix de lemplacement du ottant


Le paramtre de placement indique LATEX comment placer idalement les
oants. Il sagit dun paramtre indicatif que le compilateur essaie autant que
possible de suivre, sans pour autant tre contraint. Les valeurs sont les suivantes :
Valeur
h
t
b
p

Signication
lemplacement de lappel au oant
En haut dune page
En bas dune page
Sur une page ddie aux oants

Si le systme des oants permet gnralement de conserver une mise en


page correcte tout en nloignant pas trop llment de son emplacement, il arrive parfois que lloignement soit trop important.
La commande \FloatBarrier du package placeins permet de remdier ce
problme24 . Tous les oants appels avant la commande sont placs avant
celle-ci.

24 Donald

A, e placeins package.

72

Deuxime partie

Grer sa bibliographie avec


LATEX

Empoisonnee de dogmes et de mythes, notre opinion,


meme la moins ennemie des lumie res, a perdu jusquau
gout du controle. Le jour ou , ayant pris soin dabord de
ne pas la rebuter par un oiseux pedantisme, nous aurons
reussi a la persuader de mesurer la valeur dune connaissance sur son empressement a tendre le cou davance a
la refutation, les forces de la raison remporteront une
de leurs plus eclatantes victoires. Cest a la preparer que
travaillent nos humbles notes, nos petites references tatillonnes que moquent aujourdhui, sans les comprendre,
tant de beaux esprits.
Marc B, Apologie pour lhistoire, III,

73

Chapitre 9

Introduction la gestion
bibliographique avec LATEX
Nous abordons maintenant un des atouts majeurs de LATEX pour les sciences humaines :
la possibilit de grer trs simplement une bibliographie complexe, tout en conservant une
certaine souplesse dans son achage.

9.1

Principe gnral

Il existe un module de gestion de la bibliographie dans la plupart des logiciels


WYSIWYG, mais ceux-ci manquent en gnral de souplesse.
Consquence, la grande partie des utilisateurs de ces logiciels grent leur bibliographie la main les rfrences bibliographique sont crites textuellement, directement dans le chier, ce qui implique beaucoup de contraintes :
si on veut changer lordre des informations, ou en supprimer, il faut reprendre soi-mme lensemble des rfrences ;
la gestion des versions abrges des rfrences est complique : il faut
sassurer soi-mme que la rfrence a dj t cite, mais pas trop loin,
etc.
Il faut copier-coller soi-mme la n lensemble des rfrences bibliographiques.
La logique de la gestion bibliographique en LATEX est simple. Un chier .bib
ventuellement plusieurs contient lensemble des rfrences bibliographiques.
Pour chaque rfrence, appele entre , sont indiqus les lments utiles :
type de rfrence (livre, article, actes de colloque, etc.), titre, auteur, pagination,
75

Chapitre 9

Introduction

sous-titre, diteur, etc.1 Chaque rfrence possde une clef unique permeant
de la distinguer dune autre.
Dans le document LATEX, on prcise dans le prambule le chemin du chier
.bib. chaque fois que lon souhaite citer une rfrence, n utilise une commande en lui passant la clef en argument. Le package biblatex se charge alors
dacher la rfrence selon un style de citation cest--dire une prsentation
dtermin. Ainsi, si on veut changer lordre de prsentation, par exemple intervertir lditeur et la ville de publication, il sut de modier le style, ce qui se
fait aisment, puisque les styles sont une srie de commandes LATEX. Par ailleurs
biblatex gre automatiquement les rfrences dj cites et introduit tout seul,
en fonction du style choisi, les abrviations universitaires.
On pourrait se passer de biblatex pour grer une bibliographie avec
LATEX. Cependant, les fonctionnalits standards de LATEX pour la gestion bibliographique sont limites et inadaptes aux sciences humaines.
Vous trouverez peut-tre sur internet des chiers .bst. Ces chiers sont
des styles bibliographiques mais pour les fonctionnalits standards de LATEX.
Ils ne peuvent servir pour biblatex. De plus, il ais davoir ses propres styles
biblatex, tandis que la syntaxe des chiers .bst est complexe2 .

Enn, la n du document, ou tout autre endroit jug utile, une (ou plusieurs) commande permet dacher la bibliographie, qui reprend les rfrences
cites3 dans le document, en les classant et en les achant selon un style de
bibliographie, lui aussi personnalisable.

9.2 Une triple compilation


Jusqu maintenant, vous aviez compil une seule fois votre chier .tex avec
XELATEX. La gestion bibliographique tant quelque chose dassez complexe, il va
falloir procder une triple compilation :
1. le chier .tex avec XELATEX. Outre le chier .pdf, cee compilation produit
un chier auxiliaire .bbl ;
2. ce chier doit tre lui mme compil avec le logiciel Biber ;
3. puis il faut re-compiler le chier .tex avec XELATEX.
Ce manuel a t rdig en prenant pour rfrence la version 2.0 du package biblatex. Il vous faut donc vrier que vous disposez de cee version,
ou dune version ultrieure. Le cas chant, meez jour biblatex ainsi que
Biber ( p. 225, A.5) en gnral, une version prcise de biblatex ne fonctionne quavec une version prcise de Biber.
1 Par ailleurs ce chier pourra contenir des commentaires utiles pour la prparation du travail :
rsum, notes de lecture, cotation dans une bibliothque.
2 Elle est crite en notation polonaise inverse.
3 Il est aussi possible, si on le souhaite, dajouter une ou plusieurs rfrences non cites.

76

Une triple compilation

9.2

La plupart des diteurs spcialiss en LATEX ne permeent pas de compiler avec Biber, mais seulement avec BibTeX, qui est en quelque sort son
anctre. Nous expliquons sur notre blog comment congurer certains de
ces diteurs pour utiliser Biber la place de BibTeX4 . Nanmoins, la mthode la plus simple reste encore dutiliser le logiciel Latexmk ( p. 235,
D), qui se chargera de procder aux compilations.

4 Maeul

R, Biber dans des diteurs LaTeX, : http://geekographie.maieul.net/51.

77

Chapitre 10

Remplir sa base de donnes


bibliographique
La premire tape pour grer une bibliographie avec LATEX est la constitution dune base
de donnes bibliographiqe contenant lensemble des rfrences. Celle-ci est un simple chier
texte qui porte une extension .bib et possde une structure particulire.

10.1

Structure de base dun ier .bib

Chaque lment dune bibliographie est appel entre . Une entre bibliographique se caractrise par :
Un type

sagit-il dun article, dun livre, dactes de colloque ?

Une clef unique

qui permet de distinguer une entre bibliographique


dune autre. Cest elle qui est mentionne dans vos chiers .tex lorsque vous dsirez insrer une rfrence
bibliographique.

Des amps

contenant des indications sur louvrage, tels que : auteur, titre, diteur, etc.

Lavantage de ce systme se comprend aisment. En eet, une correction


dans la base de donne bibliographique est automatiquement reporte dans le
travail chaque fois que lentre est mentionne, moyennant une nouvelle compilation avec Biber.
Un chier .bib est un chier texte contenant une suite dinstructions, de la
forme suivante :
79

Chapitre 10
1

Remplir sa base de donnes bibliographique

@type{clef,

Champ1 = {Valeur 1},

Champ = {Valeur },
Champn = {Valeur n}

4
5

Par exemple :
1

@book{Urner1952,

Author = {Urner, Hans},

Title = {Die ausserbiblische Lesung

in Christlichen Gottesdienst},

Location = {Gottingen},
Year = {1952}

6
7

Par ces lignes nous dclarons un livre (@book) auquel nous aribuons la clef
Ce livre est une uvre de Urner, Hans de son prnom ; il sintitule
Die ausserbiblische Lesung in Christlichen Goesdienst et a t publi en 1952
Goigen.
Il peut tre ach dans le chier .pdf sous la forme :
Urner1952.

Hans U, Die ausserbiblische Lesung in Christlichen Gottesdienst, Goingen, 1952


Un chier .bib nest rien dautre quune srie dentres de ce type. Cependant, comme il est assez ais de semmler les pinceaux , notamment dans les
ouvertures et fermetures des accolades, il vaut la peine dutiliser un logiciel de
gestion de bibliographies ( p. 230, B.2), permeant de crer facilement des chiers au format .bib. En outre ces logiciels permeent en gnral des recherches
croises dans la base de donnes. Nous en prsentons deux en annexe.
La documentation de biblatex contient lensemble des champs et des types
possibles. Pour viter de rpter ce manuel, nous vous prsenterons les champs
en les classant par catgorie. Mais auparavant nous allons donner quelques
conseils sur le choix de la clef.

10.2 Le oix de la clef


Une entre bibliographique doit avoir une clef unique. Cee clef doit comporter uniquement des caractres alphanumriques non accentus, ventuellement avec des tirets. elques conseils pour le choix de la clef :
80

Les direntes types dentres

10.2.1

10.3

Pour les uvres contemporaines

Prendre le nom de lauteur suivi de la date. Par exemple Urner1952.

10.2.2

Pour les uvres anciennes

Prendre le nom de luvre, ventuellement abrge. Ainsi ContraFelix pour


parler du Contra Felicem dAugustin1 . Si plusieurs uvres dauteurs dirents
portent le mme nom, faire prcder du nom de lauteur. On peut aussi pour
les uvres sans titre et sans auteur indiquer un numro dans un catalogue de
rfrence.

10.3

Les direntes types dentres

Voici les dirents types dentres disponibles2 .


@article

Article dun priodique. Pour les contributions de colloque,


voir @inproceedings.

@book

Livre. Pour les actes de colloque, voir @proceedings.

@booklet

Livret. Texte sous la forme dun livre mais sans diteur commercial ociel.

@bookinbook

Livre dans un livre. Par exemple lorsque un auteur voit ses


crits rassembls en un seul volume physique.

@collection

Ouvrage collectif mais avec des parties distinctes par auteur.

@inbook

Partie dun livre.

@incollection

Partie individuelle (avec un auteur propre) dans un ouvrage


collectif.

@inproceedings Contribution un colloque.


@inreference

Article de dictionnaire, dencyclopdie, etc.

@manual

Manuel, pas ncessairement sous forme imprime.

@mvbook

Livre en plusieurs volumes.

@mvcollection

Ouvrages collectifs en plusieurs volumes, avec des parties


distinctes par auteurs.

1 A, Contra Felicem, dans : Six traits anti-manichens, trad. par Rgis J et Maurice
J, Bibliothque Augustinienne 17.
2 vrai dire il est possible de rajouter les siennes, mais nous vous le dconseillons.

81

Chapitre 10

Remplir sa base de donnes bibliographique

@mvproceedings Actes de colloque en plusieurs volumes.


@mvreference

Dictionnaire, encyclopdie, etc. en plusieurs volumes.

@misc

Entre gnrique, pour tout type dentre non catgorisable.


Par exemple : tableau, manuscrit, ostracon.

@online

Ressource internet. Si une une uvre existe aussi sous une


autre forme, choisir le type dentre qui y correspond et utiliser le champ url.

@patent

Brevet industriel.

@periodical

Numro prcis dun priodique.

@report

Rapport technique ou de recherche.

@proceedings

Acte de colloque.

@suppbook

Partie annexe dun livre, comme par exemple la prface ou


les appendices.

@supperiodical

Supplment un numro de priodique.

@reference

Dictionnaire, encyclopdie, etc.

@thesis

se de doctorat, mmoire de matrise ou tout travail rdig


en vue de lobtention dun titre scolaire ou universitaire.

@unpublished

Ouvrage non publi.

Pour les ditions contemporaines duvres anciennes, le choix dune entre


de type @book peut se justier, en dpit du caractre non livresque de certaines
dentre elles, comme cest le cas par exemple des leres dAugustin. En revanche,
pour dsigner une uvre non dite, ou un manuscrit, nous conseillons le type
@misc.

10.4 Les dirents amps possibles


Nous ne listons pas ici tous les champs, mais seulement ceux qui peuvent
rentrer dans les catgories les plus utiles.
82

Les dirents champs possibles

10.4.1

10.4

Les amps de personnes

Ces champs servent dsigner des personnes qui ont particip au processus
de production de luvre : auteur, annotateur, diteur (scientique), etc. Il nest
videmment pas ncessaire de remplir tous ces champs.
aerword

Auteur(s) de la postface.

annotator

Auteur(s) des annotations.

author

Auteur(s) de luvre.

bookauthor

Auteur(s) du livre dans lequel luvre est insre.

commentator

Auteur(s) des commentaires.

editor

diteur(s) scientique(s). On peut en prciser le rle grce au


champ editortype.

editora

diteur(s) scientique(s) ayant un autre rle. On peut en prciser le rle grce au champ editoratype.

editorb

diteur(s) scientique(s) ayant un autre rle. On peut en prciser le rle grce au champ editorbtype.

editorc

diteur(s) scientique(s) ayant un autre rle. On peut en prciser le rle grce au champ editorctype3 .

foreword

Auteur(s) de la prface.

holder

Titulaire dun brevet industriel.

introduction

Auteur(s) de lintroduction.

translator

Traducteur(s).

Lorsque des champs possdent des valeurs gales, par exemple les champs
editor et translator, biblatex fusionne ces champs lors de lachage. Prenons
ainsi lentre suivante :
1

@book{DoctrineChretienne,

Author = {Augustin},

Editor = {Madeleine Moreau},

Entrysubtype = {traite},

Series = {Bibliothque Augustinienne},

Title = {De doctrina christiana},

Translator = {Madeleine Moreau}}


3 Pour ces quatres champs, se reporter Philipp L, Editorial Roles , dans : e biblatex
Package.

83

Chapitre 10

Remplir sa base de donnes bibliographique

Elle est ache ainsi :


A, De doctrina christiana, d. tablie et trad. par
Madeleine M, Bibliothque Augustinienne
Comment entrer un nom de personne
Ces dirents champs prennent comme valeur un ou plusieurs noms de personne. Sil y a plusieurs noms, il sut de les sparer par le mot-clef and . Par
exemple pour les auteurs de louvrage que vous avez entre les mains :
1

author = {Maeul Rouquette and Enimie Rouquette and Brendan Chabannes}

Un nom contient les lments suivant :


Prnom(s)

Linitiale doit tre en majuscule, le reste en minuscules. Ainsi : Albert . Il vaut mieux mere le prnom complet : on
peut coner le travail de limitation une minuscule biblatex 4 .

Nom

Linitiale doit tre en majuscule, le reste en minuscules. Ainsi : Londres . Biblatex se charge le cas chant de mere
en petites capitales.

Particule (option) Elle doit tre entirement en minuscules. Ainsi : de .


Suxe (option)

Linitiale doit tre en majuscule. Ce type de donne est plutt


anglo-saxonne. Exemple : Junior .

En ce qui concerne lordre des lments, il peut tre :


Prnoms (particule) Nom ;
particule Nom, (suxe) Prnoms .
Ainsi les entres Victor Marie Hugo et Hugo, Victor Marie sont quivalentes.
Dans le premier cas, Biber considre que le dernier mot commenant par une
majuscule est le nom de famille. Dans le second cas, il considre lensemble
situ avant la virgule comme le nom de famille, ce qui est utile pour les noms
composs. Ainsi pour parler de Charles De Gaulle : De Gaulle, Charles.
Si nous parlons de Simone de Beauvoir, le de tant une particule nous
pouvons utiliser la premire syntaxe : dans ce cas Biber considre tout ce qui suit
la particule comme constituant le nom : Simone de Beauvoir. Mais la seconde
syntaxe fonctionne galement : de Beauvoir, Simone.
4 Il

faut pour cela passer loption rstinits=true lors du chargement du package.

84

Les dirents champs possibles

10.4

Pour distinguer Alexandre Dumas pre dAlexandre Dumas ls, on peut utiliser le suxe : Dumas, Fils, Alexandre.
Le cas des auteurs anciens, o lon crit souvent le prnom suivi de la ville
dexercice ou de naissance, comme par exemple pour Grgoire de Tours, est
problmatique. Si jcris : Grgoire de Tours Biber va comprendre quil sagit
dune personne prnomme Grgoire , dont le nom est Tours et la particule de . Par consquent il va lacher sous la forme Tours, Grgoire, de .
Pour viter ce problme, il sut dutiliser des accolades : {Grgoire de Tours}.
Cee mthode peut servir aussi pour les institutions auteures douvrages.
Par exemple :{Centre National de la Recherche Scientifique}.
Pour rsumer, voici un exemple de quelques entres correctes5 .
1

@book{HugoMiserable,

title

author

={Les misrables},

title

author

={La lgende des sicles},

title

author

={Mmoires},

11

title
author

={Le Deuxime Sexe},

title

15

author

={Mmoires d'une jeune fille range},


={de Beauvoir, Simone}}

@book{Dumas,

17

title

18

author

19

={Simone de Beauvoir}}

@book{BeauvoirMemoires,

14

16

={De Gaulle, Charles}}

@book{BeauvoirSexe,

12
13

={Hugo, Victor Marie}}

@book{DeGaulle,

10

={Victor Marie Hugo}}

@book{HugoLegende,

={La dame aux camlias},


={Dumas, Fils, Alexandre}}

@book{Gregoire,

20

title

21

author

={Histoire des Francs},


={{Grgoire de Tours}}}

Victor Marie H, Les misrables


Victor Marie H, La lgende des sicles
Charles D G, Mmoires
Simone de B, Le Deuxime Sexe
Simone de B, Mmoires dune jeune lle range
Alexandre D Fils, La dame aux camlias
G T, Histoire des Francs
5 Le lecteur exigeant pardonnera aux auteurs de ne mere ici que les noms dauteurs et titres
duvres.

85

Chapitre 10

Remplir sa base de donnes bibliographique

En ce qui concerne les uvres anonymes, la solution est videmment


de ne rien mere dans le champ author. Cependant lachage par dfaut de
ces uvres anonymes nest pas ncessairement satisfaisant. Il est possible
de le modier : nous expliquons comment faire sur notre blog6 , mais pour
comprendre notre article il vous faut lire les prochains chapitres de cee
partie.

10.4.2 Champs de titre


booksubtitle

Sous-titre du livre dans lequel lentre se situe.

booktitle

Titre du livre dans lequel lentre se situe.

booktitleaddon

Ajout au titre du livre dans lequel lentre se situe.

apter

Chapitre dun livre. Pour les entres de type @inbook.

eventitle

Titre du colloque, pour les entres de type @proceedings et


@inproceedings.

issuesubtitle

Sous-titre dun numro spcique dun priodique. Pour les


entres de type @periodical, le sous-titre du priodique doit
aller dans le champ subtitle, celui du numro dans le champ
issuesubtitle

issuetitle

Titre dun numro spcique dun priodique. Pour les entres de type @periodical, le titre du priodique doit aller
dans le champ title, celui titre du numro dans le champ issuetitle.

journalsubtitle

Sous-titre dun priodique.

journaltitle

Titre dun priodique. Le champ journal est un alias de ce


champ7 .

mainsubtitle

Sous-titre dune uvre en plusieurs volumes.

maintitle

Titre dune uvre en plusieurs volumes. Le titre du volume


spcique une entre correspond au champ title.

maintitleaddon

Ajout au titre dune uvre en plusieurs volumes.

origtitle

Titre original de luvre, si traduction. Nest pas ach en


standard.

6 Maeul

R, Gestions des sources anonymes avec biblatex, : http://geekographie.

maieul.net/66.
7 Ce qui signie

que remplir le champ journal revient remplir ce champ.

86

Les dirents champs possibles

10.4

subtitle

Sous-titre de luvre.

title

Titre de luvre.

titleaddon

Ajout au titre de luvre. Dans ce manuel, nous conseillons


de lutiliser pour les divisions de source ( p. 112, 13.4).

Voici quelques exemples an de comprendre comment utiliser ces champs :


Un livre avec un sous-titre
1

@book{Saxer1980,

Author = {Victor Saxer},

Entrysubtype = {etude},

Location = {Paris},

Publisher = {Beauchesne},

Subtitle = {Les tmoignages de Tertullien, Cyprien

et Augustin la lumire de

l'archologie africaine},

Title = {Morts, martyrs, reliques en Afrique chrtienne

10

aux premiers sicles},

11

Year = {1980}}

Victor S, Morts, martyrs, reliques en Afrique chrtienne


aux premiers sicles : Les tmoignages de Tertullien, Cyprien et
Augustin la lumire de larchologie africaine, Paris : Beauchesne, 1980
Un livre situ dans un recueil
1

@bookinbook{ContraFelix,

Author = {Augustin},

Booktitle = {Six traits anti-manichens},

Number = {17},

Series = {Bibliothque Augustinienne},

Title = {Contra Felicem},

Translator = {Rgis Jolivet and Jourion, Maurice}}

A, Contra Felicem, dans : Six traits anti-manichens,


trad. par Rgis J et Maurice J, Bibliothque Augustinienne 17
87

Chapitre 10

Remplir sa base de donnes bibliographique

Un article dans une revue


1

@article{Junod1992,

Author = {Eric Junod},

Entrysubtype = {etude},

Journaltitle = {Apocrypha},

Pages = {17-46},

Title = {\enquote{Apocryphes du Nouveau Testament}


: une appellation errone

7
8

et une collection artificielle},

Volume = {3},
Year = {1992}}

10

Eric J, Apocryphes du Nouveau Testament : une


appellation errone et une collection articielle , dans : Apocrypha 3 (1992), p. 1746

10.4.3 Champs dinformations sur la publication


address

Lieu de publication. Alias du champ location.

date

Date de publication, sous la forme AAAA-MM-JJ/AAAA-MM-JJ.


La premire date indique correspond la date de dbut, la
seconde celle de n. Pour nindiquer quune date de dbut,
mere AAAA-MM-JJ/. On peut ne pas indiquer le mois ou le
jour. On peut galement utiliser les champs year et month
la place.

edition

Numro ddition si plusieurs ditions existent. Doit tre un


entier ou bien une chane de caractres.

eventdate

Date du colloque pour les entres de type @proceedings et


@inproceedings.

howpublished

Pour les entres de type @misc, prcise le mode de publication.

institution

Institution dans laquelle luvre a t produite. Typiquement


pour les entres de type @thesis.

issue

Dtail dun numro spcique dun priodique (par exemple


numro dt ). On prfrera les champs year, month.

language

Langue de luvre. Le nom de la langue doit, idalement, tre


mis comme indiqu dans la documentation de polyglossia8 .

8 C,

Polyglossia, op. cit.

88

Les dirents champs possibles

10.4

location

Lieu dimpression.

month

Mois de publication. Doit tre un entier compris entre 1 et


12.

number

Numro dun priodique ou numro au sein dune collection.

organization

Organisation lorigine dun manuel ou dune page internet.

origdate

Date de ldition originale.

origlanguage

Langue originelle. Le nom de la langue doit, idalement, tre


mis comme indiqu dans la documentation de polyglossia9 .

origlocation

Lieu dimpression de ldition originelle.

origpublisher

diteur (commercial) de ldition originelle.

pages

Pages de larticle ou de la partie du livre tudie.

pagetotal

Nombre total de pages.

part

Pour les livres en plusieurs volumes physiques, indique le numro du volume physique. Le numro du volume logique est
indiquer dans le champ volume.

publisher

diteur commercial.

pubstate

Pour les uvres qui ne sont pas encore imprimes, indique


le statut :
inpress

uvre sous presse.

inpreparation uvre en prparation.


submitted
type

uvre soumise valuation.

Pour les entres de type @thesis, @patent et @report, prcise le type de travail.
On peut y mere une valeur personnelle, ou bien prendre
lune des valeurs prdnies. Dans ce cas la valeur est automatiquement traduite dans la langue du document.
Pour les entres de type @thesis, deux possibilits :
mathesis

mmoire de master.

phdthesis

thse de doctorat.

9 Ibid.

89

Chapitre 10

Remplir sa base de donnes bibliographique


Pour les entres de type @patent, plusieurs possibilits :
patentde

Brevet allemand.

patenteu

Brevet europen.

patentfr

Brevet franais.

patentuk

Brevet britannique.

patentus

Brevet tats-unien.

etc.
Pour les entres de type @report :
tereport

rapport technique.

resreport

rapport de recherche.

url

Url (adresse lectronique) dune publication en ligne.

urldate

Date laquelle une publication lectronique a t consulte.

venue

Lieu du colloque pour les entres du type @proceedings et


@inproceedings.

version

Numro de rvision dun manuel, dun logiciel.

volume

Volume dans une uvre en plusieurs volumes.

volumes

Nombre de volumes dans une uvres en plusieurs volumes.

year

Anne de publication.

videmment il nest pas ncessaire de remplir systmatiquement tous ces


champs : le lecteur sait mieux que nous lesquels remplir en fonction de ses besoins. Certains champs peuvent contenir plusieurs valeurs, quil sut de sparer par le mot-clef and . Prenons un livre copubli par les ditions Labor et Fides et Cerf : pour indiquer les deux diteurs, il faut mere :
publisher ={Labor et Fides and Cerf}.

10.4.4 Les amps didentication lgale


Il peut tre utile dindiquer des informations comme lISBN, etc. Voici les
champs possibles10 . Le lecteur curieux trouvera aisment des informations sur
leurs signications.
10 Par dfaut, biblatex imprime ces champs sils sont remplis. Il est toutefois possible de ne pas les
acher en passant loption isbn=false au chargement du package, voir : Philipp L, Style
specic , dans : e biblatex Package.

90

Les dirents champs possibles

10.4

eid

Identiant lectronique dune entre de type @article.

isan

International Standard Audiovisual Number, pour les entres


de type audiovisuel.

isbn

International Standard Book Number, pour les livres.

ismn

International Standard Music Number, pour les musiques imprimes, comme par exemple les partitions.

isrn

International Standard Technical Report Number, pour les rapports techniques.

issn

International Standard Serial Number, pour les numros de


revues.

iswc

International Standard Work Code pour les uvres musicales.

10.4.5

Champs dannotations

Par dfaut ces champs ne sont pas imprims.


abstract

Rsum de luvre.

annotation

Annotation sur luvre.

le

Adresse dune version informatique locale du travail.

library

Annotation sur la disponibilit en bibliothque, par exemple


le nom de la bibliothque et la cotation.

Il peut tre intressant de produire ainsi une bibliographie commente.


Lauteur de ces lignes a publi sur son site une mthode pour cela11 . Nous
conseillons toutefois, avant de mere en uvre cee mthode, de lire les
quelques chapitres qui vont suivre.

Il existe dautres champs : si le cur vous en dit, vous pouvez toujours


consulter le manuel de biblatex 12 .

11 Maeul

12 Philipp

R, Une bibliographie commente, : http://geekographie.maieul.net/61.


L, Entry Fields , dans : e biblatex Package.

91

Chapitre 11

Indiquer des rfrences


bibliographiques
Nous avons vu plus haut les direntes manires de citer un texte ( p. 45, 6) dans le
corps du travail. Nous avons galement vu comment remplir une base de donnes bibliographique ( p. 79, 10).
Il ne nous reste plus qu mere en relation les textes cits avec la base de donnes
constitue pour avoir un travail correct, en indiquant les rfrences des citations. Cest lobjet
de ce chapitre.

11.1

Appel du paage biblatex

La gestion bibliographique seectue avec le package biblatex. Dans le prambule, on appelle le package dans sa forme la plus simple par la commande :
\usepackage{biblatex}.
Cependant, le package dispose de nombreuses options1 . Celle qui nous intresse pour le moment est citestyle, qui permet de dnir la manire dont les
rfrences bibliographiques sont aches, notamment lorsquelles sont cites
plusieurs reprises.
Il existe un nombre important de styles de citation livrs en standard. Nous
mentionnons ici les principaux2 :
numeric

chaque entre se voit aribuer un numro, qui est appel


lorsque lon renvoie cee entre. La bibliographie nale
indique les correspondances.

1 Philipp
2 Se

L, Package Options , dans : e biblatex Package.


reporter pour plus de dtails Philipp L, Citation Styles , dans : e biblatex Pa-

ckage.

93

Chapitre 11

Indiquer des rfrences bibliographiques

authortitle

sont indiqus seulement lauteur et le titre de luvre.

verbose

la description complte de lentre est donne la premire


fois, une version abrge est ache ensuite.

verbose-ibid

la description complte de lentre est donne, mais si un


passage est cit plusieurs fois de suite, labrviation ibidem
est utilise.

verbose-note

la description complte de lentre est donne sa premire


mention, puis une version abrge est utilise.

verbose-trad1 ; verbose-trad2 ; verbose-trad3 la description complte de lentre est utilise, puis les abrviations universitaires de type
op. cit., ibidem. etc. sont utilises ; biblatex calcule automatiquement lopportunit dutiliser une abrviation universitaire, selon lendroit o louvrage aura t cit prcdemment. Voir le manuel pour la description complte des diffrences entre ces trois styles.
On comprend ici lun des grands intrts de LATEX : plus de perte de temps
se demander : Faut-il que jutilise ici une version abrge de la rfrence ? ,
biblatex le fait pour vous.
Voici donc comment doit se faire lappel au package si nous choisissons le
style de citation verbose-trad-2 :
1

\usepackage[citestyle=verbose-trad2]{biblatex}

Pour les sciences humaines, nous recommandons les styles de la famille verbose.

11.2 Appel de la base de donne bibliographique


Pour que LATEX sache o chercher les rfrences bibliographiques, il faut lui
signaler quel est le chier .bib utiliser, pour cela il sut dutiliser dans le prambule la commande : \bibliography{chemin du chier}.
Le chemin du chier sindique de la mme manire que nimporte quel chemin de chier ( p. 31, 3.2.1).
Il est possible dappeler plusieurs chiers bibliographiques. Nous le dconseillons, dans la mesure o cela contraint vrier quil ny ait pas plusieurs entres avec la mme clef.

94

Citation dun lment bibliographique

11.3

11.3

Citation dun lment bibliographique

Lensemble des commandes de citation ont la syntaxe :


\prefixcite[prenote][postnote]{clef }, prex indique o et comment
doit apparatre la rfrence : directement dans le texte, entre parenthses, en
note de bas de page, etc.
Par exemple, nous souhaitons citer un livre de Victor Saxer que nous avons
entr de cee manire dans la base de donnes :
1

@book{Saxer1980,

Author = {Victor Saxer},

Entrysubtype = {etude},

Location = {Paris},

Publisher = {Beauchesne},

Subtitle = {Les tmoignages de Tertullien, Cyprien

et Augustin la lumire de

l'archologie africaine},

Title = {Morts, martyrs, reliques en Afrique chrtienne

10

aux premiers sicles},

11

Year = {1980}}

Nous crivons \cite{Saxer1980}. Aprs la troisime compilation ( p. 76,


9.2), la rfrence apparat selon le style choisi lors de lappel biblatex. Ainsi,
pour un style de la famille verbose :
Victor S, Morts, martyrs, reliques en Afrique chrtienne
aux premiers sicles : Les tmoignages de Tertullien, Cyprien et
Augustin la lumire de larchologie africaine, Paris : Beauchesne, 1980
Lusage en sciences humaines est de citer en note de bas de page. Cest pourquoi il vaut mieux utiliser : \footcite{Saxer1980}, qui met la rfrence en note
de bas de page, en ajoutant automatiquement le point de n de note. On peut
galement dcider dutiliser la commande \parencite, pour citer entre parenthses.
Mais on peut aussi choisir la commande \autocite. Le mode de citation (note
de bas page, citation directe, citation entre parenthse, etc.) dpend alors du style
de citation choisi : pour les styles de la famille verbose, la rfrence est mise en
note de bas de page.
Par dfaut les champs bibliographiques sont spars par des points. Si
vous tes press davoir des virgules la place, rendez-vous au chapitre 14.

95

Chapitre 11

Indiquer des rfrences bibliographiques

11.3.1 Les arguments prenote et postnote


Supposons que nous souhaitons acher un texte avant notre rfrence. Par
exemple : Voir galement . On utilise largument optionnel prenote.
1

Blabla \autocite[Voir galement][]{Saxer1980} blablabla.

Blabla Voir galement Victor S, Morts, martyrs, reliques


en Afrique chrtienne aux premiers sicles : Les tmoignages de
Tertullien, Cyprien et Augustin la lumire de larchologie africaine, Paris : Beauchesne, 1980 blablabla.
On peut galement vouloir acher quelque chose aprs la rfrence. On
utilise dans ce cas largument postnote.
1

Blabla \autocite[Voir galement][qui porte sur un

sujet similaire.]{Saxer1980} blabla

Blabla Voir galement Victor S, Morts, martyrs, reliques


en Afrique chrtienne aux premiers sicles : Les tmoignages de
Tertullien, Cyprien et Augustin la lumire de larchologie africaine, Paris : Beauchesne, 1980, qui porte sur un sujet similaire.
blabla
Si on utilise largument prenote, il est obligatoire dindiquer un argument postnote, ft-il vide. En labsence de cet argument, biblatex interprte ce que vous pensiez tre prenote comme postnote.

11.3.2 Largument postnote et la numrotation des pages


Largument postnote peut servir indiquer les pages prcises du passage
cit3 . Il sut pour cela quil contienne une valeur de type numrique, en chires
arabes ou romains, ou bien une squence de valeurs numriques.
Par exemple, pour citer la page 25 :
1

\autocite[25]{Saxer1980}

Pour citer les pages 25 35 :


1

\autocite[25-35]{Saxer1980}

Ou encore les pages 25 et 35 :


3 On consultera pour plus de dtails : Philipp L, Page Numbers in Citations , dans :
e biblatex Package.

96

Citation dun lment bibliographique


1

11.3

\autocite[25 \& 35]{Saxer1980}

Pour non seulement citer la page prcise mais aussi ajouter autre chose dans
largument postnote, utilisons la commande \pno, an que biblatex insre lui
mme le p. :
1

\autocite[\pno~22,

avec lequel nous sommes en dsaccord.]{Saxer1980}

Victor S, Morts, martyrs, reliques en Afrique chrtienne


aux premiers sicles : Les tmoignages de Tertullien, Cyprien et
Augustin la lumire de larchologie africaine, Paris : Beauchesne, 1980, p. 22, avec lequel nous sommes en dsaccord.
On pourra galement utiliser les commandes \nopp pour ne pas acher de
prxe de pagination, \psq pour indiquer quil faut galement prendre la page
suivante et \psqq pour indiquer quil faut prendre les pages suivantes.
Problme avec le amp pages
Un problme se pose lorsquil y a dj un champ pages de rempli, pour un
article par exemple. On se retrouve en eet avec deux numrotations de pages :
celle du champ pages et celle du passage prcis que lon cite, indique par loption postnote. Prenons lentre suivante :
1

@article{Junod1992,

Author = {Eric Junod},

Entrysubtype = {etude},

Journaltitle = {Apocrypha},

Pages = {17-46},

Title = {\enquote{Apocryphes du Nouveau Testament}

: une appellation errone

et une collection artificielle},

Volume = {3},

10

Year = {1992}}

Et appelons-la avec le code suivant :


1

\cite[24]{Junod1992}

On obtient ce rsultat :
Eric J, Apocryphes du Nouveau Testament : une
appellation errone et une collection articielle , dans : Apocrypha 3 (1992), p. 1746p. 24
97

Chapitre 11

Indiquer des rfrences bibliographiques

Pour viter cet inconvnient, il faut, si on utilise un style de type verbose,


passer une option lors de lappel au package citepages=omit
1

\usepackage[citestyle=verbose,citepages=omit]{biblatex}

Dsormais crire \cite[24]{Junod1992} ache correctement :


Eric J, Apocryphes du Nouveau Testament : une
appellation errone et une collection articielle , dans : Apocrypha 3 (1992), p. 24
En revanche le problme demeure si lon souhaite insrer du texte dans largument postnote aprs le numro de page.
1

\cite[\pno~24, passage fort intressant.]{Junod1992}

Eric J, Apocryphes du Nouveau Testament : une


appellation errone et une collection articielle , dans : Apocrypha 3 (1992), p. 1746, p. 24, passage fort intressant.
Comme vous pouvez le constater, le champ pages continue tre ach. Il
sagit dune limite de biblatex. Nous ne trouvons pas dautre solution que de le
contourner en indiquant le texte qui suit la rfrence en dehors de largument
postnote.
Dans le cas dune citation en note de bas de page, il faut donc crire :
1

\footnote{\cite[24]{Junod1992}, passage fort intressant.}

Pour les sources anciennes, on aimerait pouvoir indiquer non seulement la pagination dans ldition contemporaine mais aussi la division de
source (livre, chapitre, paragraphe, etc.). Malheureusement on ne peut avec
biblatex indiquer quun seul lment variable lors de lutilisation dune
commande de citation.
On peut contourner ce problme en crant des sous-entres bibliographiques ( p. 112, 13.4), dont nous parlons dans un autre chapitre.
Pour les uvres en plusieurs volumes, on peut utiliser les commandes
\volvcite, \pvolcite, \fvolcite, \avolcite correspondant aux commandes

respectives \cite, \parencite, \footcite, \autocite.


La syntaxe est : \prefixcite[prenote]{volume}[page]{clef }.

98

Citation dun lment bibliographique

11.3

Type de pagination
On peut prciser dans sa base de donnes le type de pagination dune entre : pagine-t-on en pages, en colonnes, etc ? On utilise pour cela le champ
pagination, en lui donnant lune des valeurs suivantes :
page

la pagination est sous forme de pages. Cest la valeur standard.

column

la pagination est sous forme de colonnes.

line

la pagination est sous forme de lignes.

verse

la pagination est sous forme de versets / de vers.

section

la pagination est sous forme de sections.

paragraph

la pagination est sous forme de paragraphes.

none

la pagination est libre.

Le champ pagination sert lorsque lon met une indication numrique dans
largument postnote. En revanche si on nutilise pas dargument postnote
et quon laisse le contenu du champ pages, il est sans eet. Prenons lentre
suivante :
1

@book{desnos,

Author = {Robert Desnos},

Pagination = {verse},

Pages = {1-3},

Title = {La fourmi}}

Appelons-la en utilisant largument postnote, puis sans lutiliser.


1

\autocite[2]{desnos}

2
3

\autocite{desnos}

Robert D, La fourmi, v. 2
Robert D, La fourmi, p. 13
On constate que dans le deuxime cas, pagination nest pas pris en compte.
Il faut dans ce cas mere le type de pagination dans le champ bookpagination :
1

@book{desnos,

Author = {Robert Desnos},

Pagination = {verse},

Bookpagination = {verse},

Pages = {1-3},

Title = {La fourmi}}

99

Chapitre 11

Indiquer des rfrences bibliographiques


Robert D, La fourmi, v. 2
Robert D, La fourmi, v. 13

On peut viter de dupliquer linformation dans le champ bookpagination en insrant la ligne suivante en dbut de chier .tex :
\DeclareFieldFormat{pages}{\mkpageprefix[pagination]{#1}}

La commande \DeclareFieldFormat indique la manire dacher le


champ pages : en passant son contenu (#1) une fonction \mkpageprefix,
qui on indique de se baser sur le champ pagination pour acher le prxe
de page4 .
Il est possible de dnir ses propres types de pagination en dclarant
des nouvelles chanes de langues ( p. 118, 14.4). Nous dtaillons sur notre
blog la mthode5 .

11.4 Citation de plusieurs uvres


Il est possible de citer plusieurs uvres dune traite, en utilisant une commande dont la syntaxe de base est :
\prefixcites[prenote][postnote]{clef }[prenote][postnote]{clef }
On peut citer la suite autant duvres que souhait. Chaque lment cit
a droit son argument prenote et postnote, qui sutilise de la mme manire
que pour les citations simples. Voici un exemple dutilisation :
1

\autocites{Saxer1980}{Junod1992}

Victor S, Morts, martyrs, reliques en Afrique chrtienne


aux premiers sicles : Les tmoignages de Tertullien, Cyprien et
Augustin la lumire de larchologie africaine, Paris : Beauchesne, 1980 ; Eric J, Apocryphes du Nouveau Testament : une appellation errone et une collection articielle ,
dans : Apocrypha 3 (1992), p. 1746
Il est possible de prciser un texte acher avant la liste des rfrences,
ainsi quun texte acher aprs.
1

\<prefix>cites(Texte avant)(Texte aprs){Saxer1980}{Junod1992}


4 Voir

Philipp L, Formaing Directives , dans : e biblatex Package.


R, Un nouveau type de pagination, : http://geekographie.maieul.net/69.

5 Maeul

100

Choix de la forme abrge

11.5

Les sparateurs de citations sont par dfaut des points-virgules. Il est possible de les modier globalement, nous en parlons plus loin ( p. 117, 14.2).
Toutefois, si largument postnote dun lment de la commande de citation
multiple nit par un signe de ponctuation, alors le point-virgule napparat pas
entre cet lment et le suivant :
1

\autocites[on consultera galement :]{Saxer1980}{Urner1952}

Donne :
Victor S, Morts, martyrs, reliques en Afrique chrtienne
aux premiers sicles : Les tmoignages de Tertullien, Cyprien et
Augustin la lumire de larchologie africaine, Paris : Beauchesne, 1980, on consultera galement : Hans U, Die ausserbiblische Lesung in Christlichen Goesdienst, Goingen, 1952

11.5

Choix de la forme abrge

Avec le style verbose, on peut faire apparatre les rfrences sous une forme
abrge. Il existe pour cela plusieurs champs, que nous navons pas encore mentionns.
shortauthor

Nom abrg de lauteur.

shorteditor

Nom abrg de lditeur.

shorthand

Forme abrge de la rfrence.

shorthandintro

Lorsquune entre est cite pour la premire fois, et si le


champ shorthand est utilis, le champ shorthandintro sert
introduire la forme abrge. Par exemple, cit plus tard : .

shorttitle

Forme abrge du titre.

La commande \printshorthands permet dimprimer la liste des abrviations.

101

Chapitre 12

Aer la bibliographie
Dans ce chapitre nous allons voir comment acher et trier une bibliographie.

12.1

Aage de la bibliographie

La commande pour imprimer une bibliographie est \printbibliography. Si


vous lessayez dans votre projet, vous obtenez l o vous lavez place une bibliographie reprenant lensemble des uvres cites au cours de votre travail.
Ainsi, vous tes certain de ne rien oublier.
Toutefois une telle bibliographie est peu utile pour les longs travaux : elle
mlange allgrement sources primaires et tudes secondaires, ne fait pas de distinctions entre les chapitres, etc. Nous allons donc voir comment sectionner une
bibliographie. Mais auparavant il nous faut mentionner une spcicit propre
aux sciences humaines, ainsi que la manire dajouter des rfrences non cites.

12.1.1

Choix du style de bibliographie

De mme quil est possible de choisir, lors de lappel biblatex, les styles des
rfrences bibliographiques, il est possible de choisir un style bibliographique
grce largument bibstyle. Pour les sciences humaines, il vaut mieux utiliser verbose qui nous assure davoir des rfrences compltes, sans pour autant
quun numro soit aribu chaque entre comme cest le cas avec numeric, le
style par dfaut. Ainsi, lors de lappel au package biblatex, il sut dcrire :
1

\usepackage[bibstyle=verbose,...]{biblatex}

103

Chapitre 12

Acher la bibliographie

12.1.2 Ajout de rfrences non cites


On peut vouloir ajouter dans une bibliographie des rfrences qui nont pas
t explicitement cites dans le texte. Il faut utiliser : \nocite{clef1,clef2,}.
Pour ajouter lensemble des rfrences dun chier .bib il sut dcrire :
\nocite{*}.

12.2 Diviser une bibliographie


12.2.1 Par catgorie de document
Une premire manire de trier une bibliographie est de le faire selon le type
des documents. Les entres bibliographiques disposent dun champ entrysubtype qui permet de prciser le type dentre : par exemple indiquer si une entre
est une lere, un trait, une prdication, etc. Loption subtype passe la commande \printbibliography permet de nimprimer que les entres dont le champ
entrysubtype correspond. Supposons que nous ne souhaitons acher que les
entres dont ce champ a pour valeur lere . Il sut dcrire :
1

\printbibliography[subtype=lettre]

On peut passer une option title an de prciser le titre de notre bibliographie :


1

\printbibliography[subtype=lettre,title=Lettres]

Une telle mthode permet aisment de sparer une bibliographie en plusieurs parties selon les catgories de documents.
1

\printbibliography[subtype=concile,title=Actes de concile]

\printbibliography[subtype=traite,title=Traits]

\printbibliography[subtype=lettre,title=Lettres]

Changer le niveau de titre dune bibliographie


Par dfaut, les titres de bibliographie sont de niveaux \chapter* ( p. 29,
3.1). Mais il est possible de rednir ces titres, grce \defbibheading.
Si nous souhaitons par exemple que le titre de la bibliographie soit de niveau
\subsection, il nous sut dajouter les lignes suivantes au dbut de notre chier
.tex, si possible dans le prambule :
1

\defbibheading{bibliography}[\bibname]{\subsection{#1}}

Analysons ce code :
104

Diviser une bibliographie

12.2

1. Le premier argument correspond au nom de len-tte de bibliographie (du


titre de bibliographie). Len-tte nomm bibliography est celui utilis
par dfaut. Mais on pourrait trs bien dnir un en-tte toto , il surait
alors de passer une option heading la commande \printbibliography.
1

\defbibheading{toto}[\bibname]{\subsection{#1}}

\printbibliography[heading=toto]

2. Le second argument, ici \bibname, correspond au titre par dfaut. Dans


notre cas, la commande \bibname renvoie simplement la valeur Bibliographie .
3. Le troisime argument contient le code qui est appel pour crer len-tte
dune bibliographie. Ici on dclare quon passe le titre (le contenu de #1)
une commande \subsection.
Avec une telle mthode, il est ais de trier une bibliographie en sources primaires et sources secondaires. Il sut daribuer une valeur au champ entrysubtype des entres bibliographiques, en la faisant varier selon quil sagisse
dune source primaire ou dune source secondaire. Par exemple :
1

\defbibheading{bibliography}[\bibname]{\subsection{#1}}

\chapter{Bibliographie}

\section{Sources}

\printbibliography[subtype=traite,title=Traits]

\printbibliography[subtype=lettre,title=Lettres]

\section{Littrature secondaire}

\printbibliography[subtype=outil,title=Outils]

\printbibliography[subtype=etude,title=tudes]

12.2.2

Par sujet

Une autre manire de sectionner une bibliographie est de faire des parties
thmatiques. On peut pour cela indiquer dans le champ keywords des mots cls.
Les mots cls doivent tre spars par des virgules.
On peut alors passer loption keyword la commande \printbibliography,
et ainsi slectionner toutes les entres ayant la valeur xxx dans leurs champs
keywords :
1

\printbibliography[keyword=xxx]

A contrario, on peut acher toutes les entres nayant pas la valeur xxx
dans leurs champs keywords.
1

\printbibliography[notkeyword=xxx]

105

Chapitre 12

Acher la bibliographie

Il est enn possible de combiner plusieurs mots cls. Dans ce cas, les entres
possdant au moins un de ces mots apparaissent :
1

\printbibliography[keyword=positivistes, keyword=naturalistes]

Un certain nombre de personnes conseillent dutiliser le champ keyword pour sparer sources primaires et sources secondaires. Lauteur de
ces lignes considre quil sagit l dune dformation du sens de ce champ,
qui ne devrait pas porter sur le statut pistmologique dune rfrence mais
sur son sujet.

12.2.3 Par section du document


Biblatex permet aussi dacher une bibliographie correspondant une partie du document, par exemple un chapitre, grce la dnition de segments
bibliographiques un segment bibliographique tant une partie de document
qui a sa bibliographie propre1 .
La mthode la plus simple est de passer une option refsegment lors de lappel
au package biblatex. La valeur de cet argument peut-tre part , chapter ,
section , subsection , qui indique quel niveau de titre commencer une
nouvelle section bibliographique2 .
Chaque segment bibliographique possde un numro compris entre 0 et N.
On peut connatre celui du segment courant grce \therefsegment.
On peut ainsi acher la n de chaque chapitre une bibliographie du chapitre :
1

\documentclass{}

\usepackage[refsegment=chapter]{biblatex}

\defbibheading{bibliography}[\bibname]{\section{#1}}

\begin{document}

\chapter{}

\printbibliography[refsegment=\therefsegment]
1 En ralit biblatex propose deux choses direntes : segment et section bibliographiques.
Seules les sections bibliographiques ont rellement une bibliographie propre, dans la mesure o, si
on utilise un style numrot de bibliographie, la numrotation recommence chaque changement
de section, mais pas chaque changement de segment. Toutefois il est rare en sciences humaines
dutiliser un style bibliographique numrot. Cest pourquoi nous ne parlons ici que des segments
bibliographiques et non pas des sections bibliographiques. Voir : Philipp L, Bibliography
Sections , dans : e biblatex Package, ainsi que : Philipp L, Bibliography Segments ,
dans : e biblatex Package.
2 Il est toutefois possible de crer des sections bibliographiques autrement que par niveaux de
titre, voir : idem, Bibliography Segments , op. cit.

106

Tri lintrieur dune bibliographie

12.3

10

\chapter{}

11

12

\printbibliography[refsegment=\therefsegment]

13

\end{document}

12.2.4

Autres manires

Biblatex propose de nombreuses autres manires de diviser une bibliographie : ainsi il est possible de dnir des ltres personnaliss pour ne slectionner
que les entres rpondant certains critres, dassigner des catgories certaines entres, etc. Nous navons prsent ici quun aperu des usages les plus
courants : nous renvoyons la documentation de biblatex pour plus de dtails3 .

12.3

Tri lintrieur dune bibliographie

On constate que la bibliographie est trie par nom dauteur, puis par titre,
puis par anne. Il est possible de passer une option sorting lors de lappel au package biblatex. Cee option prend pour valeur lun des schmas de tri proposs
par biblatex ou bien dnis par vos soins4 .
Par exemple pour trier par nom dauteur (indiqu par la lere n), anne (y),
titre (t) :
1

\usepackage[sorting=nyt]{biblatex}

Parfois la valeur utilise pour le tri ne doit pas tre la valeur ensuite ache
dans la bibliographie. Prenons deux entres dont les titres sont Lere 237 et
Lere 64 . Dans la bibliographie nale, Lere 64 est ach aprs Lere
237 .
En eet, ce nest pas le nombre 237 qui est reconnu, mais seulement le
caractre 2 , puis le caractre 3 , etc. Cest pourquoi Lere 237 est
situ avant Lere 64 , 2 se trouvant avant 6.
Pour contourner ce problme, on peut utiliser le champ sorttitle. Celui-ci
nest pas ach mais a la priorit sur le champ title en ce qui concerne le tri
dans la bibliographie nale. Voici ce que donnent nos deux entres :
1

@book{AugustinEpi64,

Author = {Augustin},

Sorttitle = {Lettre 064},

Title = {Lettre 64}}


3 Philipp

L, Bibliography Commands , dans : e biblatex Package.


les schmas de tri standards voir Philipp L, Default Sorting Schemes , dans :
e biblatex Package ; pour les schmas personnaliss, voir Philipp L, Sorting , dans : e
biblatex Package.
4 Pour

107

Chapitre 12

Acher la bibliographie

5
6

@book{AugustinEpi237,

Author = {Augustin},

Sorttitle = {Lettre 237},

Title = {Lettre 237},

Comme 0 se situe avant 2 , la lere 64 est bien situe avant la lere


237. Dans la bibliographie, lentre aura cependant bien le titre Lere 64 , et
non pas Lere 064 .
Un problme semblable peut se poser pour les uvres anonymes : en
labsence dauteur, biblatex se sert du titre comme premier critre de tri, ce
qui a pour consquence de disperser toutes les uvres anonymes au sein
de la bibliographie, plutt que de les mere un seul endroit, par exemple
tout au dbut.
On peut certes utiliser le champ sortname pour rsoudre ce problme,
mais le plus sain est de dnir sa propre rgle de tri : nous expliquons
comment sur notre blog5 .

Il existe galement un champ sortyear pour prciser une autre anne de tri.

5 Maeul

R, Tri des uvres anonymes, : http://geekographie.maieul.net/92.

108

Chapitre 13

Entres hirarises
Dans ce chapitre, nous allons voir comment crer des entres hirarchises, pour organiser mieux organiser sa base de donnes et pour grer les divisions de source.

13.1

Principe des sous-entres bibliographiques

Supposons que vous citiez diverses contributions dun mme colloque. Classiquement vous crez plusieurs entres bibliographiques sous la forme1 :
1

@inproceedings{clef1,

Author = {Anne Onyme},

Booktitle = {La sexualit d'Adam Homo Technologicus},

Editor = {Grard Menvu},

Title = {L'influence de LaTeX sur la reproduction des tres

humains},

Year = {2011}}

8
9

@inproceedings{clef2,

10

Author = {Jean Sniste},

11

Booktitle = {La sexualit d'Adam Homo Technologicus},

12

Editor = {Grard Menvu},

13

Title = {L'arbre du paradis tait-il un pcher ?},

14

Year = {2011}}

Vous dupliquez ainsi les donnes sur le colloque (titre, diteur, etc.). Si par
hasard vous vous tes tromps dans une information, vous devrez la modier
partout. Pour viter cela Biber prvoit la possibilit de crer des liations dentres : des entres secondaires hritant dune entre principale. Lhritage
1 Toute

ressemblance avec un colloque stant dj tenu ne saurait tre que pure concidence.

109

Chapitre 13

Entres hirarchises

tant pris en charge lors de linterprtation du chier. Pour ce faire, il sut


dindiquer dans le champ crossref des entres secondaires la clef de lentre
principale.
1

@proceedings{principale,

Editor = {Grard Menvu},

Title

Year = {2011}

= {La sexualit d'Adam Homo Technologicus},

6
7

@inproceedings{clef1,

Author = {Anne Onyme},

Title = {L'influence de LaTeX sur la reproduction des tres

10

humains},

11

crossref={principale}

12

13
14

@inproceedings{clef2,

15

Author = {Jean Sniste},

16

Title = {L'arbre du paradis tait-il un pcher ?},

17

crossref={principale}

18

Aprs compilation, nous voyons que nos sous-entres ont correctement hrit des champs de lentre principale :
Anne O, Linuence de LaTeX sur la reproduction
des tres humains , dans : La sexualit dAdam Homo Technologicus, dir. Grard M, 2011
Jean S, Larbre du paradis tait-il un pcher ? ,
dans : La sexualit dAdam Homo Technologicus, dir. Grard
M, 2011
Vous constaterez que Biber procde un hritage intelligent : le champ
date de lentre mre est repris comme comme champ date de lentre lle, cependant que le champ title devient le champ booktitle.
Il est possible de crer autant de niveaux dentre bibliographique que
souhaits. Aention cependant ne pas produire des rfrences circulaires
(A hritant de B, hritant de C, hritant de A). Par ailleurs, certain logiciels de gestions bibliographiques vous interdisent de crer des sous-sousentres bibliographiques : il vous faut alors modier vos entres avec votre
diteur de texte.

110

Sous-entres dans la bibliographie nale

13.2

13.2

Sous-entres dans la bibliographie nale

Lorsquune entre lle est cite, Biber rajoute systmatiquement lentre


mre dans la bibliographie nale. On peut toutefois indiquer un nombre minimal de citations dentres lles pour que se fasse lajout de lentre mre dans
la bibliographie. Si nous souhaitons quune entre mre ne soit ajoute la bibliographie que si les entres lles sont cites au moins 10 fois (toutes entres
confondues) :
1

\usepackage[mincrossrefs=10,]{biblatex}

13.3

Prciser les hritages de amps

Biber possde un certain nombre de rglages dhritage de champs2 . On peut


cependant modier ces hritages, ou en ajouter dautres. Les champs entrysubtype, par exemple, ne sont par dfaut pas hrits. Pour modier les rglages standards, il sut dutiliser, dans le prambule : \DeclareDataInheritance{entre
mre}{entre lle}{rgles}.
entre mre dsigne le type dentre mre : @book, @proceedings, etc. Le
symbole * dsigne nimporte quel type dentre.
entre lle

dsigne le type dentre lle. L aussi le symbole * dsigne nimporte quel type dentre.

rgles

dsigne un certain nombre de rgles dhritages, sous forme de


commandes.

Les types dentres prciser dans les arguments entre lle et entre
mre ne doivent pas tre prcds du signe @.
La premire commande dhritage est la suivante \noinherit{champ}. Elle
empche lhritage dun champ par une entre lle.
La seconde est \inherit[option]{champ source}{champ cible}. Il ny
quune seul option possible : override=true. Si cee option est passe, alors la
valeur du champ de lentre lle est crase par celles du champ de lentre
mre. Sinon, la valeur du champ de lentre lle a priorit.
Ainsi, pour permere lhritage du champ entrysubtype il sut dcrire :
1

\DeclareDataInheritance{*}{*}{
\inherit{entrysubtype}{entrysubtype}

2
3

}
2 Philipp

L, Default crossref Setup , dans : e biblatex Package.

111

Chapitre 13

Entres hirarchises

13.4 Divisions de source


Les sous-entres peuvent tre utilises pour contourner une des limites de
la gestion bibliographique de LATEX : limpossibilit de grer la fois la division
dune source et la pagination. Les textes anciens disposent en gnral dune
division propre qui permet en thorie de reprer un passage dans nimporte
quelle dition. Par exemple :
A, De doctrina christiana, II, , 12-13
signie que nous renvoyons au De Doctrina Christiana dAugustin, livre II,
chapitre , paragraphes 12-13. En thorie on peut retrouver le passage concern dans nimporte quelle dition du trait. Ceci est appel gnralement division de source . En revanche, supposons que nous renvoyions une dition
particulire, par exemple celle de la Bibliothque Augustinienne : on aimerait
indiquer les pages prcises.
A, De doctrina christiana, II, , 12-13, d. tablie
et trad. par Madeleine M, Bibliothque Augustinienne,
p. 150155
Sil est ais lorsquon utilise une commande de citation dindiquer une page
prcise ( p. 96, 11.3.2), il nest pas possible en revanche dindiquer une division
de source prcise. La solution est simple : il sut de crer une entre principale
correspondante lensemble de luvre, et des entres secondaires correspondantes des parties de luvre. Ces entres secondaires hritent des valeurs de
lentre principale, sauf pour le champ pages et le champ titleaddon dans lequel
on prcise la division de source.
Il nexiste pas de champ spciquement prvu pour indiquer la division
de source. Pourquoi choisir ce champ titleaddon ? Deux raisons poussent
lauteur de ces lignes adopter cee solution :
1. Dun point de vue smantique, la division de source peut tre considre comme un ajout au titre.
2. Dun point de vue pratique, ce champ a pour avantage dtre, par
dfaut, situ par biblatex entre le titre et les informations ddition,
sans pour autant tre en italique.
Le choix dune entre de type @book pour la clef DeDoctChrIIviii18 la place dune entre @inbook se justie par des questions dhritage.
On ne donne pas en eet cee entre de titre propre. Ds lors, si elle tait
de type @inbook, Biber rcuprerait le champ title de lentre mre et en
ferait un booktitle, ce qui nest pas ce que nous souhaitons. En revanche,
20

112

Divisions de source

13.4

en faisant de notre division de source une entre de type @book, on lui


permet dhriter dans son champ title du champ title de lentre mre.
videmment le choix de ce champ devrait, idalement, tre discut en
accord avec lditeur. De toute faon, il est facile, si le choix ne convient
pas, de changer en srie les entres.
Il est possible de vrier automatiquement que les entres soient du
mme type : nous en parlons sur notre blog3 .

Ainsi pour notre cas, il sut de crer les deux entres suivantes :
1

@book{DeDoctChr,

Author = {Augustin},

Editor = {Madeleine Moreau},

Entrysubtype = {traite},

Series = {Bibliothque Augustinienne},

Title = {De doctrina christiana},

Translator = {Madeleine Moreau}}

8
9
10

@book{DeDoctChrIIviii18-20,

11

Crossref = {DeDoctChr},

12

Pages = {150-155},

13

Titleaddon = {II, \textsc{viii}, 12-13},

14

Pour citer notre passage prcis, il faut crire :


1

\autocite{DeDoctChrIIviii18-20}

Linconvnient dune telle mthode est quelle multiplie les entres


dans la bibliographie nale, puisque celle-ci contiendra la fois luvre
entire et chacune des divisions que nous ajoutons dans notre chier .bib.
Nous expliquons sur notre blog comment empcher cela4 .
De mme cee mthode pose quelques problmes pour la gestion des
op. cit. Nous expliquons sur notre blog comment les rsoudre5 .
Pour comprendre ces deux explications il est ncessaire davoir lu les
chapitres qui vont suivre.

3 Maeul

R, Vrication des liations avec biblatex (1) : vrier les types, :

http :

//geekographie.maieul.net/74.
4 Maeul R, Ne pas acher les sous-entres bibliographiques, : http://geekographie.
maieul.net/60.
5 Maeul R, Division de sources et abrviations, : http://geekographie.maieul.net/
86.

113

Chapitre 14

Modier les styles


bibliographiques (1)
Vous savez dsormais utiliser les commandes de citation. Vous pourriez maintenant souhaiter modier la manire dont les rfrences sachent : changer lordre des champs, les
sparateurs, les textes du type dans .
Ces deux chapitres vous indiqueront les principes gnraux pour faire ces modications.
Ils nont pas pour vocation de tout prsenter sur le sujet, mais simplement les principes de
base. On se reportera au manuel de biblatex pour aller plus loin.
Le premier de ces chapitres vous prsentera les techniques les plus simples, celles qui ne
ncessitent pas daller fouiller dans les styles bibliographiques standards.

14.1

Sparateurs dunit de sens

Prenons un problme courant. Vous avez constat que, par dfaut, les dirents champs dune rfrence bibliographique1 sont spars par des points. On
obtient par exemple :
Hans U. Die ausserbiblische Lesung in Christlichen Gottesdienst. Goingen, 1952
alors que le rgles franaises voudraient que lon ait :
Hans U, Die ausserbiblische Lesung in Christlichen Gottesdienst, Goingen, 1952
1

lexception de la date et de quelques autres champs.

115

Chapitre 14

Modier les styles bibliographiques (1)

lintrieur dune rfrence bibliographique, biblatex distingue des units


de sens2 . Ici : lauteur, le titre, ladresse, lditeur, lanne.
Ces units sont spares par des signes de ponctuation. Les sparateurs sont
dnis par la commande \newunitpunct.
Il sut donc de rednir la commande en meant dans le prambule3 :
1

\renewcommand{\newunitpunct}[0]{, }

Nous navons pas parl jusqu prsent de la commande \renewcommand.


Celle-ci est identique la commande \newcommand la dirence quelle
permet de rednir une commande dj existante.

Cee solution semble fonctionner. Mais elle pose un problme : les styles
dnissent des units de sens sans se poser la question de savoir si ces units
sont vides ou pas. Prenons lentre suivante :
1

@bookinbook{BrefHippone,

Booktitle = {Concilia Africae},

Entrysubtype = {concile},

Number = {149},

Pages = {36},

Pagination = {paragraph},

Series = {Corpus Christianorum Series Latina},

Title = {Breviarum Hipponense}}

On obtient le rsultat suivant :


Breviarum Hipponense, dans : , Concilia Africae, Corpus
Christianorum Series Latina 149, par. 36
La virgule entre les deux points et Concilia Africae sexplique parce quune
unit a t cre, unit qui doit contenir normalement la valeur du champ bookauthor.
Pour viter ce problme, il faut ne pas mere directement dans la dnition
de la commande \newunitpunct les signes de ponctuation mais utiliser la place
les commandes de ponctuation4 . Ces commandes achent en eet la ponctuation uniquement si lunit qui prcde a bien un contenu5 . Ainsi il faut mere
dans notre cas :
1

\renewcommand{\newunitpunct}[0]{\addcomma\addspace}
2 vrai dire il existe des units plus vastes, appels blocs. Mais ces units servent pour des
rglages avancs de lachage de la bibliographie nale.
3 Cela nest pas strictement ncessaire, mais cest une bonne mthode que de mere lensemble
des commandes de personnalisation de style dans le prambule. Nous conseillons de les regrouper
en un seul chier, appel dans le prambule.
4 Listes dans Philipp L, Punctuation and Spacing , dans : e biblatex Package.
5 Par ailleurs, elles suppriment les espaces multiples qui prcdent.

116

Sparateur de rfrences multiples

14.1.1

14.2

Un sparateur spcique deux units

On peut vouloir quentre deux units spciques, par exemple entre le titre et
le sous-titre, le sparateur ne soit pas le mme quentre les autres units. Vous
avez sans doute constat que cest dailleurs le cas pour le style verbose :
ladresse et lditeur sont spares par un deux-points.
Deux cas existent :
1. Le package biblatex a prvu une commande spcique pour notre type
dunit. Cest le cas pour le sparateur avant le sous-titre6 . Il sut dans
ce cas de rednir la commande. Nous souhaitons par exemple avoir un
deux-points entre le titre et le sous-titre. Il nous sut dindiquer :
\renewcommand{\subtitlepunct}[0]{\addspace\addcolon\addspace}

2. Le package na pas prvu de commande spcique pour notre type dunit. Dans ce cas, le problme est plus complexe et ncessite des notions
que nous navons pas encore abordes. Cest pourquoi nous renvoyons
au chapitre suivant ( p. 126, 15.2).

14.2

Sparateur de rfrences multiples

Lorsque nous utilisons une commande de citation multiple ( p. 100, 11.4),


les sparateurs par dfaut sont des points-virgules :
1

\autocites{Saxer1980}{Junod1992}

Victor S, Morts, martyrs, reliques en Afrique chrtienne


aux premiers sicles : Les tmoignages de Tertullien, Cyprien et
Augustin la lumire de larchologie africaine, Paris : Beauchesne, 1980 ; Eric J, Apocryphes du Nouveau Testament : une appellation errone et une collection articielle ,
dans : Apocrypha 3 (1992), p. 1746
On peut l aussi modier le sparateur en rednissant
Par exemple pour avoir une virgule :
1

\multicitedelim.

\renewcommand{\multicitedelim}[0]{\addcomma\addspace}
6 Ces commandes sont peu nombreuses : on les trouvera dans Philipp L, Generic Commands and Hooks , dans : e biblatex Package.

117

Chapitre 14

Modier les styles bibliographiques (1)

14.3 Styles de certains blocs


La ponctuation nest pas le seul cas pour lequel biblatex propose des outils pour faire des modications spciques. Certaines parties des rfrences bibliographiques ont galement la possibilit dtre congures grce des commandes particulires7 . Prenons par exemple la particule dun auteur.
Simone de B, Le Deuxime Sexe
Il est parfois dusage de mere la particule entre parenthses. Il faut pour cela
rednir la commande \mkbibnameprefix. Cee commande prend un argument,
qui est la particule. Pour la mere automatiquement entre parenthses, il sut
ainsi dcrire.
1

\renewcommand{\mkbibnameprefix}[1]{(#1)}

Voire pour tre encore plus correct :


1

\renewcommand{\mkbibnameprefix}[1]{\parentext{#1}}

La commande \parentext met entre parenthses un texte pass en argument.


On obtient le rsultat souhait :
Simone (de) B, Le Deuxime Sexe

14.4 Chanes de langue


Les chanes de langue sont ces morceaux de texte gs mais qui dpendent de
la langue utilise. Prenons une entre de type @article. Lorsque nous la citons,
nous obtenons :
Eric J, Apocryphes du Nouveau Testament : une
appellation errone et une collection articielle , dans : Apocrypha 3 (1992), p. 1746
La chane dans spare le titre de larticle et le nom de la revue. Si nous
rdigions en anglais, nous aurions in la place.
Il peut nous arriver de vouloir changer ces chanes de langues, par exemple
justement pour avoir la forme in , terme latin souvent utilis dans les bibliographies. Une chane de langue associe une clef invariable une valeur qui
change selon la langue.
7 L,

Generic Commands and Hooks , op. cit.

118

Chanes de langue

14.4

Les styles bibliographiques possdent des chanes de langue par dfaut, quil
est possible de modier au cas par cas. Pour cela, il nous faut avant tout connatre
les clefs, en ouvrant le chier de langue french.lbx. Pour reprer ce chier, voir
notre explication en annexe ( p. 233, C.4).
Une fois ce chier ouvert, reprons la ligne qui commence par :
\DeclareBibliographyStrings

Cee ligne est suivie dautres, qui ont la forme :


1

clef

= {{chane longue}{chane courte}}

Chaque chane de langue est disponible en version longue ou courte.


On peut passer une option lors de lappel au package biblatex pour dcider
dutiliser les versions longues.
1

\usepackage[abbreviate=false]{biblatex}

Toutefois quand on rednit une chane de langue, on ne lui aribue


quune seule version.

Il nous faut donc reprer la clef correspondante notre chane dans . Trs
rapidement nous dcouvrons quil sagit de la chaine in.
Une fois notre clef repre, il est facile de lui aribuer une nouvelle valeur,
grce la commande \DefineBibliographyStrings{langue}{chane}, quil
faut placer dans le prambule du chier.
Il ne faut surtout pas modier les chiers standards : on perdrait les
modications chaque mise jour.
1

\DefineBibliographyStrings{french}{%
in = {\emph{in}}%

2
3

On peut utiliser dans une chane de langue des commandes LATEX. Si notre
chane contient des signes de ponctuation, il faut utiliser les commandes de
ponctuation mentionnes plus haut. Les % la n de chaque ligne sont l pour
viter les espaces intempestifs ( p. 55, 7.1.1).
Si nous souhaitons rednir plusieurs chanes de langue, il nous faut sparer
chaque dnition par une virgule :
1

\DefineBibliographyStrings{french}{%

clef1 = {valeur1},%

clef2 = {valeur2},%

clefN = {valeurN}%

119

Chapitre 14

Modier les styles bibliographiques (1)

On pourrait rednir les chanes de langue consacres aux abrviations


universitaires de type op. cit. pour les avoir en italique.
Il y a une solution plus simple. En eet, biblatex passe ces chanes de
langue dans une commande \mkibidem{chaine} avant de les acher.
Il nous sut donc de rednir cee commande :
1

\renewcommand{\mkibid}[1]{\emph{#1}}

14.4.1 Introduction aux tests conditionnels


Nous allons maintenant prendre un peu danticipation sur le prochain chapitre. Vous savez que les styles de la famille verbose-trad utilisent des abrviations latines comme op. cit. Ces abrviations sont les abrviations universitaires courantes. Toutefois biblatex utilise indistinctement op. cit. pour toutes
les sortes dentres, y compris pour les entres de type @article, alors quon
pourrait saendre une abrviation comme art. cit.
Pour rsoudre ce problme il sut de rednir la chane de langue qui dnit
op. cit., en lui aribuant une valeur dirente selon le type dentre. On va donc
utiliser lun des nombreux tests conditionnels disponibles dans biblatex. Il sagit
de la commande : \iffieldequalstr{champ}{texte}{sioui}{sinon}.
Cee commande ne peut sutiliser que dans certaines parties dun chier
LATEX : dans les commandes de dnition de styles bibliographiques et dans celles
de dnition dun chane de langue. Elle vrie que le champ champ de lentre bibliographique cite correspond largument texte : si cest le cas, elle
retourne largument sioui, et sinon elle retourne largument sinon.
Ici nous testons le pseudo-champ8 entrytype, qui correspond au type dentre sans le @. Nous vrions sil sagit dune entre de type article : si cest le
cas nous donnons la chane de langue la valeur art. cit. , dans le cas contraire
nous donnons la valeur op. cit. . Au nal cela donne :
1

\DefineBibliographyStrings{french}{%

opcit = \iffieldequalstr{entrytype}{article}%

{art\adddotspace cit\adddot}%
{op\adddotspace cit\adddot}%

4
5

On remarquera lutilisation des commandes de ponctuation ( p. 116, 14.1),


comme signal plus haut.

Pseudo car il ne se situe pas rellement comme un champ dans lentre bibliographique.

120

Chapitre 15

Modier les styles


bibliographiques (2)
Nous avons vu que BibLaTeX propose un certain nombre de commandes pour personnaliser rapidement les styles bibliographiques. Toutefois ces commandes ne susent pas pour
des personnalisation avances. La possibilit de choisir lordre dachage des champs, par
exemple, ncessite ainsi daller plus loin dans la comprhension des styles bibliographiques
de biblatex.

15.1

e se passe-t-il lorsquon utilise une commande \prefixcite ?

Pour comprendre comment personnaliser lachage bibliographique, il est


ncessaire de connatre sommairement ce qui se passe lorsquon utilise une commande de citation.
Lorsquon appelle une commande de citation, du type \prefixcite, celle-ci
va appeler :
des macros bibliographiques, charges dacher largument prenote ou
postnote, ou encore de grer les citations rptes. Les macros bibliographiques sont des types particuliers de commandes, propres au package
biblatex ;
un driver1 bibliographique. Un driver correspond un type dentre (@article, @book, etc.), et se charge dacher les champs de lentre dans le
bon ordre. Pour cela, il appelle :
1 Bien que le terme driver ne soit pas franais, nous lutilisons car on le trouve dans les
commandes internes de BibLaTeX

121

des commandes de sparation dunits bibliographiques ( p. 115,


14.1) , que nous avons vues plus haut ;
des macros bibliographiques. Ces macros bibliographiques appellent
elles-mmes :
* des commandes dimpression de champs bibliographiques ;
* ventuellement dautres macros bibliographiques ;
* des chanes de langues.
Ceci peut se rsumer par le schma 15.1 (p. 123).

15.2 Rednir une macro bibliographique : exemple


des amps auteur et diteur
Lensemble de ces lments sont entirement rednissables. Nous allons
prendre un exemple concret de problmatique existante.
Prenons lentre suivante :
1

@book{Saxer1980,

Author = {Victor Saxer},

Entrysubtype = {etude},

Location = {Paris},

Publisher = {Beauchesne},

Subtitle = {Les tmoignages de Tertullien, Cyprien

et Augustin la lumire de

l'archologie africaine},

Title = {Morts, martyrs, reliques en Afrique chrtienne

10

aux premiers sicles},

11

Year = {1980}}

Elle sache ainsi, avec lditeur commercial aprs ladresse :


Victor S, Morts, martyrs, reliques en Afrique chrtienne
aux premiers sicles : Les tmoignages de Tertullien, Cyprien et
Augustin la lumire de larchologie africaine, Paris : Beauchesne, 1980
On pourrait souhaiter avoir lditeur avant ladresse, comme ceci :
Victor S, Morts, martyrs, reliques en Afrique chrtienne
aux premiers sicles : Les tmoignages de Tertullien, Cyprien et
Augustin la lumire de larchologie africaine, Beauchesne,
Paris, 1980

Rednir une macro bibliographique

15.2

Commande. de citation

Macros bibliographiques

Impression de champs

Driver bibliographique

Macros bibliographiques

Sparateur
dunit bibliographique

Appel dautre macros

Appel des
chanes de langues

F. 15.1 : Le fonctionnement des styles bibliographiques

123

Chapitre 15

Modier les styles bibliographiques (2)

La premire chose faire va donc tre de reprer quelle macro bibliographique modier. Pour cela, il faut trouver les chiers ( p. 233, C.4) de dnition
des styles bibliographiques. Il en existe plusieurs :
un chier .def qui dnit les styles invariants, quel que soit le style de
bibliographie ou de citation choisi ;
des chiers .cbx qui dnissent les styles utiliss lors de lutilisation des
commandes \prefixcite ;
des chiers .bbx qui dnissent les styles utiliss lors de lappel la commande \printbibliography.
Certains chiers sappellent mutuellement : par exemple les chiers .bbx
contiennent les drivers bibliographiques. Ils sont donc appels par les chiers
.cbx. Ces appels mutuels entre chiers permeent de garantir une uniformit
entre les styles bibliographiques lors de lutilisation de \prefixcite et lors de
lutilisation de \printbibliography.
Nous supposons que vous utilisez les styles de la famille verbose . En
ouvrant les chiers standards ( p. 233, C.4), vous pouvez aisment remonter
au chier standard.bbx, qui contient les drivers bibliographiques de cee famille.
Vous pouvez reprer dedans les lignes suivantes2 :
1

\DeclareBibliographyDriver{book}{%

\usebibmacro{bibindex}%

\usebibmacro{begentry}%

\usebibmacro{author/editor+others/translator+others}%

\setunit{\labelnamepunct}\newblock

\usebibmacro{maintitle+title}%

\newunit

\printlist{language}%

\newunit\newblock

10

\usebibmacro{byauthor}%

11

\newunit\newblock

12

\usebibmacro{byeditor+others}%

13

\newunit\newblock

14

\printfield{edition}%

15

\newunit

16

\iffieldundef{maintitle}
{\printfield{volume}%

17

\printfield{part}}

18

{}%

19
20

\newunit
2 L.

58 au 9 octobre 2011.

124

Rednir une macro bibliographique

15.2

21

\printfield{volumes}%

22

\newunit\newblock

23

\usebibmacro{series+number}%

24

\newunit\newblock

25

\printfield{note}%

26

\newunit\newblock

27

\usebibmacro{publisher+location+date}%

28

\newunit\newblock

29

\usebibmacro{chapter+pages}%

30

\newunit

31

\printfield{pagetotal}%

32

\newunit\newblock

33

\iftoggle{bbx :isbn}

34
35

{\printfield{isbn}}
{}%

36

\newunit\newblock

37

\usebibmacro{doi+eprint+url}%

38

\newunit\newblock

39

\usebibmacro{addendum+pubstate}%

40

\setunit{\bibpagerefpunct}\newblock

41

\usebibmacro{pageref}%

42

\usebibmacro{finentry}

Il sagit dun driver bibliographique expliquant comment acher les entres


de type @book. Il fait appel des macros bibliographiques via les commandes
\usebibmacro. Ces macros sont communes plusieurs drivers, ce qui permet
davoir une certaine uniformit de style, an par exemple que les noms dauteurs
sachent systmatiquement de la mme faon.
Dans le lot des macros appeles, il en existe un qui nous intresse en particulier, lappel la macro publisher+location+date via :
27

\usebibmacro{publisher+location+date}

En fouillant un peu le mme chier, on repre lendroit o la macro est dnie :


1

\newbibmacro*{publisher+location+date}{%

\printlist{location}%

\iflistundef{publisher}

4
5

{\setunit*{\addcomma\space}}
{\setunit*{\addcolon\space}}%

\printlist{publisher}%

\setunit*{\addcomma\space}%

125

Chapitre 15

Modier les styles bibliographiques (2)

\usebibmacro{date}%

\newunit}

Nous allons commenter succinctement ces lignes, avant dexpliquer comment faire pour inverser lordre des deux champs.
Ligne 1

La commande \newbibmacro* indique que lon dclare une nouvelle macro bibliographique, ici publisher+location+date. Pour
indiquer quon rednit une macro dj existante, il faut utiliser dans le prambule3 la commande \renewbibmacro*. La dnition de la macro se trouve dans les accolades qui suivent.

Ligne 2

La commande \printlist indique que lon ache un champ


qui pourrait se prsenter sous forme de liste, cest dire o le
mot clef and a un sens. Ici il sagit du champ location.

Ligne 3

La commande \iflistundef teste un champ qui pourrait tre


une liste, ici le champ publisher. Si ce champ est vide, il excute
le contenu de la premire accolade (ligne 4), sinon celui de la
seconde (ligne 5).

Ligne 4

Si donc le champ publisher est vide, on cre une nouvelle unit bibliographique ( p. 115, 14.1), via \setunit*, spare de
la prcdente par une virgule laquelle sajoute une espace
(\addcomma\space p. 116, 14.1).

Ligne 5

Si le champ publisher nest pas vide, alors on cre une nouvelle unit bibliographique, spare de la suivante par un deuxpoints suivi dune espace (\addcolon\space).

Ligne 6

On imprime le champ publisher.

Ligne 7

On cre une nouvelle unit bibliographique, spare de la prcdente par une virgule suivie dune espace. noter que le
champ publisher tant vide, on na quune seule virgule : nous
renvoyons nos explication antrieure sur les commandes de
ponctuation ( p. 116, 14.1).

Ligne 8

On appelle une macro qui se charge de lachage de la date.

Ligne 9

On cre une nouvelle unit bibliographique. Le signe sparateur est dni par la commande \newunitpunct ( p. 116, 14.1),
vue plus haut.

3 O

ailleurs dans le chier .tex mais en tout cas pas dans les chiers standards.

126

Autres exemples : des vritables op. cit.

15.3

Pour inverser lordre de nos champs, il sut donc de rednir la macro en


inversant lordre dimpression des champs. Au passage, on ne veut plus des deux
points comme sparateurs, ce qui nous permet de supprimer un test conditionnel.

1
2
3

\renewbibmacro*{publisher+location+date}{%
\printlist{publisher}%
\setunit*{\addcomma\space}%

\printlist{location}%

\setunit*{\addcomma\space}%

\usebibmacro{date}%

\newunit}

Prtez bien aention aux % de n de lignes : les oublier signie risquer


davoir des espaces indsirables dans ses rfrences bibliographiques.

Il existe dautres commandes que \printlist pour acher des champs :


pour imprimer un champ contenant des noms de personne, et
\printfield pour imprimer un champ ne ncessitant pas de mise en forme
particulire.
\printname

Pour mieux comprendre quand utiliser lune ou lautre de ces commandes, le mieux est de regarder les chiers standards.

Si vous utilisez le champ address la place du champ location, sachez


que le premier est considr comme un alias du second : autrement dit,
utiliser address revient utiliser location.
On peut dclarer des nouveaux alias de champ via la commande :
\DeclareFieldAlias{alias}{original}.

15.3

Autres exemples : des vritables op. cit.

Un des lments gnants des styles bibliographiques standards de la famille


verbose est leur manire de grer les abrviations universitaires de type op. cit.
En eet, les styles indiquent les op. cit. aprs avoir ach lauteur et le titre. Par
exemple :

127

Chapitre 15

Modier les styles bibliographiques (2)


Hans U, Die ausserbiblische Lesung in Christlichen Gottesdienst, Goingen, 1952
Victor S, Morts, martyrs, reliques en Afrique chrtienne
aux premiers sicles : Les tmoignages de Tertullien, Cyprien et
Augustin la lumire de larchologie africaine, Paris : Beauchesne, 1980
U, Die ausserbiblische Lesung in Christlichen Goesdienst, op. cit.
S, Morts, martyrs, reliques en Afrique chrtienne aux
premiers sicles, op. cit.

Si nous navons quune seule entre dont Victor Saxer est lauteur, cela est
assez inutile. On pourrait avoir une version abrge sous la forme :
Hans U, Die ausserbiblische Lesung in Christlichen Gottesdienst, Goingen, 1952
Victor S, Morts, martyrs, reliques en Afrique chrtienne
aux premiers sicles : Les tmoignages de Tertullien, Cyprien et
Augustin la lumire de larchologie africaine, Paris : Beauchesne, 1980
U, op. cit.
S, op. cit.
Nous allons pour cela modier les styles de biblatex, en utilisant la commande : \ifsingletitle{sioui}{sinon}.
Cee commande vrie si une entre est la seule aribue son auteur, et
renvoie sioui si cest le cas, sinon dans le cas contraire.
Pour la faire fonctionner, il faut passer loption singletitle=true au chargement de biblatex.
1

\usepackage[singletitle=true,...]{biblatex}

Une fois ceci fait, il est ncessaire de savoir o appliquer cee commande.
Commenons par fouiller le chier .cbx, puisquil sagit dun style pour une
commande \prefixcite. Recherchons lexpression opcit qui correspond
la chane de langue ( p. 120, 14.4.1) qui renvoie op. cit. .
On la trouve rapidement dans une macro qui sappelle cite:title.
1
2

\newbibmacro*{cite:title}{%
\printtext[bibhyperlink]{%

\printfield[citetitle]{labeltitle}%

\setunit{\nametitledelim}%

\bibstring[\mkibid]{opcit}}}

128

Autres exemples : des vritables op. cit.

15.3

Procdons lanalyse :
Ligne 1

Le nom de la macro est cite:title.

Ligne 2

La commande \printtext sert deux chose : mere directement un texte en sassurant que biblatex gre la ponctuation ou
bien assembler plusieurs champs dans un seul bloc typographique. Ici, nous avons aaire au second usage : bibhyperlink
signie que biblatex va soccuper de mere un lien hypertexte
lintrieur du document PDF.

Ligne 3

La commande \printfield imprime un champ. Ici le pseudochamp labeltitle : celui-ci renvoie la valeur du champ shortitle
sil est dni, sinon celle de title ( p. 101, 11.5). Il lache
selon le format citetitle4 .

Ligne 4

Nouvelle unit bibliographique, dont le sparateur est dni


par la commande \nametitledelim.

Ligne 5

La commande \bibstring sert appeler une chane de langue,


ici opcit. Le premier argument, dont la valeur est ici \mkibid,
indique que la chane de langue est passe \mkibid avant
dtre ache. Cee commande quon peut rednir se charge
de la mise en forme : nous avons parl plus haut de la manire
de sen servir pour avoir les abrviations latines ( p. 120, 14.4)
en italiques.

La ligne qui nous intresse est donc la ligne 3, puisque nous voulons conditionner lachage du champ titre : sil ny a quune seule uvre pour lauteur
courant, on peut ne pas lacher. Il sut de redclarer la macro, en insrant le
test conditionnel :
1
2
3

\renewbibmacro*{cite:title}{%
\printtext[bibhyperlink]{%
\ifsingletitle{}{\printfield[citetitle]{labeltitle}}%

\setunit{\nametitledelim}%

\bibstring[\mkibid]{opcit}}}

Les diteurs et grants de revues peuvent trs bien dnir leurs propres
chiers .cbx et .bbx pour obtenir un ensemble cohrent de styles. Ces chiers, qui contiennent drivers et macros bibliographiques, doivent commencer par certaines commandes : nous renvoyons la documentation de
biblatex 5 .
4 On

pourrait si on voulait dnir une autre manire dacher ce champ grce la commande

\DeclareFieldFormat. Voir L, Formaing Directives , op. cit.


5 Philipp L, Author Guide , dans : e biblatex Package.

129

Troisime partie

Faciliter la navigation

and on ne sait pas o on va, il faut y aller et le


plus vite possible !
Devise shadok

131

Chapitre 16

Renvois internes
Dans ce court chapitre nous allons nous intresser la manire de faire des renvois
lintrieur dun document. Il sagit de permere dacher des textes du type : Nous
renvoyons au chapitre N. page P.

16.1

tiqueter des emplacements : \label

Pour pouvoir faire des renvois internes, il est ncessaire de placer des tiquees aux endroits vers lesquels on souhaite renvoyer. Cet tiquetage se fait
avec la commande \label{etiquee}.
Lors de la relecture, il peut tre intressant davoir les tiquees aches en marge. On utilisera pour ce faire le package showlabels.

16.2

Se servir des tiquettes

Aprs avoir avoir plac des tiquees, on peut y renvoyer. Il sut dinsrer une commande de renvoi lendroit souhait. Il est toutefois ncessaire de
compiler deux fois avec XELATEX. la premire compilation, XELATEX note les
emplacements des tiquees dans un chier. la seconde compilation, il lit ce
chier an de procder aux renvois.
Si vous modiez votre texte, il faudra de nouveau compiler deux fois.
En eet, les numros de pages, de titres, de lgendes, etc. peuvent avoir
chang. Il faut donc que XELATEX les apprenne nouveau. En rsum, pour
avoir un document correct il faut :
1. Compiler avec XELATEX ;
2. Compiler avec Biber an dajouter les rfrences bibliographiques ;

133

Chapitre 16

Renvois internes

3. Compiler avec XELATEX ;


4. Re-compiler avec XELATEX, car lajout des rfrences bibliographiques
a pu modier le positionnement des tiquees.
Tout ceci peut paratre bien compliqu et risque dentraner des oublis.
Cest pourquoi il est conseill dutiliser le programme latexmk dont nous
parlons en annexe ( p. 235, D).

16.2.1 Renvoyer une page


Pour renvoyer au numro de page correspondant ltiquee etiquee, on
utilise la commande \pageref{etiquee}.
1

blabla \label{etiquette}

Nous renvoyons la page~\pageref{etiquette}.

16.2.2 Renvoyer un numro de section


Pour renvoyer un numro de section, on utilise la commande \ref.
1

\section{Section} \label{etiquette}

Nous renvoyons la section~\ref{etiquette}.

16.2.3 Renvoyer un titre de section


Pour renvoyer un titre de section, on utilise la commande \nameref.
1

\section{Section} \label{etiquette}

Nous renvoyons la section

\enquote{\nameref{etiquette}}.

Toutefois cee commande nest pas disponible en standard : elle est propose
par le package hyperref . Il faut donc charger ce package dans le prambule. Nous
documentons plus loin quelques fonctionnalits de ce package ( p. 141, 17.6).

16.3 O placer la commande \label ?


Pour le moment, nous navons vu que des renvois vers des sections, mais le
systme de renvois est beaucoup plus souple.
Une tiquee permet de renvoyer tout lment numrot, comme un titre,
une note de bas de page, une lgende de oant. Elle peut aussi renvoyer un
endroit prcis en indiquant la page.
134

Comment nommer ses tiquees ?

16.4

Si ltiquee \label est place dans une commande dlment numrot, elle renvoie cet lment. Par exemple, pour renvoyer une gure
( p. 70, 8.4) :
\begin{figure}[paramtre de placement]

Insertion de la figure

\caption{Lgende\label{figure}}

3
4

\end{figure}

Nous renvoyons la figure~\ref{figure} situe p.~\pageref{figure}.

Si la commande est place ailleurs, elle renvoie la page courante et la


section courante1 .

16.4

Comment nommer ses tiquettes ?

Vous tes bien sr libre de trouver votre propre systme de dnomination


des tiquees. Toutefois il est conseill davoir quelque chose de la forme :
forme:nom, o forme dsigne le type dlment vers lequel on renvoie.
Exemples :
1

\footnote{Blabla \label{note:nom}}

\section{Titre \label{section:nom}}

1 En ralit il est possible de la placer immdiatement aprs un lment numrot pour y renvoyer, mais cela ne sapplique pas aux notes de bas de pages.

135

Chapitre 17

Sommaire et table des


matires
Dans ce chapitre nous verrons comment gnrer un sommaire ou une table des matires.
Nous en proterons pour tudier la manire de modier les chanes de langue de polyglossia,
ainsi que pour aborder la notion de compteur en LATEX. Nous indiquerons galement les bases
de la conguration du package hyperref, qui permet, entre autres, de proposer des signets
dans le PDF gnr.

17.1

Une table simple

La manire la plus simple de faire une table des matires est dutiliser la
commande \tableofcontents. Pour que XELATEX puisse acher cee table des
matires, il est ncessaire de compiler deux fois : lors de la premire compilation,
XELATEX stocke le contenu de la table des matires dans un chier .toc ; lors de la
seconde compilation, il se sert de ce chier pour acher la table des matires.
En rgle gnrale, cee double compilation nest gure gnante, puisquelle est
dj ncessaire lors de lutilisation dune bibliographie ( p. 76, 9.2).
La table des matires prend elle-mme un certain volume dans le corps
du texte. Par consquent si votre table des matires se trouve en dbut douvrage il serait alors plus juste de lappeler sommaire elle dcale la
pagination lors de son achage. Cest pourquoi il faut parfois compiler
trois fois :
1. La premire fois, XELATEX stocke les informations dans le chier .toc.
2. La seconde fois, la table des matires sache, dcalant la numrotation des pages. XELATEX stocke les nouveaux numros de pages dans
le chier .toc.

137

Chapitre 17

Sommaire et table des matires

3. La troisime fois, la table des matires avec les bons numros de page
sache. Comme sa longueur nest pas dirente de la prcdente, il
ny a cee fois pas de dcalage des numros.
Pour personnaliser lapparence de la table des matires, on peut utiliser
le package titletoc.

17.2 Choisir la profondeur de la table des matires :


la notion de compteur
Par dfaut la commande \tableofcontents ache tous les niveaux de titre,
depuis \part jusquau \subparagraph ( p. 29, 3.1). Il est possible de restreindre
la profondeur, ou au contraire de ltendre ; il sut de rednir un compteur
LATEX : tocdepth.
Un compteur LATEX est un nombre entier stock dans la mmoire vive de
lordinateur. Un compteur peut tre appel certains endroits et peut galement
tre modi. Typiquement, un compteur est associ un lment numrot.
Il existe par exemple un compteur page correspondant au numro de la page,
incrment chaque changement de page et utilis pour acher le numro de
page.
Dans notre cas, le compteur tocdepth nest pas automatiquement modi.
En revanche il sert lors de lachage de la table des matires. Chaque niveau de
titre possde un numro ( p. 30, 3.1). La commande \tableofcontents ache
les niveaux de titre dont le numro est infrieur ou gal la valeur du compteur
tocdepth.
Le niveau \subsubsection a comme numro 3. Pour acher dans la table
des matires tous les niveaux de titres jusquau niveau \subsubsection inclus,
il faut donc aecter la valeur 3 tocdepth. On le fait en utilisant la commande
\setcounter :
1

\setcounter{tocdepth}{3}

\tableofcontents

17.3 Table des matires ou sommaire ? Les anes


de langues de polyglossia
Selon lusage franais, une table des matires se situe en n douvrage, un
sommaire en dbut douvrage. Par dfaut la commande \tableofcontents indique que nous avons aaire une table des matires et non un sommaire . Comment avoir le terme sommaire ? Il sut de rednir la chane
de langue.
138

Table des gures et table des tableaux

17.4

Nous avons dj vu la notion de chane de langue ( p. 118, 14.4) pour la


bibliographie. Il sagit ici dune ide similaire, mais pour le package polyglossia.
La syntaxe est toutefois dirente. Comme pour les chanes de langue de la bibliographie, il faut commencer par dcouvrir quel est llment modier, en
cherchant cee fois dans le chier french.ldf ( p. 233, C.4). Vous pouvez reprer une ligne contenant \def\captionsfrench{%. Cee ligne est suivie dautres
lignes sous la forme : \def\chaine{Valeur}, qui senchanent jusqu une accolade fermante.
Pour notre cas, on repre la ligne contenant :
\def\contentsname{Table des matires}%

Notre chane de langue est donc \contentsname.


Pour rednir une chane de langue, il sut dcrire, de prfrence dans le
prambule :
1

\gappto\captionsfrench{\renewcommand{<\chaine>}{Valeur}}

Dans le cas prsent, cela donne :


1

\gappto\captionsfrench{\renewcommand{\contentsname}{Sommaire}}

La commande \def permet de crer de nouvelles commandes. Toutefois


la dirence de la commande \newcommand, les commandes ainsi cres
appartiennent TEX et non pas LATEX ( p. 12, 1.3).
Dnir des commandes en TEX et non en LATEX permet plus de souplesse. Mais cela demande plus de matrise technique pour viter divers
problmes, comme par exemple des erreurs de compilation. Cest pourquoi
nous nen parlons pas dans ce livre, sauf ponctuellement.
Les commandes TEX peuvent contenir des sous-commandes . Ici
par exemple, la commande \captionsfrench contient la sous-commande
\contentsname. Nous utilisons la commande \gappto pour injecter une souscommande dans une commande dj dnie.
La commande \gappto nest une commande standard ni de TEX ni de
LATEX. Elle est dnie par le package etoolbox, qui est lui mme appel par
polyglossia.

17.4

Table des gures et table des tableaux

En plus de la table des matires, LATEX permet dacher une table des tableaux et une table des gures. Il est ncessaire, pour que ces tables soient constitues, que les tableaux et gures aient une lgende ( p. 70, 8.4).
Pour la table des tableaux, il faut utiliser la commande \listoftables et pour
celle des gures \listoffigures.
139

Chapitre 17

Sommaire et table des matires

17.5 Plusieurs tables des matires


La commande \tableofcontents ne fonctionne quune seule fois dans un
document LATEX. Comment faire si on souhaite avoir un sommaire et une table
des matires, ou bien une table des matires la n de chaque partie ?

17.5.1 Un sommaire en plus dune table des matires


Bien que cee pratique soit un peu dsute et rarement utile, on peut souhaiter avoir une table des matires en n de travail et un sommaire en dbut.
On utilise alors le package shoroc. Celui-ci dnit une commande \shorttoc
{titre}{niveau}.
Pour un sommaire qui ne reprendrait que les niveaux de section et de chapitre, il sut donc dcrire :
1

\shorttoc{Sommaire}{0}

17.5.2 Sommaires partiels


Si lon dsire mere un sommaire au dbut de chaque chapitre, il faut utiliser
le package minitoc 1 en lui passant loption fren. On doit alors activer les minisommaires grce la commande \dominitoc :
1

\usepackage[french]{minitoc}

\dominitoc

Pour acher les mini-sommaires il faut placer la commande


endroits voulus, par exemple aprs chaque titre de chapitre.
1

\chapter{A}

\minitoc

\chapter{B}

\minitoc

\minitoc

aux

Le package ne peut calculer correctement les sommaires que si la commande \tableofcontents est utilise. Si vous souhaitez nacher que des
mini-sommaires mais pas de table gnrale des matires ce qui est une
ide assez trange vous pouvez utiliser \faketableofcontents la place
de \tableofcontents.

Pour acher des mini-sommaires par parties, il faut utiliser la commande


Par exemple :

\parttoc.

1 Jean-Pierre

D, e minitoc package.

140

Des signets dans le PDF : le package hyperref


1

\part{A}

\parttoc

\chapter{1}

\chapter{2}

\part{B}

\parttoc

17.6

Le package minitoc est trs complexe et contient de nombreuses subtilits ;


il permet par exemple de choisir facilement les styles du sommaire. Nous renvoyons au manuel pour plus de dtails2 .

17.6

Des signets dans le PDF : le paage hyperref

Certains PDFs proposent des signets qui permeent daccder rapidement


un endroit prcis du document3 . Il est possible avec LATEX dobtenir un PDF
contenant des signets correspondant aux dirents niveaux de titre. Pour ce
faire il faut utiliser le package hyperref .
Ce package propose de nombreuses fonctionnalits : nous avons vu quil
permeait notamment de crer des renvois vers les titres de sections ( p. 134,
16.2.3). Mais il introduit aussi des liens cliquables en interne, par exemple entre
un appel de note de bas de page et la note correspondante. Il permet aussi de
congurer un certain nombre de mta-donnes du document PDF.

17.6.1

Signet de navigation

Pour gnrer des signets correspondant au plan du travail, il sut simplement dappeler le package et de compiler deux fois ce qui est de toute faon
ncessaire pour obtenir la table des matires.
Un problme se pose toutefois lorsque lon utilise un titre non numrot
( p. 30, 3.1.1). En dpit de la commande \addcontentsline, ce titre nest pas
ajout dans la liste des signets. Il faut en fait faire prcder cee commande de
\phantomsection.
1

\phantomsection

\addcontentsline{toc}{chapter}{Introduction}

\chapter*{Introduction}
2 Notamment Jean-Pierre D, Typeseing of the mini-tables , dans : e minitoc package.
3 Lutilisation concrte de ces signets dpend du lecteur PDF.

141

Chapitre 17

Sommaire et table des matires

17.6.2 Rglage des liens


Par dfaut, hyperref encadre en rouge les liens hypertextes. Ces cadres napparaissent pas limpression.
On peut vouloir les faire disparatre aussi du document PDF. Il faut alors
indiquer :
1. e nous voulons que les liens soient colors et non encadrs.
2. e nous voulons que la couleur soit le noir. En eet la couleur des liens
est conserve limpression, contrairement la couleur des cadres.
Nous allons pour cela utiliser la commande \hypersetup dans le prambule.
La commande prend comme argument des paramtres du package, spars par
des virgules. Pour notre cas, les arguments ncessaires sont :
1

\hypersetup{colorlinks=true,

citecolor=black,

filecolor=black,

linkcolor=black,

urlcolor=black}
colorlinks=true indique que nous colorons les liens au lieu de les entourer.
Pour hyperref il existe plusieurs types de liens dont la couleur est congurable.
Ici nous indiquons quil faut mere en noir les types de liens suivants :

les liens de renvois dune rfrence bibliographique abrge la rfrence


complte ;
les liens appelant des chiers externes au PDF ;
les liens internes (notes de bas de pages, renvois) ;
les liens externes.

142

Chapitre 18

Index
Dans ce chapitre nous verrons comment faire un ou plusieurs index1 .

18.1

Faire un index simple avec imakeidx

18.1.1

Principe de base

Pour indexer un document, il faut utiliser le package imakeidx et placer dans


le prambule la commande \makeindex2 .
1

\usepackage{imakeidx}

\makeindex

Indexer son document


On indexe son document avec la commande \index{entre}. Lentre apparat dans lindex sous la forme indique par largument entre, suivie du
numro de la page o cee commande est place dans le texte.
Dans lexemple qui suit3 , lindex comporte ainsi cinq entres : Charlemagne , Adrien , Tassilon , Formose et Damase :
1

Tandis que Charle\index{Charlemagne} tait Rome, il convint

avec le pape Adrien\index{Adrien} quils enverraient de concert


1 Je

remercie ma sur Enimie pour lavoir rdig en grande partie.


imakeidx remplace la fois le makeindex et le splitindex, dont il reprend les commandes.
Il est plus simple utiliser, notamment pour la mise en page de lindex 25, et ne ncessite quune
compilation, contrairement ses prdcesseurs. Pour obtenir des informations sur les commandes
dindexation, il faut consulter les manuels de makeindex et de SplitIndex.
3 , Annales, Anne 781, dans : Collection des mmoires relatifs lhistoire de France, trad.
par Franois G, Paris : Brire, 1824, p. 23.
2 Le

143

Chapitre 18

Index

des ambassadeurs Tassilon, duc de Bavire\index{Tassilon}

\textelp{}

Les hommes choisis et envoys dans cette ambassade furent, de

la part du pape, les vques Formose\index{Formose} et

Damase\index{Damase}\textelp{}.

Lorsquune entre est rfrence deux fois dans la mme page, cee page
nest indique quune seule fois.
Il vaut mieux accoler la commande \index{entre} directement au
mot indexer, sans laisser despace, pour viter toute ambigut en cas de
changement de page.

Lindexation dun texte nest pas automatique. Il faut placer \index{entre}


chaque endroit que lon veut rfrencer. On peut bien sr crer une commande
spcique pour combiner lindexation avec dautres actions.
Ainsi, pour indexer automatiquement tous les noms propres dun texte, dclarons la commande suivante :
1

\newcommand\auteur[2]{#1~\textsc{#2}\index{#2, #1}\xspace}

Il sut ensuite, au cours de la rdaction de son texte, de frapper, par exemple,


\auteur{Victor}{Hugo} pour obtenir Victor H dans le corps de son texte,

index sous lentre Hugo, Victor .


Gnrer lindex
Si notre chier principal sappelle exemple.tex, la commande \makeindex indique LATEX, lors de la compilation avec XELATEX, de crer un chier exemple.idx,
contenant la liste de toutes les entres. LATEX gnre aussi un chier exemple.ilg
qui contient les messages de compilation de lindex, et un chier exemple.ind
qui contient lindex format. Lindex apparat dans le document lemplacement
que lon a indiqu par la commande \printindex.

18.1.2 Allons plus loin


Crer des subdivisions
Il est possible, avec imakeidx, de crer des subdivisions et des subsubdivisions pour chaque entre de lindex. La subdivision se cre de la manire
suivante : \index{entre!sous-entre}. La sous-sous-entre, logiquement, se
cre ainsi : \index{entre!sous-entre!sous-sous-entre}. On ne peut cependant avoir que ces trois niveaux dindexation.
On peut ainsi rfrencer autrement notre premier exemple, en crant les
entres vques et Ducs que lon subdivise :
144

Faire un index simple avec imakeidx

18.1

Tandis que Charle\index{Charlemagne} tait Rome, il convint

avec le pape Adrien\index{Adrien} quils enverraient de concert

des ambassadeurs Tassilon, duc de Bavire\index{Ducs !Tassilon}.

\textelp{}

Les hommes choisis et envoys dans cette ambassade furent, de la

part du pape, les vques Formose\index{vques !Formose}

et Damase\index{vques !Damase}\textelp{}.

Supposons que ce texte soit la page 5 ; on obtient ainsi dans lindex :


Adrien, 5
Charlemagne, 5
Ducs
Tassilon, 5
vques
Damase, 5
Formose, 5
Bien entendu, on pourrait encore rajouter une subdivision, en distinguant
par exemple Clercs et Lacs , et dans la premire catgorie en distinguant
vques et Papes .
Faire des rfrences croises
Pour quune entre dans lindex renvoie une autre entre, on utilise la
commande \index{entre|seeentre laquelle on renvoie}.
Ainsi, \index{Tassilon|see{Ducs}} donne dans lindex :
Tassilon, voir Ducs
La traduction de see change selon la langue indique comme \setmainlanguage
( p. 22, 2.2.3).
Crer des entres sur plusieurs pages
Si lon veut rfrencer dans lindex non pas un mot mais un passage, il faut
placer la commande \index{entre|(} au dbut du passage indexer et la commande \index{entre|)} la n. Si le passage commence la page x et se
termine la page y, on obtient dans lindex :
entre x-y
145

Chapitre 18

Index

Entres formates
Lindexation avec LATEX ne gre pas correctement les accents indiqus dans
largument de la commande \index : il classe les mots commenant par un accent la n de lindex. La syntaxe \index{entre@entre formate} permet
de rsoudre ce problme. Ainsi, si lon veut crer une entre crivains , qui
soit trie e , il faut insrer \index{ecrivains@crivains}.
La commande \index{entre@entre formate} permet donc de classer
une entre o lon veut dans lindex. Pour faire apparatre, par exemple, les empereurs romains dans lordre chronologique et non dans lordre alphabtique,
on peut utiliser les commandes suivantes :
1

\index{Empereurs !empereur1@Auguste}

\index{Empereurs !empereur2@Tibre}

\index{Empereurs !empereur3@Claude}

et ainsi de suite.

On obtient alors :
Empereurs
Auguste, x
Tibre, y
Claude, z
Cee syntaxe est aussi utile pour mere en vidence une entre dans lindex en modiant son aspect : \index{entre@\textbf{entre formate}}, fait
apparatre lentre en gras dans lindex. Ceci est valable pour toutes les commandes agissant sur la fonte. Modions ainsi comme suit la commande \auteur
que lon a cre prcdemment ( p. 144, 18.1.1) :
1
2

\newcommand{\auteur[2]}{%
#1~\textsc{#2}\index{#2 #1@\textsc{#2}, #1}\xspace}

Dsormais, mere \auteur{Victor}{Hugo} produit dans lindex H, Victor .


Formater le numro des pages
Il peut arriver, lorsquune entre est trs souvent reprsente dans un texte
index, que lon veuille mere en valeur une de ses occurrences, en faisant apparatre en gras dans lindex le numro de la page o elle se situe : on utilise
alors la commande \index{entre|textbf}.
Il sagit bien de |textbf, non de |\textbf.

146

Faire un index simple avec imakeidx

18.1

De mme pour faire apparatre le numro de la page en italique utilise-t-on


la commande \index{entre|textit}.
Si vous utilisez le package hyperref , vous constaterez que celui-ci insre des liens hypertextes vers les pages au sein de lindex. Toutefois si une
de ces pages est formate, le lien disparat. Nous expliquons sur notre site
comment viter ce problme4 .

18.1.3

elques options du paage imakeidx

La commande \makeindex peut recevoir des arguments optionnels sous la


forme \makeindex[clef=valeur] ; sil y a plusieurs arguments, ils doivent tre
spars par une virgule. En voici trois5 :
title

Permet de changer le nom de lindex, qui par dfaut est Index . Par exemple, le code suivant permet davoir un index
intitul Index rerum
1

columns

\makeindex[title = Index rerum]

Indique le nombre de colonnes. Par dfaut, lindex est en


deux colonnes. Si lon veut un index en une seule colonne,
il sut de mere :
1

intoc

\makeindex[title = Index rerum, columns = 1]

Indique si lindex doit apparatre ou non dans la table des


matires. Par dfaut, lindex napparat pas dans la table des
matires. Pour ly mere, il sut dajouter cet argument dans
la liste.
1

\makeindex[title = Index rerum, columns = 1, intoc]

Il existe une autre commande, la commande \indexsetup, qui peut, elle aussi, recevoir plusieurs arguments sous la forme {clef=valeur}. Voici ceux qui
peuvent tre utile lorsque lon na quun index (nous en verrons quelques autres
la section suivante) :
level
4 Maeul

Indique le niveau de division (section, chapitre, etc) auquel


correspond lindex. Par dfaut, il sagit de \chapter*.
R, Pages en gras avec un lien hypertexte dans un index, :

http : / /

geekographie.maieul.net/59.
5 Nous en verrons un quatrime pour les index multiples, et un autre lorsque nous voquerons le

formatage de lindex. Pour une liste exhaustive, voir Claudio B et Enrico G, Package
imakeidx.

147

Chapitre 18

Index

toclevel

Indique le niveau de division (section, chapitre, etc) auquel


correspond lindex dans la table des matires. linverse de
largument prcdent, il ny a pas de contre-oblique :
1

\indexsetup[level=\section*, toclevel=section]

Pour terminer, voici la commande \indexprologue[espace]{texte} qui


permet de mere un prologue avant lindex. La commande se place juste avant
\printindex6 . Largument espace (par dfaut \bigskip) indique lespace entre
le prologue de lindex et la premire entre ; il doit contenir une commande despacement vertical ( p. 209, 24.1). Largument {texte} contient le prologue en
lui mme. Par exemple, pour un index des notions :
1

\indexprologue{Les numros en gras renvoient aux dfinitions de notions.}

\printindex

18.2 Faire plusieurs index


18.2.1 Dnir ses index
Le package imakeidx permet de faire plusieurs index pour un mme document. La premire tape consiste dnir ces index. On les dclare dans le prambule en utilisant pour chaque index la commande \makeindex, dj tudie.
Chaque index reoit un nom abrg ne pas confondre avec son titre qui
permera ensuite dindiquer quel index appartient telle entre indexe dans
votre document. Le nom abrg de lindex est indiqu comme option la commande \makeindex.
Ainsi, pour faire un index des noms propres et un index gnral, on peut
dclarer :
1

\makeindex[title=Index principal]

\makeindex[name=npr, title=Index des noms propres]

On remarque ici quaucun nom na t donn lindex principal : dans ce


cas, le nom abrg est automatiquement idx . la compilation, seront cres,
en plus des chiers exemple.idx, exemple.ilg et exemple.ind, les chiers npr.idx,
npr.ilg et npr.ind.

18.2.2 Indexer son texte


Une fois les index dclars, il faut passer lindexation proprement dite. Le
principe est le mme que pour un seul index, mais au lieu de \index{entre},
on utilise : \index[nom abrg]{entre}.
6 Il

peut y avoir autant de prologues que dindex.

148

Indexer ses sources

18.3

Toutes les entres indiques par \index{entre} sans largument nom


abrg, sont automatiquement places dans lindex gnral idx .

On peut ainsi indexer notre texte dginhard de la faon suivante :


1

\index{Charles et la papaut|(}

Tandis que Charle\index[npr]{Charlemagne} tait Rome, il convint

avec le pape Adrien\index[npr]{Adrien} quils enverraient de concert

des ambassadeurs Tassilon, duc de Bavire\index[npr]{Tassilon}

\textelp{}

Les hommes choisis et envoys dans cette ambassade furent, de

la part du pape, les vques Formose\index[npr]{Formose} et

Damase\index[npr]{Damase}()\index{Charles et la papaut|)}.

18.2.3

Imprimer les index

Pour imprimer un index, il sut dutiliser la commande \printindex en lui


passant le nom abrg de lindex en option. Ainsi, pour imprimer lindex gnral
suivi de celui des noms propres :
1

\printindex

\printindex[npr]

Si lon veut regrouper tous les index en un seul chapitre dont chaque
index est une section, on utilisera la commande \indexsetup. On peut lui
passer comme option [noclearpage], pour viter que chaque index commence une nouvelle page. Bien sr, chaque index peut avoir son propre
prologue. Voici un exemple :
1

\indexsetup{level=\section*,toclevel=section,noclearpage}

...

\chapter*{Indices}

\indexprologue{Les numros en gras renvoient aux dfinitions de notions.}

\printindex

6
7

\indexprologue{Les auteurs anciens sont indiqus en italiques.}

\printindex[npr]

18.3

Indexer ses sources

Nous allons maintenant voir comment utiliser les possibilits de biblatex et


de imakeidx pour tablir un index des sources primaires.
Pour comprendre cee section, vous devez vous tre familiaris avec les indications sur les macros bibliographiques ( p. 121, 15.1).
149

Chapitre 18

Index

18.3.1 Premier essai


La documentation de biblatex 7 nous informe quil existe au chargement du
package une option indexing qui permet dindexer automatiquement les rfrences bibliographiques. Comme nous ne souhaitons indexer que les rfrences
appeles par les commandes \prefixcite et non celles appeles par la commande \printbibliography nous aribuons la valeur cite cee option.
1

\usepackage[indexing=cite]{biblatex}

tant donn quil faut la fois interprter le chier .bib et faire un index,
nous devons procder aux compilations dans lordre suivant :
1. Compilation avec XELATEX.
2. Compilation avec Biber.
3. Compilation avec XELATEX pour que les donnes bibliographiques soient
intgres dans lindex.
On constate cependant deux problmes :
1. La bibliographie se trouve mle aux autres entres de lindex.
2. Plus grave : nous avons des entres pour les auteurs et des entres pour
les titres, au lieu davoir des entres sous la forme : Auteur!Titre.
En outre nous aimerions :
1. Limiter lindexation aux sources primaires.
2. Indexer aussi, comme troisime niveau dindex, le champ titleaddon qui
nous sert pour les divisions de source ( p. 112, 13.4).

18.3.2 Cration dun index spcique


Pour crer un index spcique aux sources, rien de particulier : il sut dutiliser imakeidx et la commande \makeindex :
1

\makeindex[name=sources,title=Sources]

18.3.3 Modications des macros de biblatex


Nous avons donc notre index spcique. Mais encore faut-il que nous disions
biblatex dy crire son index. Pour ce faire nous allons dabord rednir la
macro citeindex qui est appele chaque commande \prefixcite.
7 L,

Package Options , op. cit.

150

Indexer ses sources


1
2
3

18.3

\renewbibmacro{citeindex}{%
\ifciteindex{%
\indexnames[sources]{author}%

\indexfield[sources]{indextitle}%

\indexfield[sources]{titleaddon}%

\index[sources]{---}%

}%

{}}

ligne 2

la commande \ifciteindex vrie que loption indexing de biblatex est bien gale true ou bien cite : ce qui suit entre
accolades est excut si tel est le cas.

ligne 3

nous indexons le champ author. Nous utilisons le format dindexation sources.

ligne 4

nous indexons le champ indextitle. Ce champ spcial sert


avoir dans lindex un autre titre que dans le corps du document. Si ce champ est vide biblatex utilise la place le champ
title. Nous utilisons le format dindexation sources.

ligne 5

nous indexons le champ titleaddon. Nous utilisons le format


dindexation sources.

ligne 6

une des limitations de biblatex est quil ne peut indexer quun


seul champ la fois, et nest pas capable, pour le moment, de
produire des entres dindex plusieurs niveaux. Avec cee
macro citeindex, on obtient une indexation spare pour chaque champ des entres indexes. Or nous voudrions obtenir
une indexation correspondant la commande :
1

\index{auteur !titre !titleaddon}

Cest pourquoi nous avons conu un script dans le langage python8 , qui concatne dans le chier .idx les trois indexations
en une seule. Mais avant dutiliser ce script, il faut indexer une
fausse valeur, la valeur ---, qui empchera le script dindexer
tous les champs dune entre : nous ne voulons pas obtenir une
entre de la forme :
\index{author !title !titleaddon !author2 !title2 !}

Toutefois, ce script python doit tre excut avant que LATEX ne


transforme le chier .idx en chier .ind. Cee transformation
est faite automatiquement par le package imakeidx. Cependant,
8 Nous

expliquons plus loin comment sen servir ( p. 153, 18.3.5).

151

Chapitre 18

Index
nous pouvons dsactiver cet automatisme pour un index particulier, dans le cas prsent pour lindex sources. Pour ce faire,
il nous sut de passer loption noautomatic la commande
\makeindex :
1

\makeindex[name=sources,title=Sources,noautomatic]

Il nous faudra alors, aprs lexcution du script python, compiler le chier sources.idx avec le script MakeIndex, an de produire un chier sources.ind :
makeindex sources.idx

Aprs cela, la compilation avec XeLaTeX ache correctement lindex.

18.3.4 Fomat dindexation biblatex


Nous avons dit que nous utilisions le format dindexation sources. Un format
dindexation biblatex est simplement la description de lopration que biblatex
eectue lorsquil doit indexer un champ. Il nous faut donc dnir ce format grce
aux commandes \DeclareIndexNameFormat et \DeclareIndexFieldFormat.
Indexation des noms
1

\DeclareIndexNameFormat{sources}{%

\usebibmacro{index:name}{\index[sources]}{#1}{#3}{#5}{#7}

Nous indiquons en premire ligne que nous dclarons un format dindexation sources pour les noms propres. Dans la ligne suivante, nous dclarons ce
que nous faisons : nous appelons une macro index:name.
Cee macro est dj dnie par biblatex. Elle reoit plusieurs arguments. Le
premier argument est la commande excuter : ici \index[sources], qui permet
dindexer dans lindex sources dni plus haut. Les autres arguments sont repris
des codes de biblatex et dsignent les direntes parties du nom indexer9 .
Indexation des autres amps
1

\DeclareIndexFieldFormat{sources}{%

\ifcurrentfield{indextitle}{\index[sources]{#1@\emph{#1}}}%

{\index[sources]{#1}}%

}
9 Nous renvoyons le lecteur la documentation de biblatex : Philipp L, Formaing
Directives , dans : e biblatex Package.

152

Indexer ses sources

18.3

La commande \DeclareIndexFieldFormat sert dclarer la manire dindexer les champs qui ne sont ni des listes ni des noms. La valeur #1 correspond
la valeur du champ indexer. En deuxime ligne, nous vrions grce la
commande \ifcurrentfield, que le champ est indextitle : si cest le cas, nous
lindexons dans lindex source en meant lemphase sur le titre pour lachage
nal. Sinon, nous lindexons simplement dans lindex source.

18.3.5

Compilation et concatnation des index

Aprs la compilation XELATEX, nous obtenons un chier sources.idx. Si vous


louvrez vous constaterez que nous avons des entres sous la forme :
1

\indexentry{Author}{page}

\indexentry{Titleindex@\emph

\indexentry{Titleaddon}{page}

\indexentry{---}{page}

{Titleindex}}{page}

Nous souhaitons remplacer ces entres par des entres sous la forme :
1

\indexentry[sources]{Author@Author !Titleindex@

\emph

{Titleindex} !Titleaddon@Titleaddon}{page}

Lauteur de ces lignes a dvelopp un script permeant dautomatiser cee


transformation. Par ailleurs ce script modie galement lordre de tri pour tenir
compte des accents.
Pour utiliser ce script, il vous faut :
Avoir le logiciel Python install sur votre ordinateur. Ce logiciel est install en standard sous Mac Os X et sur la plupart des distributions Linux,
mais pas sous Windows10 .
Tlcharger le chier https://github.com/maieul/indexation-sources/
zipball/stable, le dcompresser.
Mere les chiers index.py et roman.py dans le rpertoire du chier .idx.
Ouvrir le chier index.py et modier la ligne 8 en remplaant xxx.idx par
le nom du chier concatner, en loccurence sources.idx.
En ligne de commande ( p. 231, C) se rendre dans le rpertoire, puis
frapper lentre : python index.py.
Aprs cee concatnation nous devons compiler lindex sources en ligne
de commande, via le script MakeIndex :
makeindex sources
10 Python

for windows, : http://www.python.org/download/windows/.

153

Chapitre 18

Index

18.3.6 Ranement
Nous souhaitons nindexer que les sources primaires. La solution la plus
simple est dutiliser dans le chier .bib un champ personnalis usera. Le package
biblatex permet en eet lutilisateur dutiliser librement un certain nombre
de champs11 . Dans ce champ, mere 1 si lentre est une source primaire, 2 si
lentre est une source secondaire.
Il nous sut de modier la macro citeindex, en introduisant un test (ligne 3)
sur la valeur du champ usera, grce la commande \iffieldequalstr.
1

\renewbibmacro{citeindex}{%

\ifciteindex{%

\iffieldequalstr{usera}{1}{%
\indexnames[sources]{author}%

4
5

\indexfield[sources]{indextitle}%

\indexfield[sources]{titleaddon}%

\sindex[sources]{---}%
}{}}%

{}}

18.3.7 Rsum des diverses compilations


Pour obtenir un index des sources primaires, une fois tous les chiers mis
en place, il nous faut donc procder dans le terminal aux oprations suivantes :
1.

xelatex xxx.tex

2.

biber xxx

3.

xelatex xxx.tex12

4.

python index.py

5.

makeindex sources

6.

xelatex xxx

videmment, il peut tre fastidieux de se souvenir de lensemble de ces


oprations, de les faire et refaire
Il existe un programme nomm latexmk qui permet dautomatiser ce
genre dopration : nous en parlons en annexe ( p. 235, D).

11 La liste de ces champs est fournie dans Philipp L, Custom Fields , dans : e biblatex
Package.
12 Si un sommaire se situe en dbut douvrage, il peut tre ncessaire de compiler plusieurs fois.

154

atrime partie

Autres outils pour les sciences


humaines

Le golf ? Un sport ou lon doit tenter de controler une


balle avec des outils tout a fait inadaptes a cet eet.
omas Woodrow W, Prsident des tats-Unis
dAmrique

155

Chapitre 19

Gestion des rfrences


bibliques avec Bibleref
On peut videmment considrer la Bible comme une rfrence bibliographique comme
une autre, et inclure ses livres dans la bibliographie gnrale. La prsentation dune rfrence biblique dire toutefois bien souvent de celle dune rfrence bibliographique. Cest
pourquoi on peut utiliser le package bibleref et sa traduction bibleref-french.

19.1

Chargement du paage et options

Pour que nos rfrences bibliques soient en franais, il sut simplement


dappeler le package bibleref-french. Celui-ci charge alors le package bibleref .
1

\usepackage{bibleref-french}

Au cours de la rdaction de ce livre, ce package a t amlior. Nous


documentons certaines de ces amliorations.
Veillez donc avoir la dernire version du package, en procdant, si
besoin, une mise jour ( p. 225, A.5).

19.1.1

Forme catholique ou protestante

Le livre que les protestants appellent sae est appel Isae chez
les catholiques. Pour choisir la forme protestante, il sut de passer loption
protestant lappel du package. Le package uniformise les rfrences.
1

\usepackage[protestant]{bibleref}

157

Chapitre 19

Gestion des rfrences bibliques avec Bibleref

19.1.2 Styles de rfrences


Les ditions de la Bible divergent parfois sur la manire dacher une rfrence biblique. En outre, les rfrences peuvent sacher tantt en version
abrge, tantt en version complte. Cest pourquoi il existe plusieurs styles de
rfrences bibliques.
On choisit son style par la commande \biblerefstyle{style}, de prfrence dans le prambule, ou bien par une option de package :
1

\usepackage[<style>]{bibleref}

La liste des styles est prsente dans le tableau ci-dessous :


Style
default
defaultshorter
jerusalem
colombe
colombefull
NBS
NBSfull
TOB
TOBfull
text

Exemple
2 Corinthiens 12, 15 ; 7 ; Qohlet 1, 3 ;
2, 5 ; Isae 10
2 Co 12, 15 ; 7 ; Qo 1, 3 ; 2, 5 ; Is 10
2 Co 12 15, 7 ; Qo 1 3 ; 2 5 ; Is 10
2 Co 12.15,7 ; Qo 1.3 ; 2.5 ; Es 10
2 Corinthiens 12.15,7 ; Qohlet 1.3 ;
2.5 ; sae 10
2 Co 12.1-5,7 ; Qo 1.3 ; 2.5 ; Es 10
2 Corinthiens 12.1-5,7 ; Qohlet 1.3 ; 2.5 ;
sae 10
2 Co 12.1-5, 7 ; Qo 1.3 ; 2.5 ; Es 10
2 Corinthiens 12.1-5, 7 ; Qohlet 1.3 ;
2.5 ; sae 10
Deuxime ptre aux Corinthiens, chapitre douze verset un cinq, sept ; Livre
du Qohlet, chapitre un verset trois,
chapitre deux verset cinq ; Livre dIsae,
chapitre dix

En labsence de style prcis, cest le style default qui lemporte. Il est


videmment possible de crer ses propres styles : nous renvoyons au manuel de
bibleref pour en savoir plus1 .

1 Nicola T, Dening New Styles , dans : bibleref.sty v1.14 : a LATEX2e package for typeseing bible references.

158

Rfrencer un passage biblique

19.2

19.2

Rfrencer un passage biblique

La syntaxe pour rfrencer un passage biblique varie selon que lon souhaite
rfrencer un livre en entier, un chapitre ou certains versets seulement. Voici
lensemble des syntaxes disponibles2 :
Syntaxe
\bibleverse{Ex}
\bibleverse{Ex}(20:)
\bibleverse{Ex}(20:17)
\bibleverse{IICo}(12:21)
\bibleverse{IICo}(12:21-32)
\bibleverse{Ex}(20:17)(21:3)
\bibleverse{Ex}(15:)(17:)(20:)
\bibleverse{Ap}(1:2,5,7-9,11)
\bibleverse{ICh}(1:3)-(2:7)
\bibleverse{Lc}(1,4-5,8:)

Rsultat
Exode
Exode 20
Exode 20, 17
2 Corinthiens 12, 21
2 Corinthiens 12, 2132
Exode 20, 17 ; 21, 3
Exode 15 ; 17 ; 20
Apocalypse 1, 2 ; 5 ; 79 ; 11
1 Chroniques 1, 32, 7
Luc 1 ; 45 ; 8

Voici la liste des abrviations des livres :


Abrviation
Gn
Ex
Lv
Nb
Dt
Jos
Jg
Rt
IS
IIS
IR
IIR
ICh
IICh
Esd
Ne
Est
Tb
Jdt
IM
2 Nous

Livre
Gense
Exode
Lvitique
Nombres
Deutronome
Josu
Juges
Ruth
1 Samuel
2 Samuel
1 Rois
2 Rois
1 Chroniques
2 Chroniques
Esdras
Nhmie
Esther
Tobit
Judith
1 Maccabes

ne faisons ici que reprendre le manuel.

159

Chapitre 19

Gestion des rfrences bibliques avec Bibleref


Abrviation
IIM
Jb
Ps
Pr
Qo
Ct
Sg
Si
Is
Es
Jr
Lm
Ba
Ez
Dn
Os
Jl
Am
Ab
Jon
Mi
Na
Ha
So
Ag
Za
Ml
Mt
Mc
Lc
Jn
Ac
Rm
ICo
IICo
Ga
Ep
Ph
Col
I
II

Livre
2 Maccabes
Job
Psaumes
Proverbes
Qohleth
Cantiques des cantiques
Sagesse
Siracide
Isae
sae
Jrmie
Lamentations
Baruch
Ezquiel
Daniel
Ose
Jol
Amos
Abdias
Jonas
Miche
Nahum
Habaquq
Sophonie
Agge
Zacharie
Malachie
Mahieu
Marc
Luc
Jean
Actes
Romains
1 Corinthiens
2 Corinthiens
Galates
phsiens
Philippiens
Colossiens
1 essaloniciens
2 essaloniciens
160

Indexer une rfrence


Abrviation
ITm
IITm
Tt
Phm
He
Jc
1P
2P
IJn
IIJn
IIIJn
Jude
Ap

19.3
Livre
1 Timothe
2 Timothe
Tite
Philmon
Hbreux
Jacques
1 Pierre
2 Pierre
1 Jean
2 Jean
3 Jean
Jude
Apocalypse

Les livres proposs correspondent au canon catholique. On peut ajouter dautres livres : nous renvoyons la documentation de bibleref 3 .

19.3

Indexer une rfrence

On peut remplacer la commande \bibleverse par \ibibleverse. Cee commande, en plus dacher indexe une rfrence biblique en plus de lacher.
Il existe en outre deux commandes ayant la mme syntaxe que \ibibleverse :
\ibiblechvs, qui nache pas le nom du livre dans le texte, et \ibiblevs qui
nache dans le texte que le numro de verset.

19.3.1

Tri dans lindex4

Vous pouvez constater que lordre de tri dans lindex nest par dfaut pas
trs bon. Par exemple, les livres numrots sont classs la lere i .
Le package fournit des options pour un meilleur tri5 . Au chargement du
package, vous pouvez choisir lune de ces options :
indexalphac

les livres sont tris par ordre alphabtique, suivant les noms
catholiques.

3 Nicola T, addbiblebook , dans : bibleref.sty v1.14 : a LATEX2e package for typeseing


bible references.
4 Ce passage reprend, pour lessentiel, la documentation du package, dont nous sommes lauteur.
5 Pour lAncien Testament, les protestants suivent le canon juif pour son contenu mais utilisent
lordre du canon catholique : voir Albert (de) P, Le canon de lAncien Testament , dans :
Introduction lAncien Testament, dir. omas R, Jean-Daniel M et Christophe N,
Genve : Labor et Fides, 2005, p. 1821.

161

Chapitre 19

Gestion des rfrences bibliques avec Bibleref

indexalphap

les livres sont tris par ordre alphabtique, suivant les noms
protestants.

indexLXX

les livres sont tris dans lordre des bibles chrtiennes classiques, pour lAncien Testament selon la Septante. LAncien
et le Nouveau Testaments ne sont pas spars.

indextestamentsL les livres sont tris dans lordre des bibles chrtiennes classiques, pour lAncien Testament selon la Septante. LAncien
et le Nouveau Testaments forment deux sections.
indexTOB

les livres sont tris dans lordre de la Traduction cumnique


de la Bible, pour lAncien Testament selon la bible hbraque,
suivie des deutrocanoniques. LAncien et le Nouveau Testaments ne sont pas spars.

indextestamentsT les livres sont tris dans lordre de la Traduction cumnique


de la Bible, pour lAncien Testament selon la bible hbraque,
suivie des deutrocanoniques. LAncien et le Nouveau Testaments forment deux sections.
indexBHS

les livres de la biblique hbraque sont tris selon les bibles


hbraques classiques. La Torah, les Nebiim et les Ketouvim
sont dans la mme section. Les deutrocanoniques ainsi que
les livres du Nouveau Testament ne sont pas tris.

indexTanak

les livres de la biblique hbraque sont tris selon les bibles


hbraques classiques. La Torah, les Nebiim et les Ketouvim
sont dans trois sections distinctes. Les deutrocanoniques
ainsi que les livres du Nouveau Testament ne sont pas tris.

Pour les options indexTOB et indextestamentsT, le livre dEsther est considr


dans sa version hbraque, et est donc rang parmis les crits.
Ainsi pour trier selon lordre de la TOB :
1

\usepackage[indexTOB]{bibleref-french}

19.3.2 Un index part


Par dfaut, les rfrences sont indexes dans lindex principal. Il est toutefois
possible de les indexer sparment.
Il faut pour cela dabord dclarer un nouvel index avec imakeidx ( p. 148,
18.2).
1

\newindex[Index des rfrences bibliques]{bible}

162

Espaces inscables

19.4

Il faut ensuite rednir la commande \biblerefindex de la manire suivante :


1

\renewcommand{\biblerefindex}[0]{\index[bible]}

Et lendroit o lon souhaite acher cet index :


1

\printindex[bible]

19.4

Espaces inscables

Le package bibleref-french prvoit dinsrer des espaces inscables :


1. Entre le nombre et le nom quand le nom dun livre contient un nombre ;
2. Entre le nom du livre et le numero de chapitre ;
3. Apre s un tiret demi-cadratin () dans un intervalle de versets ;
4. Aprs les virgules de sparation.
Si beaucoup de rfrences sont indiques, cela peut amener des ns de
lignes qui dpassent. Pour viter cela, on peut autoriser temporairement la coupure des espaces entre un livre et un numro de chapitre : \BRallowhypbch indique le dbut de lautorisation ; \BRforbidhypbch en marque la n.

163

Chapitre 20

dition critique et textes


parallles
Nous allons aborder ici deux packages particulirement utiles en sciences humaines :
ledmac pour faire des ditions critiques et ledpar (qui ne peut tre utilis sparment de
ledmac) pour diter un texte et sa traduction en parallle.
Ces packages contiennent moult fonctionnalits : nous nen prsentons ici que quelque
unes et renvoyons aux manuels pour les autres1 .
Ces packages ont t amliors durant la rdaction de ce livre. Veillez
les mere jour ( p. 225, A.5). Dans le gestionnaire de packages, vous ne
trouverez une entre que pour ledmac, pas pour ledpar. En meant jour
ledmac vous meez toutefois aussi jour ledpar.
Un certain nombre de fonctionnalits de ces packages ncessitent pour
fonctionner correctement une double compilation.

20.1

Faire une dition critique avec ledmac

20.1.1

Numroter les lignes dun texte

La premire fonctionnalit utile de ledmac est de numroter les lignes dun


texte. On commence par entourer celui-ci des commandes \beginnumbering et
\endnumbering. Il faut ensuite procder de deux faons direntes selon que le
texte est en prose ou en vers.
1 Peter W, Herries P et Maeul R, ledmac : A presumptuous aempt to port
EDMAC, TABMAC and EDSTANZA to LaTeX ; Peter W, Herries P et Maeul R,
Parallel typeseing for critical editions : the ledpar package.

165

Chapitre 20

dition critique et textes parallles

Texte en prose
La numrotation des lignes commence, entre ces deux commandes, avec la
commande \pstart et se termine avec la commande \pend :
1

\beginnumbering

\pstart %commencer la numrotation

Lorem ipsum dolor sit amet, consectetuer adipiscing elit ?

Morbi commodo ; ipsum sed pharetra gravida !

Nullam sit amet enim. Suspendisse id : velit vitae ligula.

Aliquam erat volutpat.

7
8

Sed quis velit. Nulla facilisi. Nulla libero.

Quisque facilisis erat a dui.

10

Nam malesuada ornare dolor.

11

Cras gravida, diam sit amet rhoncus ornare,

12

erat

13

\pend %terminer la numrotation

14

\endnumbering

elit consectetuer erat, id egestas pede nibh eget odio.

Nous obtenons ainsi :

Lorem ipsum dolor sit amet, consectetuer adipiscing elit ? Morbi


commodo ; ipsum sed pharetra gravida ! Nullam sit amet enim. Suspendisse id : velit vitae ligula. Aliquam erat volutpat.
Sed quis velit. Nulla facilisi. Nulla libero. isque facilisis erat a dui.
Nam malesuada ornare dolor. Cras gravida, diam sit amet rhoncus
ornare, erat elit consectetuer erat, id egestas pede nibh eget odio.

Tout texte qui nest pas situ entre \pstart et \pend nest pas numrot. Cela
peut donc tre utile pour interrompre temporairement la numrotation :
1

\beginnumbering

\pstart %commencer la numrotation

Lorem ipsum dolor sit amet, consectetuer adipiscing elit ?

Morbi commodo ; ipsum sed pharetra gravida !

Nullam sit amet enim. Suspendisse id : velit vitae ligula.

Aliquam erat volutpat.

\pend

8
9

Texte non numrot

10
11

\pstart Sed quis velit. Nulla facilisi. Nulla libero.

166

Faire une dition critique avec ledmac

20.1

12

Quisque facilisis erat a dui.

13

Nam malesuada ornare dolor.

14

Cras gravida, diam sit amet rhoncus ornare,

15

erat

16

\pend %terminer la numrotation

17

\endnumbering

elit consectetuer erat, id egestas pede nibh eget odio.

La numrotation recommence zro chaque \beginnumbering. Il est toutefois possible dindiquer de recommencer automatiquement la numrotation
chaque page via la commande \lineation{page}.
Si vos sections numrotes sont trs longues, il peut arriver lerreur de
compilation TeX capacity exceeded . Il faut alors fractionner vos sections en utilisant de temps en temps la commande \pausenumbering suivie
de \resumenumbering au sein de la section numrote2 .
Cee squence de commandes correspond grosso-modo la squence
\endnumbering\beginnumbering mais sans r-initialisation de la numrotation.

Texte en vers
La numrotation dans les textes en vers est un peu plus complexe. Les commandes \pstart et \pend disparaissent. Il faut la place dcouper son texte en
strophes ( stanza ). Pour commencer la numrotation, nous insrons donc la
commande \stanza. Chaque vers se termine par un &, et le dernier vers de la
strophe par \&.
Il est ncessaire dindiquer lindentation de chaque vers de la strophe faute
de quoi on obtient le message Missing number grce la commande
\setstanzaindents{n0 , n1 , n2 , nx }. Largument n0 indique lindentation du
rejet si le vers est trop long pour tenir sur une seule ligne ; n1 correspond au
premier vers, n2 au deuxime et ainsi de suite.
1

\beginnumbering

\setstanzaindents{0,0,4,0,0,0,2,2,2,8}

\let\endstanzaextra\bigbreak

\stanza

Berlin setz an.&

Es speien die Geschfte&

die wackern Knaben und die Mdchen aus.&

Jetz kommt der Feierabend --- aber defte !&

Wir springen nur noch eben rasch nach Haus.&

10

Die groen Fraun sind ganz auf neu gemalen.&

11

Wer wird heut abend wohl den Zimt bezahlen ?&


2 On

peut aussi rgler la conguration de TEX pour lui allouer plus de mmoire.

167

Chapitre 20

dition critique et textes parallles

12

Sie lcheln lieb. Das Auto summt heran.&

13

Berlin setzt an.\&

14
15

\stanza

16

Berlin brummt auf.&

17

Wo ich die Paare anseh :&

18

Hier wird ein harter Dienst straff absolviert.&

19

Ein Riesenrummel von Grnau bis Wannsee ---&

20

und alles tadellos organisiert.&

21

Um jeden Schnapstich fhlst du es besttigt :&

22

Marie stark Geld --- heute wird das Ding gettigt !&

23

Die Spesen fest. Planmig der Verlauf ---&

24

Berlin braust auf.\&

25

\endnumbering

donne ainsi3 :
Berlin setz an.

10

15

Es speien die Gesche


die wackern Knaben und die Mdchen aus.
Jetz kommt der Feierabend aber dee !
Wir springen nur noch eben rasch nach Haus.
Die groen Fraun sind ganz auf neu gemalen.
Wer wird heut abend wohl den Zimt bezahlen ?
Sie lcheln lieb. Das Auto summt heran.
Berlin setzt an.
Berlin brummt auf.
Wo ich die Paare anseh :
Hier wird ein harter Dienst stra absolviert.
Ein Riesenrummel von Grnau bis Wannsee
und alles tadellos organisiert.
Um jeden Schnapstich hlst du es besttigt :
Marie stark Geld heute wird das Ding gettigt !
Die Spesen fest. Planmig der Verlauf
Berlin braust auf.

Si lindentation se rpte tous les n vers, on peut assigner la valeur n au


compteur ( p. 138, 17.2) stanzaindentsrepetition pour ne pas avoir rpter
lindentation dans la commande \setstanzaindents.
3 Kurt

T, Berliner Abend.

168

Faire une dition critique avec ledmac

20.1

Ainsi :
1

\setstanzaindents{12,1,0}

\setcounter{stanzaindentsrepetition}{2}

est quivalent :
1

\setstanzaindents{12,1,0,1,0,1,0,1,0,1,0}

La commande \endstanzaextra permet dajouter un contenu la n de chaque strophe. Dans lexemple qui prcde, lespace vertical entre chaque strophe
est ainsi obtenu par la ligne \let\endstanzaextra\bigbreak.
La commande\bigbreak insre un espace vertical ; \let\cmd1\cmd2 est une
commande TEX qui copie la commande \cmd2 dans \cmd1.
Pour obtenir un crochet indiquant les rejets de vers, selon la typographie franaise traditionnelle, il faut rednir la commande \hangingsymbol.
\renewcommand{\hangingsymbol}{[\,}

La commande \, sert insrer une espace ne inscable.

Si vos vers ne possdent pas dindentation, meez 0 partout dans la commande \setstanzaindents, sauf pour lindentation de rejet. Sil y a moins de
vers quindiqu dans \setstanzaindents, cela nest pas problmatique, linverse
en revanche produit une erreur de compilation.

20.1.2

Aller plus loin

Numroter les paragraphes


Il est possible dinsrer un nombre chaque \pstart en utilisant la commande \numberpstarttrue, ce qui permet ainsi de numroter les paragraphes.
chaque commande \beginnumbering, la numrotation recommence.

1. Lorem ipsum dolor sit amet, consectetuer adipiscing elit ? Morbi commodo ; ipsum sed pharetra gravida ! Nullam sit amet enim.
Suspendisse id : velit vitae ligula. Aliquam erat volutpat.
2. Sed quis velit. Nulla facilisi. Nulla libero. isque facilisis erat
a dui. Nam malesuada ornare dolor. Cras gravida, diam sit amet
rhoncus ornare, erat elit consectetuer erat, id egestas pede nibh eget
odio.

Pour arrter la numrotation des \pstarts, utilisez \numberpstartfalse.


169

Chapitre 20

dition critique et textes parallles

Si chaque \pstart correspond un paragraphe, il est possible dautomatiser linsertion des \pstarts et \pends en insrant la commande \autopar
aprs \beginnumbering.
La numrotation se fait laide dun compteur pstart. Nous expliquons
plus loin ce quest un compteur, comment en modier lapparence ( p. 201,
23.3.1) et la valeur ( p. 208, 23.5). Avec ces informations vous pourrez aisment changer la numrotation des \pstarts.
Il est possible de recommencer la numrotation des lignes chaque
via \lineation{pstart}.

\pstart

Frquence de numrotation des lignes


Comme on peut le voir dans les exemples prcdents, par dfaut ledmac
numrote une ligne sur cinq. Nous pouvons changer cela trs simplement avec
les commandes \firstlinenum{nbre} et \linenumincrement{nbre}.
Largument nbre de la commande \firstlinenum indique quelle est la premire ligne qui sera numrote ; celui de la commande \linenumincrement dnit la frquence avec laquelle les lignes seront numrotes. Ces commandes se
placent aprs \beginnumbering.
Ainsi, si nous souhaitons numroter toutes les lignes en commenant par la
premire, il faut mere :
1

\linenumincrement{1}

\firstlinenum{1}

Changer le numro de certaines lignes


La commande \setline{num} permet de changer le numro dune ligne.
La numrotation des lignes suivantes continue partir de ce nombre ; la commande \advanceline{num} permet dajouter num au numro de la ligne.
La commande \skipnumbering permet de ne pas prendre en compte la ligne
courante dans la numrotation.
Sous-numro
Il est possible dindiquer des lignes comme sous-lignes , cest--dire de
stopper temporairement la numrotation et de dmarrer une sous-numrotation.
La sous-numrotation commence avec \startsub et nit avec \endsub. Si la
premire commande se situe au milieu dune ligne, la sous-numrotation commence la ligne suivante.
Les commandes \subfirstlinenum{nbre} et \sublinenumincrement{nbre}
permeent de rgler la premire sous-ligne numrote et la frquence de sousnumrotation.
170

Faire une dition critique avec ledmac

20.1

\firstlinenum{1}

\linenumincrement{1}

\firstsublinenum{1}

\sublinenumincrement{1}

\beginnumbering

\pstart

Lorem\startsub ipsum dolor sit amet,

consectetuer adipiscing elit ?

Morbi commodo ; ipsum sed pharetra gravida !

10

Nullam sit amet enim. Suspendisse id : velit vitae ligula.

11

Aliquam erat volutpat.\endsub

12
13
14
15

Sed quis velit. Nulla facilisi. Nulla libero.


Quisque facilisis erat a dui.

16

Nam malesuada ornare dolor.

17

Cras gravida, diam sit amet rhoncus ornare,

18

erat

19

\pend

20

\endnumbering

elit consectetuer erat, id egestas pede nibh eget odio.

1
1.1
1.2
2
3
4

Loremipsum dolor sit amet, consectetuer adipiscing elit ? Morbi


commodo ; ipsum sed pharetra gravida ! Nullam sit amet enim. Suspendisse id : velit vitae ligula. Aliquam erat volutpat.
Sed quis velit. Nulla facilisi. Nulla libero. isque facilisis erat a dui.
Nam malesuada ornare dolor. Cras gravida, diam sit amet rhoncus
ornare, erat elit consectetuer erat, id egestas pede nibh eget odio.

Style et position des numros des lignes


Les numros des lignes apparaissent par dfaut dans la marge de gauche.
La commande \linenummargin{arg} rednit cee position. Largument peut
prendre la valeur :
left

qui est la valeur par dfaut ;

right

pour avoir les numros droite ;

inner

pour les avoir dans la marge intrieure ;

outer

pour les avoir dans la marge extrieure.


171

Chapitre 20

dition critique et textes parallles

Il existe cinq styles pour numroter les lignes, slectionns par la commande \linenumberstyle{style} et par \sublinenumberstyle{style} pour la sousnumrotation :
arabic

les numros des lignes sont en chires arabes, cest le style par
dfaut ;

Alph

pour des leres majuscules ;

alph

pour des leres minuscules ;

Roman

pour des chires romains majuscules ;

roman

pour des chires romains minuscules.

La distance \linenumsep reprsente la distance ( p. 237, E) entre le texte et


le numro de la ligne, par dfaut, 1 pica. Elle est modiable par la commande :
\setlength{\linenumsep}{distance} ( p. 210, 24.2).
De la mme faon nous pouvons modier, via \renewcommand, \numlabfont,
qui indique la taille du numro et qui est ainsi dnie par ledmac :
1

\newcommand{\numlabfont}{\normalfont\scriptsize}

20.1.3 Lapparat critique


Les notes de bas de page se prsentent de cee faon : \Afootnote{texte}.
Il en existe cinq sortes, de \Afootnote \Efootnote.
Ce type de notes appelle un lemme , cest--dire une partie du texte annot reprise dans la note de bas de page, prcde du numro de la ou des lignes
correspondantes.
La note de bas de page est appele ainsi : \edtext{lemme}{commande}.
Largument commande contient lappel la note : \Afootnote, \Bfootnote, etc.
Il est aussi possible dutiliser des notes de bas de page normales , appeles
par un numro dans le texte. Il en existe l aussi cinq sortes : de \footnoteA
\footnoteE.
Dans les notes de type \Afootnote, lorsque le lemme est trop grand,
nous pouvons labrger, via : \edtext{le lemme trop long}{\lemma{le lemme
raccourci}\Bfootnote{la note}}.
Il est aussi possible de mere des notes de n. L encore, il y en a cinq
sortes : de \Aendnote \Eendnote.
La commande \marginpar ne fonctionne pas dans les textes numrots. la place, le package propose les commandes \ledleftnote{note} et
\ledrightnote{note} pour des notes de marge gauche et droite.

172

Faire une dition critique avec ledmac

20.1

Il existe aussi une commande \ledsidenote{note} qui insre par dfaut la note dans la marge de droite, mais \sidenotemargin{left} permet
de dire de linsrer gauche.

Dans lexemple suivant, nous avons utilis deux types de notes avec lemme,
dont lune o nous avons mis un lemme raccourci , et un type de note sans
lemme4 :
1

\beginnumbering

\setstanzaindents{0,0,1,0,1,0,1,0,1}

\stanza

Quando erit illa dies, cum nostrum intrabis in \edtext{ortum}

{\Afootnote{hortum, \textit{F}}},&

Atque leges nostras ungue libente rosas ?\footnoteA{In exilio}&

Et tua magna sitis mage seu \edtext{mage crescere}

{\Afootnote{mage se accrescere \textit{G}}} gliscet,&

Dum quod semper amas, carmine plenus eris.&

10

\edtext{Si qua istis fuerint, ut erunt, uitiosa camenis}

11

{\lemma{Si \dots camenis}\Bfootnote{\textit{Ov. Trist. IV},

12

1 Si qua meis fuerint, ut erunt, vitiosa libellis, parce}},&

13
14
15
16

Parce, precor : scriptor non mihi doctus inest.&


Quaeso, tuum nobis fidum transmitte ministrum,&
Qui tua grata mihi perferat orsa, uale.\&
\endnumbering

1
2
3
4
5
6
7
8

ando erit illa dies, cum nostrum intrabis in ortum,


Atque leges nostras ungue libente rosas ?1
Et tua magna sitis mage seu mage crescere gliscet,
Dum quod semper amas, carmine plenus eris.
Si qua istis fuerint, ut erunt, uitiosa camenis,
Parce, precor : scriptor non mihi doctus inest.
aeso, tuum nobis dum transmie ministrum,
i tua grata mihi perferat orsa, uale.
1 ortum ] hortum, F
3 mage crescere ] mage se accrescere G
5 Si camenis ] Ov. Trist. IV, 1 Si qua meis fuerint, ut erunt, vitiosa libellis, parce
1 In

exilio

4 T O, Carmen LXXII, d. Ernst D, Monumenta Germaniae Historica,


Poetae latini aevi Carolini, Berlin, 1881, p. 437581.

173

Chapitre 20

dition critique et textes parallles

Il faut compiler deux fois pour obtenir le numro des lignes dans lapparat critique.

Pour plus de facilit vous pouvez changer le nom des types de notes en indiquant par exemple dans son prambule :
1

\let\variantes\Afootnote

\let\citations\Bfootnote

\let\eclaircissements\footnoteA

Et ainsi de suite

Mais il est aussi conseill de crer des commandes personnelles pour simplier et surtout clarier plus encore la rdaction dun apparat critique ; par
exemple :
1

\usepackage{ifthen, xargs}

\newcommandx*{\variantes}[3][2]{%

\edtext{#1}{%
\ifthenelse{\equal{#2}{}}{}{\lemma{#2}}%

4
5

\Afootnote{#3}}%

Cee commande est un peu plus complexe parce quelle fait appel aux packages xargs et ihen.
La commande \newcommandx, fournie par xargs, permet de crer une commande avec des arguments optionnels. Ici, la commande cre appelle trois arguments : le premier argument est le lemme ; le deuxime argument, optionnel
ce quindique, dans notre code, largument [2] contient le lemme raccourci ;
enn le dernier argument contient lannotation.
Ligne 4, la commande \ifthenelsetestsiouisinon du package ihen permet deectuer un test : ici nous regardons si le deuxime argument est vide
(\equal{#2}{}) : si ce nest pas le cas, alors nous lutilisons comme argument
dune commande \lemma.
Lutilisation de la commande que nous venons de crer peut donc se rsumer
ainsi : \variantes{lemme}[lemme plus court]{annotation}.
Ce qui est plus simple que : \edtext{le lemme trop long}{\lemma{le lemme
raccourci}\Bfootnote{la note}}
Les packages ihen et xargs sont extrmement utiles, mais nous ne
pouvons dtailler ici leurs utilisation. Nous renvoyons leurs documentations5 .
5 C,

e ihen package, op. cit. ; PG, Lextension xargs, op. cit.

174

Mere deux textes en vis--vis : le package ledpar

20.2

20.2

Mettre deux textes en vis--vis : le paage ledpar

Le package ledpar, qui sert mere un texte et sa traduction en vis--vis,


fonctionne avec ledmac. Tout ce qui concerne lapparat critique et la numrotation dans ledmac est ainsi valable ici aussi. Nous considrons donc, pour viter
les redites, que vous avez lu ce qui prcde.

20.2.1

Principes

Le package ledmac permet dobtenir trs facilement deux textes en vis--vis ;


cest donc un package particulirement utile lorsque lon veut faire de ldition
bilingue.
Son principe est simple : des textes numrots crits entre \beginnumbering
et \endnumbering sont placs dans les environnements Leside pour le texte
de gauche, Rightside pour le texte de droite.
Le package ledpar fait correspondre en vis--vis chaque bote dun texte
la bote correspondante de lautre texte : il faut donc quil y ait le mme nombre
de botes des deux cts. Pour la posie, chaque vers (termin par &), est une
bote ; en prose, les botes sont dlimites par \pstart et \pend.
Il est recommand, en prose, de mere chaque paragraphe dans une bote
pour obtenir une synchronisation la plus ne possible donc de dbuter
chaque paragraphe par \pstart et de le nir par \pend, ou dutiliser la commande
\autopar ( p. 170, 20.1.2).
Le package ledpar peut mere les textes en vis--vis sur deux colonnes ou
sur deux pages : bien sr dans ce dernier cas le texte de gauche est toujours
imprim sur une page paire. Nous utilisons dans le premier cas lenvironnement
pairs ; lenvironnement pages dans le second.
Les commandes \Columns ou \Pages, selon quil sagisse de lenvironnement
pairs ou pages, indiquent LATEX dimprimer les botes jusquici gardes en mmoire.
Rsumons !
Pour mere deux textes en vis--vis sur deux pages :
1

\begin{pages}

\begin{Leftside} % Texte de la page de gauche

% Des textes en vis--vis sur deux pages

\beginnumbering % Dbut de la numrotation

\pstart % Ici, prose : donc \pstart et \pend

5
6

Le texte dans une langue

7
8

\pend

\endnumbering

% Fin de la numrotation

175

Chapitre 20
10

dition critique et textes parallles

\end{Leftside} % Fin du texte de gauche

11
12

\begin{Rightside}

13

\beginnumbering

14

\pstart

% La mme chose droite

15
16

Le texte dans une autre langue

17
18

\pend

19

\endnumbering

20

\end{Rightside}

21

\Pages

22
23

\end{pages} % Fin la composition en parallle.

Si lun des textes nest pas dans la langue principale du document, il


faut prciser le changement de langue ( p. 33, 4) lintrieur de lenvironnement Leside ou Rightside.
1

\begin{Leftside}

\begin{<langue>}

\end{<langue>}

\end{Leftside}

Comme avec ledmac, la numrotation ( p. 167, 20.1.1) recommence


chaque \beginnumbering. On peut toutefois faire recommencer la numrotation chaque page via les commandes \lineation et \lineationR, qui
ont la mme syntaxe, vue plus haut.

Nous obtenons parfois le message derreur Too many \pstart without


printing . Pas de panique ! Cela signie quil y a trop de botes en mmoire :
LATEX doit en imprimer quelques-unes avant de pouvoir continuer. Il y a deux
solutions possibles ce problme.
La premire solution consiste augmenter le nombre de botes que ledpar
peut garder en mmoire, en utilisant dans le prambule \maxchunks{nbre}, o
nbre est le nombre de botes en mmoire. Par dfaut, ce nombre est de dix. Il
sut donc de laugmenter pour quil soit gal ou suprieur au nombre de botes
de son texte.
Toutefois TEX ne dispose pas dune place illimite pour les botes, cest pourquoi il est souvent prfrable dutiliser la seconde solution.
Celle-ci, que nous pouvons dailleurs combiner avec la premire, consiste
couper le texte en plusieurs grands ensembles de botes cest--dire en plusieurs environnements Leside et Rightside, se terminant chacun par \Columns
ou \Pages. Cee solution est prfrable pour les longs textes. Les divisions internes du texte se retent alors dans les environnements Leside et Rightside.
Cependant, en meant simplement :
176

Mere deux textes en vis--vis : le package ledpar


1

\begin{pages}

\begin{Leftside}

La premire partie du texte en langue originale

\endnumbering

20.2

\beginnumbering

\end{Leftside}

5
6

\begin{Rightside} \beginnumbering

La traduction de la premire partie

\endnumbering \end{Rightside}

\Pages

10
11

\begin{Leftside} \beginnumbering

12

La deuxime partie du texte

13

\endnumbering

\end{Leftside}

14
15

\begin{Rightside}

16

La traduction de la deuxime partie

17

\endnumbering \end{Rightside}

18

\beginnumbering

\Pages

19
20

\end{pages}

nous nous retrouvons avec une numrotation qui recommence zro pour
la deuxime partie du texte.
La commande \memorydump permet de rsoudre ce problme. Elle quivaut
en fait un \pausenumbering immdiatement suivit dun \resumenumbering. Il
faut donc mere :
1

\begin{pages}

\begin{Leftside}

La premire partie du texte en langue originale

\end{Leftside} % pas de \endnumbering ici !...

\beginnumbering

5
6

\begin{Rightside} \beginnumbering

La traduction de la premire partie

\end{Rightside} % et l non plus...

\Pages

10
11

\begin{Leftside} \memorydump % et, ici, pas de \beginnumbering..

12

La deuxime partie du texte

13

\endnumbering

\end{Leftside}

14
15

\begin{Rightside}

16

La traduction de la deuxime partie

\memorydump %...car la numrotation continue !

177

Chapitre 20

dition critique et textes parallles

17

\endnumbering \end{Rightside}

18

% tout de mme \endnumbering quand on arrive la fin ..

% Ne pas oublier de mettre

19
20

\Pages

21
22

\end{pages}

Ainsi, la numrotation du texte se fait en continue entre la premire partie


et la deuxime partie.
Il est bien sr possible de mere en parallle un texte en vers et sa
traduction en prose.
Si vous utilisez la commande \numberpstarttrue ( p. 169, 20.1.2) pour
numroter les \pstarts, sachez que la numrotation gauche et la numrotation droite fonctionnent avec deux compteurs dirents : pstartL et pstartR
( p. 201, 23.3.1 ; p. 208, 23.5).

20.2.2 Aner la prsentation


Vers de longueurs ingales
Si des vers sur des pages parallles prennent un nombre de lignes ingales,
par exemple si le vers de gauche contient un rejet et non celui de droite, alors
ledpar introduit un blanc aprs le vers le droite, pour que le vers suivant soit
exactement au mme niveau dans la page de droite et dans la page de gauche.
Il est possible de dire ledpar de ne pas introduire ce blanc, mais de produire
un lger dcalage des vers, dcalage rarap chaque changement de pages.
Pour ce faire, il faut passer loption shiedverses au chargement du package.
1

\usepackage[shiftedverses]{ledpar}

Tailles et sparateurs des colonnes


Par dfaut, les colonnes font 45% dune largeur normale de texte. Nous pouvons modier ce rglage en rednissant les longueurs \Lcolwidth et \Rcolwidth
respectivement pour la colonne gauche et droite. Nous utilisons pour cela la
commande \setlength ( p. 210, 24.2 ; p. 238, E.2). Par exemple pour avoir
47% de la largeur normale dun texte, il faut mere :
1

\setlength{\Lcolwidth}{0.47\textwidth}

\setlength{\Rcolwidth}{0.47\textwidth}

De mme nous pouvons dnir un let de sparation grce la longueur


( p. 237, E).

\columnrulewidth
1

\setlength{columnrulewidth}{0.4pt}

178

Mere deux textes en vis--vis : le package ledpar

20.2

Numrotation des lignes de droite


Par dfaut, les numros des lignes de droite sont suivies dun R , correspondant au terme Right . Pour obtenir la place un D , il sut de rednir
la commande \Rlineflag :
1

\renewcommand{\Rlineflag}{D}

Si nous ne souhaitons rien, mere tout simplement :


1

\renewcommand{\Rlineflag}{}

179

Chapitre 21

Prsentations avec LATEX :


Beamer
Si LATEX permet dcrire du texte, il ore galement la possibilit de crer facilement des
diapositives de prsentation pour un expos ou une confrence1 . Ceci se fait laide dune
classe spcique : beamer.
Nous prsenterons ici les bases de Beamer an de bien prparer des supports de prsentation. Nous renvoyons dautres ouvrages pour plus de dtails2 .
Le PDF rsultant de la compilation dun chier Beamer peut tre ach sous forme de
diaporama contrlable laide des logiciels classiques de lecture de PDF.

21.1

Prambule et premires diapositives

Beamer tant une classe LATEX, le document doit commencer par :


1

\documentclass{beamer}

Le reste du prambule contient le mme contenu quun chier .tex classique :


appels aux packages, dnitions dventuelles commandes, etc.
On peut dnir la manire dont les diapositives vont sacher, en utilisant
dans le prambule la commande \usetheme. Par exemple, pour utiliser le thme
Darmstadt :
1

\usetheme{Darmstadt}
1 Pour

remplacer Microso Powerpoint ou LibreOce Impress.

2 On consultera pour une introduction plus approfondie Marie-Claude C, Dcouverte de

Beamer, 2007, : http://mcclinews.free.fr/latex/introbeamer.php ; pour les usages avances


on se servira du manuel : Till T, Joseph W et Vedran M, e beamer class.

181

Chapitre 21

Prsentations avec LATEX : Beamer

Un certain nombre de thmes sont dcrits dans le manuel de Beamer3 .


Avec Beamer, lunit de base est la diapositive, appele frame. Une diapositive se cre avec lenvironnement frame et peut contenir nimporte quel contenu
LATEX. Par exemple :
1

\begin{frame}
\begin{itemize}

2
3

\item lment 1

\item lment 2

\item lment 3
\item Etc.

\end{itemize}

7
8

\end{frame}

noter que lenvironnement frame peut tre remplac par la commande


homonyme :
1

\frame{
\begin{itemize}

2
3

\item lment 1

\item lment 2

\item lment 3
\item Etc.

\end{itemize}

7
8

21.2 Diapositives de titre


Il est possible dutiliser dans le document Beamer les commandes \section
et \subsection ( p. 29, 3.1)4 et dutiliser dans le prambule les commandes de
description : \title, \author et \date ( p. 23, 2.2.5).
Ces informations servent toutefois uniquement structurer le document,
an de pouvoir acher le plan. Cest pourquoi il faut les entrer en-dehors des
diapositives.
Pour les acher dans une diapositive, en revanche, il faut utiliser les commandes \sectionpage et \subsectionpage pour les niveaux de titres ; \titlepage
pour les informations sur la date, lauteur et le titre de la confrence.
1

\documentclass{beamer}

3 Till

T, Joseph W et Vedran M, emes , dans : e beamer class.


manuel de beamer dconseille dutiliser \subsubsection parce que cest le diable . Cf. :
Till T, Joseph W et Vedran M, dans : e beamer class.
4 Le

182

Achage dir : les couches Beamer


3

\title{Titre de l'expos}

\author{Nom de son auteur}

\date{Date}

\begin{document}

21.3

7
8

\frame{\titlepage}

9
10

\section{Titre de section}

11

\frame{\sectionpage}

12
13

\subsection{Titre de sous-section}

14

\frame{\subsectionpage}

15

\end{document}

21.3

Aage dir : les coues Beamer

Acher tous les lments dune diapositive en une seule fois prsente peu
dintrt : il vaut mieux les acher petit petit an de les commenter au fur et
mesure. Beamer utilise pour cela la notion de slides , que nous traduisons
par celle de couches . Il sagit de dire une commande de ne sexcuter que
sur une ou plusieurs couches spciques.
La syntaxe de lachage couche par couche (en anglais overlay specication)
est : <a-b> o a dsigne la couche de dpart et b dsigne la couche darrive. On
peut galement sparer les numros de couches spciques par des virgules.
Voici des exemples pour mieux comprendre :
1

\begin{frame}

\begin{itemize}

\item<1>lment affich uniquement sur la premire couche.

\item<2->lment affich partir de la deuxime couche.

\item<2-4>lment affich sur les couches 2 4.

\item<-4>lment affich jusqu' la couche 4, incluse.

\item<1,3-5>lment affich sur les couches 1 et 3 5.

\end{itemize}

\end{frame}

Toutes les commandes LATEX ne ragissent pas ncessairement aux spcications de couche : par exemple la commande \emph ne ragit pas : si vous utilisez
une spcication de couche avec cee commande, la spcication apparat sur
la diapositive.
On peut vouloir obtenir un PDF o toutes les couches dune diapositive apparaissent dun seul coup, an par exemple davoir une version papier : il sut
dutiliser loption de package handout.
183

Chapitre 21
1

Prsentations avec LATEX : Beamer

\documentclass[handout]{beamer}

Il est possible de fabriquer un PDF destin limpression sur transparents en cas de dfaillance du vido-projecteur en prcisant quelles
couches doivent tre spares sur les transparents : nous renvoyons au manuel5 .

Beamer propose des commandes et des environnements pour des usages


avancs des spcications de couche, notamment pour remplacer des lments
par dautres lments, tout en accordant chacun la mme place sur la diapositive, pour viter davoir des eets de dplacement dun lment dune
couche lautre. Ceci dpassant cee introduction, nous renvoyons au manuel6 .

21.4 Mise en valeur


21.4.1 Blocs
Il existe plusieurs manires de mere en valeur certains lments dune diapositive. La premire consiste les placer dans des blocs pour les encadrer.
Beamer propose plusieurs blocs standards, qui prennent la fois un titre et un
contenu. Ces blocs sont : bloc standard, bloc dexemple et bloc dalerte.
1
2

\begin{block}{Un bloc normal}


Un texte encadrer

\end{block}

\begin{alertblock}{Attention}

Ce texte est important

\end{alertblock}

\begin{exampleblock}{Exemple}

8
9

Un exemple des propos tenus


\end{exampleblock}

Il est possible de crer ses propres blocs, le manuel explique comment7 .


Il existe aussi des lments proches des blocs que sont les encadrs, pour
mere en valeur des dnitions ou des thormes8 .
5 Till T, Joseph W et Vedran M, Creating Transparencies , dans : e beamer
class.
6 Till T, Joseph W et Vedran M, Dynamically Changing Text or Images ,
dans : e beamer class.
7 Till T, Joseph W et Vedran M, Framed and Boxed Text , dans : e beamer
class.
8 Till T, Joseph W et Vedran M, eorem Environments , dans : e beamer
class.

184

Notes de confrence

21.5

videmment, il est possible de spcier un niveau de couche ; la spcication


doit alors se trouver aprs le titre du bloc :
1
2
3

\begin{alertblock}{Attention}<2>
Un message d'alerte sur la couche 2.
\end{alertblock}

Lapparence des blocs dpend du thme choisi.

21.4.2

La commande alert

La commande \alert sert mere en valeur une partie dun texte. Elle peut
recevoir une spcication de couche. Cela est trs utile pour indiquer lauditoire le sujet dont on parle.
1

\begin{frame}

\begin{description}

\item\alert<1>{Nous parlons d'abord d'une chose}

\item\alert<2>{Nous parlons ensuite d'une autre}

\item\alert<3>{Et enfin d'une troisime}

\end{description}

\end{frame}

Le package spot permet des mises en valeur sous forme de taches lumineuses.

21.5

Notes de confrence

Il peut tre utile pour le confrencier davoir, en plus des diapositives, des
notes lui servant daide-mmoire au cours de son expos.
On cre une note avec la commande \note dans une diapositive.
1

\begin{frame}

\note{Un lment se rappeler pour le signaler au public}.

3
4

Le contenu proprement dit de la diapositive.

\end{frame}

On peut acher plusieurs notes sous forme de liste en passant la commande \note un argument optionnel ayant pour valeur item.
1

\begin{frame}

\note[item]{Un lment se rappeler pour le signaler au public}.

\note[item]{Un autre

lment}

185

Chapitre 21

Prsentations avec LATEX : Beamer

4
5

Le contenu proprement dit de la diapositive.

\end{frame}

Les notes napparaissent pas sur la diapositive, mais sont reportes aprs,
dans une page spciale du chier PDF. Cela nest pas trs pratique : on souhaiterait avoir dune part les diapositives, dautre part les notes.
On obtient ce rsultat en plaant \setbeameroption dans le prambule, avec
le bon argument :
1

\setbeameroption{hide notes}

signie que nous produisons un PDF contenant uniquement les diapositives.


A contrario :
1

\setbeameroption{show only notes}

indique que nous dsirons un chier ne contenant que les notes.


Il est galement possible de produire un chier contenant les diapositives et les notes, mais capable, avec le bon logiciel, de les envoyer sur deux
crans dirents. Nous renvoyons au manuel pour plus de dtails9 .

21.6 crire son article dans le mme ier que la


prsentation
Il peut tre judicieux dcrire larticle correspondant la prsentation dans
le mme chier que celui-ci. Il sut pour cela dcrire le contenu de larticle
entre les environnements (ou les commandes) frame mere les titres des sections hors des diapositives rvle ici son avantage : ces titres sont aussi ceux de
larticle.
1

\section{Introduction}

2
3

Introduction de notre article

\begin{frame}

5
6

Diapositive pour l'introduction de la prsentation


\end{frame}

7
8

\section{Premire partie}

9 Till T, Joseph W et Vedran M, Taking Advantage of Multiple Screens ,


dans : e beamer class.

186

crire son article dans le mme chier que la prsentation


10

Texte de la premire partie

11

\begin{frame}
Diapositive pour la premire partie

12
13

21.6

\end{frame}

14
15

etc.

On peut aussi introduire des miniatures des diapositives dans larticle :


consultez le manuel10 .

21.6.1

Diapositives ou article ?

Par dfaut, Beamer va acher les textes situs entre les diapositives dans des
diapositives spciques. Pour viter cela, on passe loption ignorenonframetext
lors de lappel de la classe.
1

\documentclass[ignorenonframetext]{beamer}

Pour obtenir uniquement la version article, il sut de changer la classe du


document et de charger le package beamerarticle.
1

\documentclass{article}

\usepackage{beamerarticle}

21.6.2

Automatiser les rglages

Plutt que de changer systmatiquement les premires lignes du document,


autant utiliser les possibilits dinclusion ( p. 30, 3.2) de chiers oertes par
LATEX.
Pour cela, crer trois chiers : article.tex, presentation.tex et contenu.tex.
Dans article.tex mere :
1

\documentclass{article}

\usepackage{beamerarticle}

\input{contenu}

Dans presentation.tex mere :


1

\documentclass[ignorenonframetext]{beamer}

\input{contenu}

Dans contenu.tex mere les appels aux packages communs aux deux versions ainsi que le contenu de la prsentation / de larticle.
10 Till T, Joseph W et Vedran M, Including Slides from the Presentation Version in the Article Version , dans : e beamer class.

187

Cinquime partie

elques lments de mise en


forme

La typographie est simple, aussi simple que de jouer du


violon !
Maximilien V, typographe

189

Chapitre 22

Personnaliser en-ttes et pieds


de pages
Nous allons voir comment personnaliser les en-ttes et pieds de pages laide du package
fancyhdr.

22.1

Utiliser lun des styles standards

LATEX propose quatre styles standards de page, qui dnissent le contenu


des en-ttes et pieds de pages. Pour utiliser lun de ces styles, on emploie la
commande \pagestyle{style}.
On peut galement modier le style dune page en particulier grce la
commande \thispagestyle{style}.
Ces styles sont :
empty

pas den-tte ni de pied de page.

plain

pas den-tte mais pieds de pages contenant le numro de page


en centr. Cest le style correspondant aux pages de dbut de
chapitre ( p. 205, 23.4).

heading

pas de pied, en-ttes contenant le titre du chapitre, de la section


ou de la sous-section et le numro de la page. Cest le style par
dfaut.

myheading

similaire au prcdent, mais len-tte peut tre personnalis1 .

1 Nous tenons cee information du manuel de Franck M et Michel G, LaTeX


Companion, 2e d., Paris : Pearson, 2006, : http://www.pearson.fr/livre/?GCOI=27440100048330,
p. 222, qui ne prcise pas comment faire.

191

Chapitre 22

Personnaliser en-ttes et pieds de pages

On voit vite les limites de ces styles. Ainsi, comment avoir la fois les titres
en en-tte et les numros des pages en pied de page ? Comment indiquer son
nom ou la date en pied de page ?

22.2 Premiers exemples avec fancyhdr


Le package fancyhdr propose un autre style, quil est ais de personnaliser
via des commandes spciques. Pour faire fonctionner fancyhdr il faut crire les
lignes suivantes dans le prambule :
1

\usepackage{fancyhdr}

\pagestyle{fancy}

Les pages de dbut de chapitre ont automatiquement le style plain .


Pour dsactiver ce style par dfaut, il faut modier le commande \chapter.
Nous en parlons dans un autre chapitre ( p. 205, 23.4).

On peut ensuite utiliser les six commandes de fancyhdr qui servent dnir
le contenu des en-ttes et pieds de pages :
\lhead

reoit comme argument le contenu de la partie gauche de lentte, justie gauche.

\chead

reoit comme argument la partie centrale de len-tte, centre.

\rhead

reoit comme argument la partie droite de len-tte, justie


droite.

\lfoot

reoit comme argument la partie gauche du pied de page, justie gauche.

\cfoot

reoit comme argument la partie centrale du pied de page, centre.

\rfoot

reoit comme argument la partie droite du pied de page, justie droite.

Supposons que nous souhaitions acher le numro des pages en pied de


page centr, en indiquant galement le nombre total de pages. Nous allons utiliser le package totpages qui nous permet, aprs deux compilations, ou plus si
le nombre de pages varie entre les compilations, dobtenir le nombre total de
pages.
1

\usepackage{fancyhdr}

\pagestyle{fancy}

\usepackage{totpages}

\cfoot{{\thepage} / \ref{TotPages}}

192

Pages recto verso et alternance gauche-droite

22.3

La commande \thepage indique la valeur du compteur page ( p. 138, 17.2),


correspondant au numro de page.
Vous pouvez constater le rsultat sur cee page.

22.3

Pages recto verso et alternance gaue-droite

Lorsquun travail est imprim en recto verso, on peut souhaiter que lentte et le pied de page gauches des pages impaires correspondent len-tte et
au pied de page droits des pages paires et vice-versa.
Le package fancyhdr a prvu ce cas. Il propose deux commandes :

\fancyhead[position]{texte

den-tte}

\fancyfoot[position]{texte

de pied de page}

Largument position peut prendre une ou plusieurs des valeurs suivantes :


C

centre

LO

gauche des pages impaires (= intrieur des pages de droite, si


on crit de gauche droite).

RO

droite des pages impaires (= extrieur des pages de droite, si on


crit de gauche droite).

LE

gauche des pages paires (= extrieur des pages de gauche, si on


crit de gauche droite).

RE

droite des pages paires (= intrieur des pages de gauche, si on


crit de gauche droite).

Ainsi pour mere le numro de page lextrieur du pied de page, il sut


dcrire :
1

\fancyfoot[LE,RO]{\thepage}

videmment, si lon dit LATEX de gnrer un chier destination dune


impression monoface ( p. 21, 2.2.1), il considre quil ny a que des pages recto,
cest--dire impaires.

22.4

Titres dans len-tte : le mcanisme des marqueurs

Dans la classe book, les en-ttes contiennent par dfaut les titres de chapitres
sur la page de gauche et de sections sur la page de droite. En utilisant le style
193 / 268

Chapitre 22

Personnaliser en-ttes et pieds de pages

fancy,

on insre automatiquement les titres de chapitres du ct interne et ceux


de sections dans le ct externe.
Si on utilise fancyhdr pour ne personnaliser que le pied de page, on peut
vouloir rtablir pour le reste la prsentation par dfaut. Il est ncessaire pour
cela de comprendre le mcanisme des marqueurs de LATEX.
Le principe de base est simple : des commandes de marquage vont stocker
en mmoire des marqueurs. Lesdits marqueurs sont appels par dautres commandes.
Les deux commandes de marquage sont :

\markboth{marqueur

gauche}{marqueur droit}

\markright{marqueur

droit}

Les deux commandes dappel des marqueurs sont :

\leftmark qui retourne largument marqueur gauche de la dernire com-

mande \markboth.

\rightmark qui retourne largument marqueur droit de la premire com-

mande \markright ou \markboth situe sur la page courante. En revanche,


si la page en cours ne contient aucune de ces commandes, alors \rightmark
retourne largument marqueur droit du dernier \markright ou \markboth
utilis.
Concrtement, les commandes \markboth et \markright sont appeles automatiquement dans la classe book par les commandes \chapter et \section via
les commandes \chaptermark et \sectionmark.

22.4.1 Appeler les marqueurs dans les styles fancy


Pour rtablir la prsentation originelle, il nous faut insrer les commandes
et \rightmark dans nos commandes \fancyhead.

\leftmark
1

\fancyhead[LE,RO]{}

\fancyhead[RE]{\leftmark}

\fancyhead[LO]{\rightmark}

Avec ceci, nous obtenons nouveau le titre de chapitre gauche et le titre


de section droite.
Les en-ttes et pieds de pages sont calculs par LATEX aprs le reste de
la page. Cest pourquoi on obtient dans len-tte le contenu de la dernire
section de la page.

194

Filet den-ttes et de pieds de pages

22.4.2

22.5

Rednir les commandes \chaptermark et \sectionmark

Supposons dsormais que vous ne souhaitez plus voir les titres des sections
dans les en-ttes. Le plus simple est alors de rednir la commande \sectionmark,
pour la rendre nulle :
1

\renewcommand{\sectionmark}[1]{}

Notez bien que nous indiquons que la commande \sectionmark prend


un argument, alors mme que nous ne nous en servons pas. Mais lorsque
la classe book appelle cee commande, elle lui passe bien un argument, qui
est le titre de la section.

Comme alors on ache plus que le titre du chapitre, il est peut-tre inutile de prciser quil sagit dun chapitre. Il faut alors rednir la commande
\chaptermark, par exemple sous la forme suivante :
1
2

\renewcommand{\chaptermark}[1]{\markboth {\MakeUppercase{%
\thechapter~#1}}{}}

Si vous vous amusez fouiller le chier book.cls, vous verrez que la


commande \chaptermark est dnie deux fois. En ralit, sa dnition est
conditionne par loption de classe twoside ou oneside ( p. 21, 2.2.1).
La commande \thechapter sert acher le numro du chapitre, stock
dans un compteur apter. Nous parlons plus loin des compteurs et des
commandes \thecompteur ( p. 201, 23.3.1).

22.5

Filet den-ttes et de pieds de pages

Le package fancyhdr inclut un let entre le corps du texte et len-tte. Il est


possible de modier lpaisseur de ce let, ainsi que de rajouter un let avant le
pied de page.
On rednit pour cela les commandes \headrulewidth et \footrulewidth,
qui doivent renvoyer une longueur ( p. 237, E). Par exemple, pour supprimer
le let au-dessous de len-tte mais en ajouter un de 0,05 mm au-dessus du pied
de page, on crit :
1

\renewcommand{\headrulewidth}[0]{0pt}

\renewcommand{\footrulewidth}[0]{0.05mm}

195

Chapitre 23

Apparence des textes


Dans ce chapitre nous verrons comment changer lapparence de nos textes : polices de
caractres, interlignes, styles des niveaux de titres.

23.1

Police de caractres

Il existe trois grandes familles de polices de caractres :


empattements

pour le corps du texte. Ces empaements amliorent


le confort de lecture, sur version papier du moins.

Sans empattement

normalement pour les titre sur les couvertures.

pas xe

qui se caractrisent par le fait que la largeur des caractres ne varie pas en fonction des leres, mais reste
uniforme dune lere lautre. Ces polices sont utilises par les informaticiens pour citer du code informatique. Dans notre domaine, elles peuvent ventuellement servir pour une transcription diplomatique dun
texte ancien. On utilisera pour cela lenvironnement
verbatim.

Le package fontspec 1 propose de dnir une police pour chaque famille de


caractres. Ainsi pour ce livre avons-nous choisi les polices Linux Libertine
pour les caractres avec empaements, Linux Biolinum pour les caractres
sans empaements2 et DejaVu Sans Mono pour les caractres espacements
xes.
1 Will

R et Khaled H, e fontspec package.


nutilisons cee police que pour la version informatique. Pour la version papier, nous
avons con la cration de la couverture Laura Pigeon, qui a fait son propre choix de police.
2 Nous

197

Chapitre 23

Apparence des textes

Nous avons indiqus dans notre prambule que nous souhaitons les utiliser :
1

\setmainfont[Mapping=tex-text]{Linux Libertine}

\setsansfont[Mapping=tex-text]{Linux Biolinum}

\setmonofont[Scale=0.75]{DejaVu

Sans Mono}

La commande \setmainfont sert dnir la police avec empaements (corps


du texte), \setsansfont celle sans empaements et \setmonofont la police espacements xes. Largument optionnel peut prendre un certain nombre de paramtres pour la police.
Ici nous avons indiqu avec le paramtre Scale que nous souhaitons rduire
de 25 % la taille de la police DejaVu Sans Mono , car il sagit dune police
assez grande.
Loption Mapping=tex-text des deux premires commandes permet de grer
de manire particulire certaines suites de caractres, par exemple de remplacer
trois tirets courts (---) par un tiret long () ( p. 25, 2.2.6).
Il existe dautres paramtres, par exemple pour grer nement les ligatures,
prciss dans le manuel de fontspec 3 .
Le package fontspec permet de dnir dautres familles de caractres.
Toutefois il nest en gnral pas recommand de varier les polices dans un
texte : cest pourquoi nous ne dtaillons pas ici, mais nous nous contentons
de renvoyer la documentation du package4 .

23.2 Interlignes
Le package setspace qui ne possde pas de documentation ocielle permet de changer facilement linterligne du document en proposant trois interlignages : simple, cest le rglage standard, double et un et demi . En gnral
une interligne de 1,5 est recommande pour les travaux universitaires, sauf pour
les notes de bas de pages, o un interlignage simple est de mise. Cela tombe
bien : le package napplique le changement dinterlignes quau corps du texte.
Les notes de bas de page sont donc prserves.
Le package setspace se contente de dnir des nouvelles commandes
pour excuter des suites complexes de commandes TEX et LATEX ncessaires
la dnition de linterligne en tenant compte de la taille de la police.
Si donc vous souhaitez dnir une autre taille dinterligne, vous pouvez essayer de vous inspirer du code du package. Mais ceci ncessite de
matriser assez bien LATEX.
3 Will

R et Khaled H, Font independent options , dans : e fontspec package.

4 Will R et Khaled H, New commands to select font families , dans : e fontspec

package.

198

Interlignes

23.2

Les trois commandes qui nous intressent sont :

\singlespacing ;

\onehalfspacing ;

\doublespacing.

Elles sutilisent de la manire suivante :


1

\doublespacing

Ce texte est en interligne double.

\onehalfspacing

Ce texte est en interligne 1,5.

\singlespacing

Ce texte est en interligne simple.

Tant quaucune commande de changement dinterligne nest utilise, le texte


reste dans linterligne courante.

23.2.1

Commande arguments et commande de bascule

Jusqu maintenant, quelques exceptions prs, nous navons vu que des


commandes prenant un certain nombre darguments. Ici nos commandes ne
prennent pas dargument, mais changent des paramtres, jusqu nouvel ordre.
On appelle de telles commandes commandes de bascule. Ainsi, nos commandes
de bascule du package setspace changent linterligne de notre texte. Lutilisation des commandes de bascule est ncessaire pour la rednition de certaines
commandes de LATEX, dont les commandes des titres ( p. 203, 23.3.2).
Une commande de bascule entoure daccolades na deet quau sein de la
paire daccolade. Une commande de bascule utilise dans un environnement na
deet que dans cet environnement. Si une commande de bascule est utilise
dans le prambule, elle a en gnral un eet dans lensemble du document.
Nous avons dj prsent plus haut des commandes bascule : celles de
modication de la taille des caractres ( p. 57, 7.2.1).
Il est donc recommand de mere la commande \onehalfspacing en tout
dbut de chier, par exemple dans le prambule, pour agir sur tout le corps du
texte.

23.2.2

Environnements de angement dinterligne

Le package setspace propose galement trois environnements qui permeent


de limiter la porte dun changement dinterligne.
1

\begin{singlespace}

Texte avec une interligne simple

199

Chapitre 23

Apparence des textes

\end{singlespace}

\begin{onehalfspace}

Texte avec une interligne 1,5.

\end{onehalfspace}

\begin{doublespace}

Texte avec une interligne double.

\end{doublespace}

23.2.3 (Re)dnir un environnement : exemple avec lenvironnement quotation


En gnral, les citations ont un interlignage plus rduit que le corps du texte.
Aussi la tentation serait-elle grande, pour obtenir cet eet dans un document en
interligne 1,5, de frapper ceci :
1

\begin{singlespace}

\begin{quotation}

Une citation assez longue.

\end{quotation}

\end{singlespace}

Une telle mthode viole le principe de sparation de fond et de forme. Elle


multiplie en outre les lignes de code. Il serait plus sage de rednir lenvironnement quotation. Voici comment faire simplement5 . Nous avons dj vu plus
haut un exemple de rednition denvironnement, pour lenvironnement latin
( p. 35, 4.1.4).
Il sagit ici non seulement de rednir lenvironnement, mais aussi de rutiliser les proprits de lancien environnement. On procde en insrant ce code
en dbut de document, dans le prambule :
1

\let\oldquotation\quotation

\let\endoldquotation\endquotation

\renewenvironment{quotation}

{\begin{oldquotation}\singlespace}
{\end{oldquotation}}

Commentaires :
ligne 1

la commande \let est une commande TEX qui copie une commande dans une autre commande. Ici nous copions la com-

5 Nous nous somme bass sur la classe bredele : Christophe M, Bredele : Un modle pour
une thse en LaTeX, : http://linuxetleschoses.tuxfamily.org/Logiciels/bredele.php.

200

Personnaliser les titres

23.3

mande \quotation dans la commande \oldquotation6 . La commande \quotation quant elle correspond au dbut de lenvironnement quotation, cest--dire ce qui est excut par
\begin{quotation}.
ligne 2

nous copions la commande \endquotation, correspondant la


n de lenvironnement quotation cest dire ce qui est
excut lors du \end{quotation}, lintrieur dune commande
\endoldquotation.

En crant ces deux commandes \oldquotation et


avons cr un environnement oldquotation.

\endoldquotation

nous

ligne 3

nous rednissons lenvironnement quotation.

ligne 4

au dbut de cet environnement ( p. 35, 4.1.4), nous ouvrons


lenvironnement oldquotation puis nous excutons la commande \singlespace.

ligne 5

la n de lenvironnement quotation, nous fermons lenvironnement oldquotation. La commande \singlespace ne sapplique quau contenu de lenvironnement dans lequel elle est
situe ( p. 199, 23.2.1). Cest pourquoi il nest pas ncessaire
de lannuler par une commande \onehalfspace.

Si vous avez compris nos propos sur les commandes de dbut et de n


denvironnement, vous pouvez vous rendre compte que nous aurions pu
obtenir le mme rsultat avec :
1

\let\endoldquotation\endquotation

\renewcommand{\quotation}{\oldquotation\singlespace}

23.3

Personnaliser les titres

23.3.1

Rednir la numrotation

Nous avons abord plus haut la notion de compteur. chaque niveau de


titre, LATEX associe un compteur niveau. Ainsi le compteur associ au niveau de
titre \chapter est apter ( p. 138, 17.2).
La valeur dun compteur peut sacher via la commande \thecompteur.
Ainsi, si vous crivez :
1

\thechapter : \thesection
6 Bien que old soit un terme anglais, nous lutilisons car il est de convention de prxer ainsi
les commandes copies depuis une autre commande.

201

Chapitre 23

Apparence des textes

Vous constatez qu la compilation apparat le numro du chapitre, tel quil


apparat dans len-tte, et le numro de section, tel quil apparat dans le titre.
Ici par exemple nous obtenons :
23 : 23.3
Puisque les compteurs sachent laide de commandes, il est aise de rednir celles-ci. Si vous fouillez le chier ( p. 233, C.4) book.cls, vous pouvez
constater7 , les deux (re)dnitions de commande suivantes :
1

\renewcommand \thechapter {\@arabic\c@chapter}

\renewcommand \thesection {\thechapter.\@arabic\c@section}

Ligne 1

\thechapter

ache la valeur du compteur apter, retourne


par \c@chapter. Cee valeur ne peut pas tre ache directement, elle doit tre au pralable formate par la commande
\@arabic, qui lache sous forme de chires arabes.

Ligne 2

\thesection

retourne \thechapter suivi dun point, suivi de


la valeur du compteur section ache sous forme de chires
arabes.

Supposons maintenant que nous souhaitons :


1. Acher en chires romains majuscules le numro de chapitre.
2. Acher une parenthse fermante aprs le numro de section.
Il nous sut de rednir ainsi ces commandes :
1

\renewcommand \thechapter {\@Roman\c@chapter}

\renewcommand \thesection {\thechapter.\@arabic\c@section)}

Si vous crivez ces lignes dans votre prambule, vous narriverez pas compiler. Cela tient une raison simple : les commandes contenant le caractre @ ne
peuvent pas tre utilises dans un chier .tex, mais uniquement dans les chiers
de dnition de classe (.cls) ou de package (.sty).
Pour pouvoir les utiliser dans un chier .tex, il faut les entourer des commandes \makeatletter et \makeatother.
Ce qui nous donne :
1

\makeatletter

\renewcommand \thechapter {\@Roman\c@chapter}

\renewcommand \thesection {\thechapter.\@arabic\c@section)}

\makeatother
7 Lignes

287-288, la date o nous crivons.

202

Personnaliser les titres

23.3

On obtient donc un achage de la forme :


XXIII Chapitre
XXIII.3) Section
Nous parlons plus loin de la manire de manipuler les compteurs ( p. 208,
23.5).

23.3.2

Dnir lapparence : sections et niveaux infrieurs

Pour personnaliser lapparence des titres, le mieux est de regarder ce que


nous proposent les classes standards. Prenons le cas de la classe book, dnie
dans le chier ( p. 233, C.4) book.cls. En cherchant un peu, nous trouvons8 :
1

\newcommand\section{\@startsection {section}{1}{\z@}%

{-3.5ex \@plus -1ex \@minus -.2ex}%

{2.3ex \@plus.2ex}%

{\normalfont\Large\bfseries}}

Commentons ces quelques lignes :


ligne 1

La commande \section fait appel \@startsection. Cee dernire commande ajoute un niveau de titre la table des matires. Malgr son nom, elle peut servir pour nimporte quel
niveau de titre (par exemple, pour les \subsections). Elle prend
plusieurs arguments. Le premier est le niveau : ici section. Le
second est le niveau de profondeur : 1. Le troisime est lindentation pralable : ici \z@, cest--dire une longueur nulle.

ligne 2

quatrime argument de la commande \@startsection, qui indique lespace vertical avant le titre. Cet espace est idalement
de 3,5 ex ( p. 237, E), mais peut tre compris entre 1,5 ex
(3, 5 2) et 4,5 ex (3, 5 + 1) : cee marge de manuvre est
indique par les commandes \@minus et \@plus ( p. 238, E.3).

ligne 3

cinquime argument de \@startsection, qui indique lespace


vertical aprs le titre. Notre longueur tant positive, le texte
qui suit dbute un nouveau paragraphe. Une longueur ngative (comme cest le cas pour la dnition de la commande
\paragraph) indique quil ny a pas de changement de paragraphe. Ici donc, lespace aprs le titre est de 2,3 ex, mais peut
aeindre 2,5 ex (2,3 + 0,2).

8 Ligne

414 la date du 19 septembre 2011.

203

Chapitre 23
ligne 4

Apparence des textes


sixime et dernier argument de \@startsection, qui indique
lapparence proprement dite de notre titre. Il sagit dun texte
en police normale cest--dire celle dnie par la commande
\setmainfont , en taille \Large, mise en gras (\bfseries). Ici
toutes nos commandes sont prises comme des commandes de
bascule, la bascule nissant avec laccolade fermante. La commande \bfseries est lquivalent bascule de la commande
\textbf. Il est recommand de nutiliser dans les styles de titre
que des commandes bascule, pour viter des espaces indsirables.

Supposons maintenant que nous souhaitons avoir notre titre en italique et en


police sans empaements. Il nous sut de rednir la commande \section, en
entourant notre dnition de \makeatletter et \makeatother ( p. 202, 23.3.1).
1

\makeatletter

\renewcommand\section{\@startsection {section}{1}{\z@}%

{-3.5ex \@plus -1ex \@minus -.2ex}%

{2.3ex \@plus.2ex}%
{\sffamily\Large\itshape}}

5
6

\makeatother

La commande \ssfamily produit une bascule vers la police sans empaement dnie par \setsansfont, tandis que \itshape produit une bascule vers un
texte en italique.

23.4 Dnir lapparence : apitres et niveaux suprieurs


Si lon cherche dans le chier book.cls la commande \chapter, on trouve9 :
1

\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi

\thispagestyle{plain}%

\global\@topnum\z@

\@afterindentfalse

\secdef\@chapter\@schapter}

Deux lments nous intressent ici.


Le premier est la ligne 2 : \thispagestyle{plain}. On comprend ainsi la raison pour laquelle les pages de dbut de chapitre ne sont pas numrotes au
mme endroit que les autres : le style de cee page est plain et non pas
9 Lignes

360 et suivantes, la date du 6 aot 2011.

204

Dnir lapparence : chapitres et niveaux suprieurs

23.4

heading , comme pour les autres pages ( p. 191, 22.1). Par consquent, si
lon souhaite que les pages de titres aient les mmes en-ttes et pieds de pages
que les pages standards, il faut rednir la commande \chapter en supprimant
\thispagestyle{plain}.
1

\makeatletter

\renewcommand\chapter{\if@openright\cleardoublepage %

\else\clearpage\fi

\global\@topnum\z@

\@afterindentfalse
\secdef\@chapter\@schapter}

6
7

\makeatother

Le second lment intressant est la dernire ligne. La commande \secdef


renvoie vers \@chapter si nous utilisons \chapter et vers \@schapter si nous
utilisons \chapter*.
En fouillant les codes des commandes \@chapter et \@schapter nous trouvons quelles appellent \@makechapterhead et \@makeschapterhead, respectivement.
\@chapter, \@schapter, \@makechapterhead et \@makeschapterhead sont dnies via la commande \def et non pas \newcommand.
En eet la dnition est faite en TEX et non pas en LATEX. Pour nos
propos, cela na pas grande inuence.

Intressons-nous la commande \@makechapterhead10 .


1

\def\@makechapterhead#1{%

\vspace*{50\p@}%

{\parindent \z@ \raggedright \normalfont


\ifnum \c@secnumdepth >\m@ne

\if@mainmatter

5
6

\huge\bfseries \@chapapp\space \thechapter

\par\nobreak
\vskip 20\p@

\fi

9
10

\fi

11

\interlinepenalty\@M

12

\Huge \bfseries #1\par\nobreak


\vskip 40\p@

13
14

}}

Analysons-l :
10 Ligne

386, la date du 19 septembre 2011.

205

Chapitre 23

Apparence des textes

ligne 2

la commande \vspace produit un espace vertical, ici de 50 pt,


comme lindique le 50\p@. La prsence dune astrique indique
que notre espace vertical continue aprs un changement de
page.

ligne 3

la commande \parindent prcise lindentation du paragraphe


ce point prcis : ici une longueur nulle (\z@). La commande \raggedright signie que le texte va tre align gauche
linverse \raggedleft signierait que le texte serait align droite. ant la commande \normalfont, inutile de dire
quelle signie que la police standard celle dnie par la commande \setmainfont est utilise.

lignes 4-5, 9, 10 on conditionne lachage dun numro de chapitre au positionnement dans la partie principale du document, celle qui suit
\mainmatter ( p. 32, 3.3), et la valeur du compteur secnumdepth, que vous pouvez rednir pour empcher la numrotation de certains niveaux de titre ( p. 208, 23.5).
ligne 6

on ache en taille \huge ( p. 57, 7.2.1) et en gras (\bfseries) la


chane de langue de dbut de chapitre (\@chapapp) suivie dune
espace et du numro de chapitre : le compteur apter, ach
via la commande \thechapter.

ligne 7

on insre un paragraphe (\par) et on empche un changement


de ligne (\nobreak).

ligne 8

on insre un espace vertical de 20 pt.

ligne 11

au niveau vis par ce livre la comprhension de cee ligne nest


pas indispensable. Toutefois, pour les curieux, cee ligne sert
prvenir un titre stalant sur plusieurs lignes. Sommairement, on peut dire que pour prvenir les ruptures de lignes ou
les changements de pages, LATEX utilise des paramtres appels
penalty . Plus une penalty est importante, plus la probabilit dune rupture est faible. Ici la penalty dinterlignage
de rupture de ligne est dnie 1000 (\@M).

ligne 12

on ache en taille \Huge et en gras (\bfseries) le titre du chapitre (#1). On introduit ensuite un paragraphe (\par), en demandant dviter les changements de pages (\nobreak).

ligne 13

on insre un espace vertical de 40 pt.


206

Dnir lapparence : chapitres et niveaux suprieurs

23.4

Nous allons maintenant fabriquer un nouveau style11 , o nous souhaitons


avoir :
Le texte chapitre et le titre aligns droite.
Le texte chapitre en petites capitales, sans gras, et en taille normale.
Un trait horizontal au-dessous du titre.
Nous allons donc reprendre le code existant et le copier-coller dans notre
prambule entre \makeatletter et \makeatother. Nous allons ensuite eectuer
les modications suivantes :
Remplacer \raggedright par \raggedleft pour avoir nos textes droite.
Remplacer le premier \huge\bfseries par \scshape, pour avoir chapitre en petites capitales et en taille normale.
Insrer la commande \hrulefill, qui produit un let horizontal, entre les
lignes 12 et 13 ( p. 213, 24.5).
Cela nous donne au nal :
1

\makeatletter

\def\@makechapterhead#1{%

\vspace*{50\p@}%

{\parindent \z@ \raggedleft \normalfont


\ifnum \c@secnumdepth >\m@ne

\if@mainmatter

\scshape \@chapapp\space \thechapter

\par\nobreak

\vskip 20\p@

\fi

10
11

\fi

12

\interlinepenalty\@M

13

\Huge \bfseries #1\par\nobreak

14

\hrulefill
\vskip 40\p@

15
16
17

}}
\makeatother

videmment, il faudrait appliquer le mme type de modications sur la commande \makeschapterhead. On pourrait aussi samuser modier ce qui est produit par \part. Pour cela il faut, de la mme faon, fouiller le chier book.cls.
11 Nous

nous inspirons ici du style de la classe bredele M, Bredele, op. cit.

207

Chapitre 23

Apparence des textes

23.5 Manipuler les compteurs : le cas des notes de


bas de page
Nous avons vu comment modier laspect dun compteur ( p. 201, 23.3.1).
Mais comment modier la valeur dun compteur ? Il y a pour cela deux commandes : \setcounter{compteur}{valeur} pour aecter la valeur valeur
au compteur compteur, et \addtocounter{compteur}{valeur} pour additionner la valeur valeur au compteur compteur. La valeur ajoute pouvant
tre ngative, il est ainsi possible de faire reculer un compteur.
En outre, il existe une commande \refstepcounter qui permet dincrmenter
dune unit un compteur. Cest celle qui est utilis par les commandes de niveau
de titre ( p. 29, 3.1).
Un nouveau compteur se cre avec \newcounter{compteur}[compteur2].
Si largument compteur2 est prsent, alors il indique que la valeur du compteur compteur doit tre rinitialise lorsque la commande \refstepcounter est
applique au compteur compteur2.
La commande \@addtoreset{compteur}{compteur2} permet dappliquer
cee rgle sur un compteur dj existant.
Ainsi, dans le chier book.cls, vous remarquerez la ligne suivante12 :
1

\@addtoreset{footnote}{chapter}

Ce qui signie que le compteur footnote, qui correspond la numrotation


des notes de bas de page, est rinitialis chaque nouveau chapitre numrot.
Si nous souhaitons annuler cee commande, pour avoir des notes de bas de
page en numrotation continue, il nous faut utiliser le package remreset et sa
commande \@removefromreset, qui annule un rglage de rinitialisation.
1

\usepackage{remreset}

\makeatletter

\@removefromreset{footnote}{chapter}

\makeatother

12 Ligne

718, la date du 24 aot 2011

208

Chapitre 24

lments de mise en page


Dans ce chapitre, nous allons voir quelques commandes permeant de modier la mise
en page. Rappelons quil ne faut normalement pas utiliser ces commandes telles quelles, mais
les imbriquer dans des commandes de mise en sens ( p. 39, 5.1).
Il ne sagit ici que dune trs courte introduction : dautres ouvrages en parlent mieux
que nous1 . En ce qui concerne les units de longueurs, nous renvoyons lannexe E ( p. 237,
E).

24.1

Espacements

On peut produire un espace horizontal via \hspace{longueur}. Si on utilise


la n de ligne narrte pas lespace.
Un espace vertical se produit par \vspace{longueur}. Si on utilise \vspace*,
le changement de page naecte pas lespace, qui continue sur la page suivante.
Toutefois, nous avons pu constater quune telle commande pose parfois des problmes pour la mise en page du paragraphe qui la prcde.

\hspace*,

24.2

Longueurs de mise en page

Pour rednir des paramtres tels que lespacement vertical entre deux paragraphes ou lindentation initiale dun paragraphe, il ne faut pas utiliser les commandes despacement, mais tout simplement rednir les longueurs de LATEX.
Nous avons vu que pour linterligne, il valait mieux utiliser le package setspace ( p. 198, 23.2). Il nous reste donc deux longueurs : lindentation initiale
1 En particulier Vincent L, Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais
oser le demander, In Libro Veritas, 2008, : http : / / www . framabook . org / latex . html ; Franck
M et Michel G, e LaTeX Graphics Companion, Boston : Addison Wesley, 2007.

209

Chapitre 24

lments de mise en page

du paragraphe et lespace entre les paragraphes. Ces longueurs sont \parindent


et \parskip.
Pour les rednir, on utilise \setlength{longueur}{valeur}. Par exemple, pour rednir la longueur de lindentation 3 cadratins :
1

\setlength{\parindent}{3ex}

Il existe aussi \addtolength{longueur}{valeur} qui ajoute valeur la


longueur dj existante.
Ainsi pour ajouter 1 pt lespacement entre deux paragraphes :
1

\addtolength{\parskip}{1pt}

Ces rednitions doivent se pratiquer aprs le prambule, car elles ne sappliquent quau groupe logique o elles surviennent, un groupe logique correspondant soit un environnement, soit un espace dlimit par une paire daccolades.
On peut supprimer lindentation dun paragraphe prcis en le commenant par la commande \noindent.

24.3 Marges
Bien quil ne soit pas conseill de le faire, on peut rednir les marges avec
le package geometry. Lors du chargement du package, on dispose des options
suivantes :
lmargin

pour la marge gauche sur une impression une face, pour la


marge intrieure sur une impression deux faces.

rmargin

pour la marge droite sur une impression une face, pour la marge
extrieure sur une impression deux faces.

tmargin

pour la marge du haut.

bmargin

pour la marge du bas.

Ainsi pour une impression avec seulement 1 cm de marge ce qui nest pas
conseill, si ce nest pour un brouillon on peut charger ainsi le package :
1

\usepackage[lmargin=1cm,rmargin=1cm,tmargin=1cm,bmargin=1cm]{geometry}

On peut aussi modier temporairement les rglages, pour une ou plusieurs


pages, via la commande \newgeometry{reglages}. On restaure ensuite les rglages initiaux avec la commande \restoregeometry.
Par exemple pour avoir une page sans marge, on crit :
210

Textes en retrait

24.4

\newgeometry{lmargin=0cm,rmargin=0cm,tmargin=0cm,bmargin=0cm}

Une page avec une marge nulle.

\newpage

\restoregeometry

Le package geometry possde de nombreuses autres fonctionnalits : nous


renvoyons sa documentation2 .
Si vous utilisez geometry et les notes de marge produites via \marginpar,
vous pouvez constater que les pages de gauches (paires) nachent pas les
notes. Le problme vient du fait que geometry rednit un certain nombre
de longueurs. Pour acher correctement les notes, il vous faut modier la
longueur \marginparwidth, en lui aectant la mme valeur que \leftmargin.
\setlength{\marginparwidth}{\leftmargin}

24.4

Textes en retrait

On peut souhaiter avoir un environnement qui produit du texte en retrait,


semblable lenvironnement quotation, comme un environnement exemple
avec un retrait gauche de 3 em et un retrait droit de 1em.
Si nous fouillons dans le chier ( p. 233, C.4) book.cls, nous trouvons que
lenvironnement quotation est dni de la manire suivante3 :
1

\newenvironment{quotation}
{\list{}{\listparindent 1.5em %

2
3

\itemindent

\listparindent

\rightmargin

\leftmargin

\parsep

\z@ \@plus\p@}%

\item\relax}

{\endlist}

e nous pouvons analyser ainsi :


ligne 2 5

code excut en dbut denvironnement.

ligne 7

code excut en n denvironnement. Nous fermons un environnement de type list bien queectivement, il ne sagisse
pas dune liste !

ligne 2

la commande \list{itemdefaut}{rglages typographiques}


ouvre un environnement list. Le premier argument correspond

2 Hideo
3 Ligne

U, e geometry package.
486, au 19 septembre 2011.

211

Chapitre 24

lments de mise en page


ce quache la commande \item en labsence dargument optionnel. Comme dans quotation on nutilise pas \item, ce premier argument est nul. Le second argument contient des commandes rglant la mise en forme. La premire, \listparindent,
indique lindentation des paragraphes lintrieur de la liste :
ici 1,5 em.

ligne 3

la seconde commande, \itemindent, indique lindentation du


premier lment de chaque \item : ici \itemindent se voit aribuer la valeur de \listparindent.

ligne 4

la marge de droite de notre liste (\rightmargin) se voit aribuer


la mme valeur que la marge de gauche (\leftmargin). Cee
valeur a t dnie auparavant dans le chier book.cls.

ligne 5

la longueur sparant deux paragraphes lintrieur de la liste


(\parsep) est xe 0 pt (\z@), mais peut stendre (\@plus) jusqu 1 pt (\p@) ( p. 238, E.3). Le second argument de la commande \list nit ici.

ligne 7

une liste ne peut pas fonctionner sans commande \item. Cest


pourquoi cee commande est appele ici. Pour viter des ennuis, on indique que le texte de cet \item est nul, grce la
commande \relax, qui est une commande servant ne rien
faire alors mme que TEX aend un contenu.

Maintenant, nous voulons notre environnement exemple, avec :


Une marge gauche plus forte, de 3 cadratin (3 em).
Une marge droite de 1 cadratin (1 em).
Un texte en italique.
Nous allons pour cela insrer dans le deuxime argument de la commande
les lignes suivantes :

\list
1

\leftmargin 3em

\rightmargin 1em

\itshape

Ce qui nous donne au nal :


1

\makeatletter

\newenvironment{exemple}

3
4

{\list{}{\listparindent 1.5em%
\itemindent

212

\listparindent

Trait horizontal

24.5
\leftmargin 3em

5
6

\rightmargin 1em

\itshape
\parsep

{\endlist}

10
11

\z@ \@plus\p@}%

\item\relax}

\makeatother

Pour des textes encadrs ou sur fond color, on pourra utiliser le package mdframed et / ou le package fancybox 4 .

24.5

Trait horizontal

Un trait horizontal se trace grce \rule[profondeur]{longueur}{paisseur}, o profondeur correspond lcart entre le trait et le bas de la ligne de
texte.
On peut aussi utiliser les commandes \hrulefill et \dotfill qui permeent
de tracer respectivement des lignes et des points, en comprimant le texte qui
suit, cest--dire en tirant au maximum la longueur de la ligne ou de la suite de
points. On dispose galement de la commande \hfill qui permet de comprimer
le texte qui suit en le faisant prcder despaces.
Exemple :
1

\hfill Du texte comprim.

2
3

\hrulefill Du texte comprim.

4
5

\dotfill Du texte comprim.

Du texte comprim.
Du texte comprim.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Du texte comprim.
Pour des traits plus complexes, par exemple en diagonale ou en pointills,
on se reportera au package eepic 5 ou, selon le cas, TikZ 6 .

4 On peut galement consulter, si on aime les ds de codage en T X / LAT X, Vincent L,


E
E
Botes , dans : Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais oser le demander,
In Libro Veritas, 2008, p. 7382, : http://www.framabook.org/latex.html.
5 Conrad K, EEPIC Extensions to epic and LATEX Picture Environment Version 1.1.
6 T, Tikz & PGF, op. cit.

213

Chapitre 25

Formater son index


La mise en forme par dfaut de lindex nest pas trs satisfaisante. On peut heureusement
la modier pour rendre lindex plus lisible.

25.1

Comment faire

Les commandes pour formater lindex sont placer dans un chier monstyle.ist que vous devez crer vous-mme.
Pensez placer ce chier un endroit o LATEX peut le trouver, par
exemple ct du chier principal.

Sans le package imakedix, il fallait compiler en ligne de commande ( p. 231,


C), selon cee syntaxe :
makeindex -s monstyle.ist monfichier.idx

Il faut encore procder ainsi lorsque vous passez loption noautomatic la


commande \makeindex pour un index particulier, comme par exemple pour celui
des sources primaires ( p. 152, 18.3.3).
Loption -s indiquait Makeindex quil devait utiliser le chier de style monstyle.ist.
En revanche, si vous ne passez pas loption noautomatic \makindex, il vous
faut passer loption options=-s monstyle.ist la commande \makeindex :
1

\makeindex[options=-s

monstyle.ist]

215

Chapitre 25

Formater son index

25.2 elques commandes


Nous allons donner ici quelques exemples de commandes quil est possible
de mere dans son chier monstyle.ist.
Dans le chier de styles .ist, on ncrit pas en LATEX mais en TEX. Les
commandes sont ainsi encadres par des guillemets anglais ". La barre
contre-oblique, quant elle, nest prise en compte que si elle est prcde
dune autre contre-oblique.

Le manuel de la commande MakeIndex1 nous indique que, pour modier ce


qui est insr entre le premier niveau ditem (lentre) ou niveau 0 et le
ou les numros de page, on utilise loption delim_0 ; de mme, pour dnir ce
qui est insr entre le deuxime niveau ditem (la sous-entre) ou niveau 1, et
les numros, on utilise loption delim_1, et loption delim_2 pour les sous-sousentres ou niveau 2 ditemisation. Le choix par dfaut est une virgule suivie
dun blanc : ", "
Ainsi, si nous dsirons que le numro de la page soit justi droite, et non
simplement spar de lentre par une virgule et un blanc, nous devons utiliser
la commande \hfill ( p. 213, 24.5) que nous indiquons dans notre chier de
style par les lignes suivantes :
1

delim_0 "\\hfill "

delim_1 "\\hfill "

delim_2 "\\hfill "

Nous obtenons donc :


Adrien

Charlemagne

Ducs
Tassilon

vques
Damase
Formose

5
5

Si nous prfrons une ligne de points, il faut remplacer

"\\hfill "

par

"\\dotfill ".
1 e lon peut lire en frappant dans le terminal ( p. 231, C) man makeindex et que lon peut
quier en frappant la lere q, ou, si lon utilise Windows, que lon peut consulter cee adresse
http://www.fiveanddime.net/man-pages/makeindex.1.html.

216

elques commandes

25.2

Les espaces situes entre les commandes et les deuximes guillemets


fermants sont indispensables. En eet, en labsence de ces espaces, MakeIndex accole, dans le chier .ind gnr, les commandes aux numros
de page, ce qui bloque alors la compilation, puisque LATEX se retrouve alors
face des commandes inconnues, du style \hfill1.

Si lon continue la lecture du manuel, on apprend aussi comment faire apparatre sq. , ou ce que lon veut, quand une mme entre est indexe dans
trois pages ou plus la suite. Il sut dindiquer suffix_3p "~sq."
Voyons maintenant comment lon peut insrer les leres de lalphabet entre
les groupes dentres. Cee manipulation permet de rendre plus lisible un index
un peu long.
Le manuel indique que loption par dfaut headings_flag 0 ne met pas de
sparateurs entre les groupes, que loption headings_flag 1 permet dobtenir des
leres majuscules comme sparateur, et loption headings_flag -1 des leres
minuscules.
Dnissons ensuite la manire dont vont apparatre ces leres. On utilise la
commande heading_prefix. Supposons que nous voulions faire apparatre ces
leres sparatrices en gras. Noublions pas que lon code en TEX Nous crivons
donc :
1

heading_prefix "{\\bfseries "

Si nous voulons quelles apparaissent en italique, nous crivons "\\itshape"


(on utilise \bfseries et \itshape, qui sont des commandes TEX, et non \textbf
\textit).
Nous pouvons de mme changer la taille des leres sparatrices en ajoutant
\\large ou \\Large, et ainsi de suite. ( p. 57, 7.2.1)
Mais nous avons ouvert une accolade il nous faut la refermer :
1

heading_suffix " }\\nopagebreak\n "


\\nopagebreak vite quune lere-sparatrice se retrouve seule en n de
page. Le \n est une petite coqueerie pour permere davoir, dans notre chier
.ind, un retour la ligne aprs \nopagebreak.
Ce nest pas ni. Nos leres sont actuellement justies gauche, comme
les entres de lindex. Nous voudrions quelles soient centres :

headings_flag 1

heading_prefix " {\\bfseries\\large\\hfill "

heading_suffix " \\hfill}\\nopagebreak\n "

Les deux \\hfill tirent, pour le premier, lespace avant la lere vers la
droite, et pour le second lespace suivant la lere vers la gauche voil nos
leres centres.
217

Chapitre 25

Formater son index


Adrien

C
Charlemagne

D
Ducs
Tassilon

E
vques
Damase
Formose

5
5

Si nous prfrons quelles soient simplement lgrement dcales vers la


droite, nous pouvons utiliser, la place de \\hfill, \\hspace*{1em} qui rajoute
gauche un espace dun cadratin ( p. 237, E ; p. 209, 24.1).
and on a compris ce systme, il est alors assez simple de formater sa
guise lindex. Cest pourquoi, pour les autres options, nous renvoyons ici la
lecture du manuel2 .
Voici tout de mme, titre indicatif, le chier nal :
1

headings_flag 1

suffix_3p "~sq."

heading_prefix " {\\bfseries\\large\\hfill "

heading_suffix " \\hfill}\\nopagebreak\n "

delim_0 "\\hfill "

delim_1 "\\hfill "

delim_2 "\\hfill "

2 On pourra aussi consulter Vincent L, Allure de lindex , dans : Tout ce que vous avez
toujours voulu savoir sur LaTeX sans jamais oser le demander, In Libro Veritas, 2008, p. 168170, :
http://www.framabook.org/latex.html.

218

Sixime partie

Annexes

Avec un escalier prvu pour la monte, on russit souvent monter plus bas quon serait descendu avec un
escalier prvu pour la descente.
Dicton shadok

219

Annexe A

Installer LATEX
Avant de pouvoir se servir de LATEX (XELATEX), il faut linstaller sur son ordinateur. Voici
comment faire pour les systmes dexploitation courants1 .

A.1

La notion de distribution

En gnral, on ninstalle pas LATEX tout seul, on installe une distribution LATEX.
Une distribution est un ensemble de chiers comprenant :
les logiciels TEX, LATEX, et gnralement XELATEX, mais aussi dautres logiciels qui appartiennent la famille TEX2 , que nous verrons en temps
voulu ;
des chiers permeant dtendre les possibilits de LATEX : les packages et
les classes ;
de la documentation sur ces chiers.
Il existe deux distributions courantes : TeX Live, qui se veut portable et est
trs adapte pour MacOS X et Linux, et MikTeX pour Windows uniquement.
Lobjet de ce chapitre est donc dexpliquer comment installer ces distributions.

A.2

Installer TeX Live sous Mac Os X

La mthode la plus simple consiste installer MacTeX3 . Celle-ci comprend


non seulement une version de TeX Live pour Mac, mais aussi des logiciels pour
1 Merci

Brendan Chabannes pour la rdaction de la majeure partie de ce chapitre.

2 Pour prendre une analogie avec les logiciels connus, quand vous installez Microso Oce, vous

installez non seulement Word, Excel et Powerpoint, mais aussi des logiciels utiles ces derniers, par
exemple pour tracer des organigrammes.
3 http://www.tug.org/mactex/

221

Annexe A

Installer LATEX

faciliter la rdaction avec LATEX.


Pour linstaller, il sut de tlcharger le chier dinstallation sur le site, en
page daccueil. Il sagit dun chier .zip, quil faut le cas chant dcompresser.
Dedans se trouve un chier .mpkg : un double clic dessus sut lancer le logiciel
dinstallation. Il vaut mieux conserver les rglages standards dinstallation.
Une fois linstallation eectue, vous pouvez vous rendre dans le dossier
TeX du dossier Applications de votre Mac.
Ce dossier comprend plusieurs applications :
BibDesk

qui est un logiciel pour grer les chiers bibliographiques au format .bib ( p. 79, 10).

Excalibur

qui est un logiciel de correction orthographique prvu


pour reconnatre les commandes LATEX. Nous ignorons
sa qualit, ne layant pas essay.

LaTeXit

qui est un logiciel pour rdiger encore plus facilement


des quations en LATEX et les exporter vers divers logiciels. Comme ce livre est lun des rares sur LATEX ne
pas expliquer comment faire des quations avec, nous
ne nous tendrons pas.

TeXLive Utility

qui sert mere jour les dirents modules de LATEX :


classes, packages, etc. ( p. 226, A.5.1)

TeXworks et TeXShop

qui sont deux diteurs de textes prvus pour LATEX.


Choissisez lun dentre eux pour commencer en LATEX
( p. 19, 2).

En outre, un panneau de conguration, Distribution TeX est ajout dans


les Prfrences Systmes. Dans la plupart des cas, vous naurez pas vous en
servir. Il permet en eet de choisir entre plusieurs versions de la distribution (par
exemple entre la version 2011 et la version 2012), ce qui est rarement ncssaires.

A.2.1 Les caractres LATEX sous Mac Os X


Les claviers Apple nindiquent pas directement les caractres spciaux disponibles. Voici comment frapper la plupart des caractres ncessaires lutilisation de LATEX.
Caractre

Frappe

+ + /

+ (

+ )

+ + (

222

Installer TeX Live sous GNU/Linux

A.3

Caractre

Frappe

+ + )

+ + L

+ N

Et pour les claviers de Suisse romande, en utilisant la barre suprieure de


chires :
Caractre

A.3

Frappe

+ + 7

+ 8

+ 9

+ + 5

+ + 6

+ + 7

+ N

Installer TeX Live sous GNU/Linux

La plupart du temps, les paquets TeX Live sont disponibles dans les dpts de
votre distribution. Nanmoins, la majeure partie des distributions GNU/Linux
ne grent pas certains packages rcents tels que Biber4 . Cest pourquoi nous
privilgierons linstallation partir du programme que vous pouvez trouver sur
le site de TeX Live.
Une installation complte une fois eectue pse environs trois giga-octets.
Le temps passant et les mises jour saccumulant, il est recommand davoir
quatre giga-octets despace libre sur le disque dur.

A.3.1

Au pralable

Assurez-vous avant toute chose davoir le paquet perltk install sur votre
systme. Si vous ne le possdez pas, vous devrez lancer linstallation en ligne de
commande uniquement.
titre dexemple, le paquet se nomme perl-tk sous Debian et Ubuntu,
perl-Tk-804 sous Fedora et ses drivs.
Sous Ubuntu, par exemple, il existe un moyen trs simple dinstaller ce paquet : tapez apt://perl-tk dans la barre dadresse de votre navigateur web Firefox.
4 Les choses sont toutefois en train dvoluer : les prochaines versions de systmes tels que Debian
ou Ubuntu (respectivement nommes Wheezy et antal etzal) disposeront de TeX Live 2012 et
de Biber.

223

Annexe A

Installer LATEX

Rendez-vous alors sur http://tug.org/texlive/acquire-netinstall.html.


Choisissez le chier install-tl-unx.tar.gz. Une fois tlcharg, dcompressez-le
puis rendez-vous dans le dossier nouvellement cr laide dun terminal, par
exemple en tapant cd ~/Tlchargements/install-tl-*/. Vous pouvez alors lancer linstallation en mode administrateur, par exemple ainsi :
sudo perl install-tl -gui wizard

Cee commande lancera le programme dinstallation de la distribution complte


qui reconnatra automatiquement larchitecture de votre plate-forme.

A.3.2 Installation et conguration


Aprs avoir donn votre mot de passe, il vous sura de suivre les tapes
suivantes :
1. Cliquez simplement sur Suivant .
2. Aendez que le tlchargement soit ni. Il vous faut choisir un dossier
dinstallation : choisissez de prfrence un rpertoire hors du systme de
base, comme /$HOME/texlive20125 .
3. Conservez A4 pour la taille de papier.
4. Cliquez sur Installer.
5. la n de linstallation, un message vous informera quil vous faut ajuster
votre $PATH . Ouvrez le chier ~/.bashrc (crez-le sil nexiste pas),
et ajoutez-y les lignes suivantes :6
PATH="/$HOME/texlive2012/bin/x86_64-linux :$PATH"

Linstallation est termine. Vous pouvez fermer votre terminal pour que les
modications appliques votre $PATH soient prises en compte.

A.4 MiKTeX sous Windows


Les systmes Windows dirent considrablement des systmes GNU/Linux
et Mac OS X. Par consquent, sil est possible de faire une installation manuelle
de la distribution TeX Live sous Windows, la procdure est fastidieuse et complexe.
5 $HOME est une variable denvironnement. Vous pourriez tout aussi bien taper
/home/justin/ si votre nom dutilisateur est justin .
6 $PATH est une variable denvironnement qui permet au systme de savoir o chercher
les excutables. TeX Live ntant pas install dans les dossiers par dfaut, puisquil est tranger au
systme de base, cest vous de lintgrer. Ajustez le champ entre guillemets selon le message qui
sache lcran, en prenant soin de nir par :$PATH .

224

Mere jour les packages

A.5

Cest pourquoi nous nous tournerons vers une distribution consacre exclusivement Windows, qui automatise les tches dinstallation de la distribution
LATEX et permet de grer son installation en se conformant aux pratiques qui ont
cours sur ce systme. Cee distribution a pour nom MiKTeX. Son installateur
est trs complet : en plus dune distribution LATEX, il installe aussi un logiciel
graphique de mise jour des paquets et un diteur de texte.

A.4.1

Installation

Il faut se rendre sur la page de tlchargement de la distribution :

http://

miktex.org/2.9/setup. Choisissez le chier Net Installer, et non le Basic Installer.

Vous remarquerez que des installateurs sont fournis pour les versions
dites respectivement 32 bits et 64 bits de Windows. Si vous ne connaissez
pas ces termes, veillez choisir la version 32 bits. Cee dernire peut en
eet sexcuter sur les deux types de plate-formes, tandis que la rciproque
nest pas vraie. Si vous savez que vous disposez dun systme en 64 bits,
vous pouvez choisir sans crainte linstallateur qui y correspond.

Une fois linstallateur tlcharg sur votre ordinateur, un double-clic lance la


procdure. Il faut dabord accepter la licence du logiciel. Puis choisissez Download MiKTeX , et, lcran suivant, Basic MiKTeX .
Il vous est demand de choisir une source de tlchargement. Prfrez une
source proche de votre domicile, donc pour un utilisateur habitant dans le Nord
de la France, les serveurs franais, anglais ou allemands font amplement laaire.
ltape suivante il faut choisir un rpertoire de tlchargement. Choisissez de prfrence un dossier qui se trouve dans Mes Documents , comme par
exemple C:\Documents and Settings\Votre utilisateur\Mes documents\miktex.
Lorsque vous avez achev cee tape, linstallateur tlcharge tous les composants dont il a besoin, vous avertit quil a termin son travail, puis sarrte.
Lancez-le alors une seconde fois. Mais au lieu de choisir Download MiKTeX , choisissez prsent Install MiKTeX , puis de nouveau Basic MiKTeX . Prfrez alors une installation en tant quadministrateur, pour tous les
utilisateurs de lordinateur. Puis slectionnez le dossier qui contient les composants ; dans notre exemple prcdent, il sagissait de C:\Documents and Settings\Votreutilisateur\Mes documents\miktex.
Conservez les choix par dfaut sur les deux crans suivants : ils sont corrects.
Vous pouvez achever le processus.

A.5

Mettre jour les paages

La plupart des packages sont lists sur http://www.ctan.org/tex-archive/


qui sert de dpt pour tous les projets tournant autour de TEX et LATEX. Cest en
225

Annexe A

Installer LATEX

gnral sur les serveurs du CTAN (Comprehensive TeX Archive Network) que les
logiciels de mise jour des packages vont chercher ceux-ci.
Pour tre tenu au courant des nouveaux packages et des mis jours
des anciens packages, vous pouvez vous abonner la liste https://lists.
dante.de/mailman/listinfo/ctan-ann.
Les mises jour de la distribution TeX Live ne sont fournies que pour
une priode dun an environ aprs sa sortie (gnralement entre mai et
juillet). Pass ce dlai, lorsque vous tenterez de mere jour votre distribution TeX Live, vous trouverez un message de ce type :
/home/justin/texlive2011/bin/x86_64-linux/tlmgr : e
TeX Live versions supported by the repository
(20122012)
do not include the version of the local installation
(2011). Goodbye.
ou bien
TeX Live 2011 is frozen forever and will no longer be
updated.
Dans un tel cas, il vous faut soit installer une nouvelle version de la
distribution TeX Live, en recommenant la procdure dinstallation, soit
continuer utiliser lancienne qui ne reoit plus de mises jour. TeX Live
est dune grande stabilit, mais ce nest pas ncessairement le cas de tous
les packages que lon peut tre amen utiliser. Si lun des packages que
vous utilisez est aect dun bug qui vous gne, vous naurez dautre choix
que de mere niveau la distribution TeX Live. Dans le cas contraire, vous
pouvez parfaitement vous contenter de lancienne version.

A.5.1 Sous Mac OS X


Pour mere jour les packages, le plus simple est dutiliser le logiciel TeXLive Utility , livr avec MacTeX. Une fois le logiciel ouvert, il sut de choisir
longlet Manage Updates , puis de slectionner le package mere jour
sil ne sache pas, cest quil est jour avant de cliquer sur Update .
noter quon peut aussi utiliser longlet Manage Packages pour grer linstallation de nouveaux packages.

A.5.2 Sous Linux


Il y a deux moyens de mere jour votre installation LATEX sous GNU/Linux.
226

Mere jour les packages

A.5

1. Le premier moyen de mere jour simplement est dutiliser tlmgr dans un


terminal. La commande permeant de tout mere jour est la suivante :
tlmgr update --self --all. Sil savre ncessaire dinstaller un nouveau
paquet, il faut utiliser la commande tlmgr install paquet.
2. Vous pouvez lancer linterface graphique de gestion des paquets en tapant
la commande tlmgr gui.

A.5.3

Sous Windows

Dans le menu Dmarrer, vous trouvez une section nomme fort justement
MiKTeX, suivie dun numro de version. Dans cee section, il y a notamment
une sous-section consacre la Maintenance rpondant au doux nom de
Maintenance (Admin) , dans laquelle vous avez accs deux outils utiles :
le gestionnaire de mises jour de packages ( Updates ), et le gestionnaire
dinstallation de nouveaux packages ( Package Manager ).
Remarquez que la plupart du temps, vous naurez pas besoin dinstaller explicitement un nouveau package. En eet, au moment de la compilation, MiKTeX dtecte que vous sollicitez un composant qui nest pas prsent sur votre
systme et vous propose de linstaller.

227

Annexe B

elques logiciels pour


travailler avec LATEX
Ce chapitre prsente quelques logiciels pour travailler avec LATEX. Cee liste est non exhaustive. Ne sont proposs que des logiciels gratuits et sous licence libre.

B.1

diteurs de texte spcialiss en LATEX

B.1.1

TeXMaker (Multi-plateformes)

Des logiciels grand public il est sans doute le mieux adapt aux longs
travaux de rdaction : possibilits dacher le plan, douvrir automatiquement
des chiers inclus, disposition en onglets, rglages avancs des raccourcis de
frappe, etc. On peut lui reprocher un temps de dmarrage relativement long.
Pour demander lenregistrement en UTF-8, il faut se rendre dans les prfrences, onglet Editeur .
Malheureusement ce logiciel ne propose pas en standard de bouton pour
compiler avec XELATEX. Il vous faudra donc avant toutes choses vous rendre dans
les prfrences, onglet Commandes et remplacer tous les latex ou pdatex par xelatex , puis valider.
Pour compiler avec XELATEX, il faudra utiliser loutil de compilation avec
A
LTEX.

B.1.2

TeXWorks (Multi-plateformes)

Sans doute le premier logiciel utiliser pour commencer avec LATEX. Les options sont relativement limites, ce qui favorise une prise en main rapide. En
229

Annexe B

elques logiciels pour travailler avec LATEX

outre le systme de visualisation des PDFs est extrmement pratique, permettant de voir en parallle la version PDF et la version LATEX. Toutefois on trouvera
vite ce logiciel limit en terme de fonctionnalits.
Pour demander lenregistrement en UTF-8, il faut se rendre dans les prfrences, onglet Editeur .

B.1.3 TeXShop (Mac)


Ce logiciel est livr avec MacTeX. Il propose des boutons de composition au
dessus de chaque fentre. Relativement lger utiliser, il y manque cependant
les fonctionnalits dachage du plan et douverture automatique des chiers
inclus. Il possde peu de rglages avancs de rdaction. Sa force reste, nos
yeux, sa rapidit de lancement et sa uidit.
Pour demander lenregistrement en UTF-8, il faut se rendre dans les prfrences, onglet Document .

B.2 Logiciels de gestion bibliographique au format


.bib
Il existe deux principaux logiciels de gestion de chier .bib : JabRef1 et BibDesk2 . Tous les deux proposent de nombreuses fonctionnalits : recherches des
doublons, tri selon plusieurs critres, import / export dans dautres formats que
.bib. Le choix entre les deux est donc dlicat. Les utilisateurs Mac prfreront
sans doute BibDesk, en raison de la proximit de son organisation avec certains
logiciels Apple.
Pour BibDesk, le rglage en UTF-8 se fait dans les prfrences, bouton chier . Pour Jabref, il se fait dans les prfrences, onglet general .

1 http://jabref.sourceforge.net/, multi-plateformes.
2 http://bibdesk.sourceforge.net/, livr avec MacTeX,

230

disponible uniquement sous Mac.

Annexe C

Introduction la ligne de
commande
La plupart des diteurs de textes spcialiss en LaTeX proposent un bouton pour mere
en uvre les principales commandes de compilation : XeLaTeX, MakeIndex, parfois Biber.
Il devient toutefois trs rapidement ncessaire de pouvoir faire plus : par exemple si lon
utilise le script de gestion des index de sources primaires ( p. 153, 18.3.5), il faut pouvoir
lexcuter.
On utilise pour cela le terminal du systme dexploitation, qui permet dexcuter directement ces commandes. Voici une brve introduction son utilisation dans le cadre dun usage
de XELATEX.

C.1

La notion de rpertoire courant

Ce quon appelle rpertoire courant correspond lemplacement o lon


se situe dans larborescence des chiers de lordinateur. and on veut utiliser
les lignes de commande pour se servir de XELATEX, la premire chose faire est
de changer le rpertoire courant pour se rendre dans le dossier dans lequel se
situe les chiers compiler.

C.2

Mac OS X et Linux

Sur Mac OS X, le terminal se situe dans le dossier Utilitaires du dossier


Applications .
Sous GNU/Linux, le Terminal se trouve dans le menu Application Accessoires , ou bien il vous sut dappuyer sur la touche Windows puis de
taper les premires leres de lapplication : term devrait sure. Cliquez sur le
symbole qui apparat.
231

Annexe C

Introduction la ligne de commande

Le rpertoire courant est gnralement indiqu gauche de la ligne, le symbole ~ reprsentant le dossier de dpart. Pour lister son contenu, frapper ls. Pour
valider une commande, il faut frapper sur la touche Entre.
Pour vous dplacer dans un rpertoire, il sut de frapper la commande cd
suivie du dossier o vous souhaitez vous rendre.
Ainsi la commande cd projet-latex vous fait pntrer dans le rpertoire
projet-latex, ce que vous pouvez vrier avec la commande dir. Pour vous
dplacer dans un rpertoire parent, frappez simplement cd ..
Plutt que de remonter de dossier en dossier avec la commande cd jusquau
rpertoire courant, on peut aussi taper cd suivi directement du chemin complet
( p. 31, 3.2.1) du dossier o lon veut se rendre. Sous Mac ou sous Linux, si lon
nest pas sr du chemin, on peut le vrier en faisant simplement glisser licne
du dossier sur la fentre du Terminal : le chemin sache alors.
Lorsque vous tes dans le rpertoire o vous souhaitez excuter une commande, vous pouvez la lancer de la mme manire :
xelatex nomdufichiercompiler.tex
biber nomdufichercompiler
makeindex nomdufichiercompiler
etc.

Enn la commande ls vous permet dacher le contenu du dossier dans


lequel vous vous trouvez.

C.3 Windows
Sous Windows, le terminal sappelle Invite de commandes . Le langage
est dirent de celui que lon trouve dans les systmes de type Unix comme
Linux et Mac OS X. On trouve cependant quelques similarits.
Pour dmarrer une invite de commande, pressez simultanment la touche
Windows de votre clavier et la touche R. Dans linvite qui souvre frappez cmd
puis Entre. Vous voil face une console.
Toute commande, une fois frappe, est valide par une pression sur la touche
Entre.
Le rpertoire courant est indiqu gauche du curseur clignotant. La commande dir vous indique ce qui se trouve dans le rpertoire courant.
Pour vous dplacer dans un rpertoire, il sut de frapper la commande cd
suivie du dossier o vous souhaitez vous rendre.
Ainsi la commande cd projet-latex vous fait pntrer dans le rpertoire
projet-latex, ce que vous pouvez vrier avec la commande dir. Pour vous
dplacer dans un rpertoire parent, frappez simplement cd ..
Lorsque vous tes dans le rpertoire o vous souhaitez excuter une commande, vous pouvez la lancer de la mme manire :
232

Trouver les chiers standards

C.4

xelatex nomdufichiercompiler.tex

La commande dir ache enn le contenu du rpertoire dans lequel vous


tes acutellement.

C.4

Trouver les iers standards

Pour pouvoir personaliser le comportement standard de LATEX ou dun package, par exemple les styles de biblatex, il est en gnral ncessaire de regarder
les chiers standards pour rednir telle ou telle commande ou macro bibliographique.
Il faut donc trouver leurs emplacements. Dans le chier .log produit lors de
la compilation est list lensemble des chiers chargs par le compilateur. Il est
gnral ais de connatre le nom du chier : il sagit souvent de celui du package
ou de la classe. Une recherche dans le chier permet donc de trouver le chemin,
par exemple :
/usr/local/texlive/2012/texmf-dist/tex/latex/biblatex/cbx/verbose-trad2.cbx.

En gnral les chiers se trouvent dans des rpertoires invisibles via linterface standard du systme dexploitation. Pour les ouvrir, il faut donc utiliser la
ligne de commande, et frapper
Sous Mac

open chemin-du-fichier.

Sous Windows

chemin-du-fichier.

Sous Linux

nom_de_lediteur chemin-du-fichier.

Cependant, par dfaut, le copier-coller est


dsactiv dans linvite de commande. On peut contourner cela
en copiant-collant dans la barre dadresse du navigateur Firefox.

Il ne faut jamais modier les chiers standards. En eet, en cas de mise


jour de ces chiers, vous perdriez toutes vos modications. Il vaut mieux
en gnral rednir les commandes, quie grouper ces rednitions dans
un chier.

233

Annexe D

Faciliter les compilations avec


Latexmk
Il est frquent avec LATEX de devoir faire plusieurs compilations, avec dirents programmes, dans un ordre prcis. Le programme Latexmk permet de grer automatiquement
ces direntes compilations.

D.1 Principe
Latexmk est un script install avec toutes les distributions LATEX. Il sutilise
via la ligne de commande ( p. 231, C). Latexmk consulte les chiers de compilation (.log) pour savoir quels sont les scripts excuter, et dans quel ordre.
Trs simple dutilisation, il ncessite toutefois quelques adaptations pour tre
compatible avec XELATEX. Nous les prsentons ici, mais le programme propose
beaucoup plus de rglages : nous renvoyons au manuel1 .

D.2 Adaptation pour XELATEX


Pour congurer le script, il vous faut crer un chier latexmrc cot du
chier compiler. Dans ce chier, crivez les lignes suivantes, en prtant aention aux points-virgules de ns de ligne :
$pdf_mode = "1" ;
$pdflatex = "xelatex" ;
1 John

C, Latexmk.

235

Annexe D

Faciliter les compilations avec Latexmk

La premire ligne signie que vous demandez Latexmk de vous produire


des chiers .pdf et non pas .dvi, qui est le format historique produit par
LATEX.
La seconde ligne signie que vous demandez Latexmk dutiliser XELATEX et
non pas LATEX pour produire ces .pdf.
Rendez vous avec le terminal ( p. 231, C) dans le dossier du chier compiler. Frappez ensuite la commande suivante :
latexmk fichier

o fichier est le nom de votre chier principal. Vous voyez alors dler les
direntes compilations. Latexmk se charge de faire autant de compilations que
ncessaires, en tenant compte des ventuels dplacements dtiquees. la n
de ces direntes compilations, vous trouverez le chier .pdf dsir.
Toutefois, si vous appelez une entre bibliographique non dnie ( p. 79,
10) ou une tiquee de renvoi interne ( p. 133, 16) non dnie, Latexmk ne
procde qu cinq sries de compilations2 . Il vous indique cependant les entres
ou tiquees problmatiques, par des lignes ayant cee forme :
Latexmk : Citation 'XXX' on page YYY undefined
Latexmk : Reference 'XXX' on page YYY undefined

Il vous est donc ais de retrouver les entres bibliographiques (= Citation )


et les tiquees (= Reference ) non dnies.

D.3 Adaptation pour lindex des sources primaires


Si vous utilisez le script de gestion de lindex des sources primaires ( p. 153,
18.3.5), il vous faudra galement ajouter la ligne suivante :
$makeindex="python index.py ;makeindex %S" ;

Cee ligne indique latexmk dexcuter le script python avant la commande makeindex, le code %S dsignant le chier pour lequel makeindex doit tre
excut.

2 Si au bout de cinq compilation le logiciel ne parvient pas un rsultat stable, il sarrtera avec
une erreur.

236

Annexe E

Units de mesure en LATEX


Nous expliquons ici les principales units de mesure en LATEX, mais aussi les manires
dindiquer des tailles relatives : indiquer, par exemple, que nous souhaitons avoir la moiti
de la longueur de la ligne.

E.1

Units de mesure

LATEX tant dorigine anglophone, le sparateur des dcimales doit tre un


point et non pas une virgule. Ainsi pour prciser une taille de 1,5 cm, il faut
crire : 1.5cm et non pas 1,5cm.
Les units de mesure peuvent tre divises en deux catgories : units absolues et units relatives la taille de la police courante. Nous ne prsentons ici
que les units les plus courantes.
Unit
pt

mm
cm
in
em

Nom

Explication
Units absolues
Point typographique pica Unit de base des mesures typographiques dans les systmes anglosaxons. Cest celle qui est utilise dans quasiment tous les logiciels. Correspond approximativement 0,35 mm.
millimtre
centimtre
Pouce anglo-saxon
Correspond approximativement
2,54 cm.
Units relatives
Cadratin
Correspond la largeur dun m dans
la police courante.
237

Annexe E
Unit
ex

Units de mesure en LATEX


Nom

Explication
Correspond la hauteur dun x dans
la police courante.

il

E.2 Longueurs relatives


Il est galement possible dindiquer des longueurs relatives certains lments. Il sut dindiquer un nombre dcimal devant une commande de longueur. Ainsi pour un trait horizontal dune moiti de largeur de la ligne :
1

\noindent\rule{0.5\linewidth}{1pt}

Voici les principales commandes de longueur :


Commande
\baselineskip
\linewidth

\textheight

\textwidth

\parindent
\parskip

Explication
Distance entre le bas dune ligne et
celui de la ligne suivante.
Largeur dune ligne. Dans certains environnements (par exemple
quotation) les lignes nont pas la
mme longueur que dans le texte
principal.
Hauteur maximale du texte dans une
page. Correspond grosso-modo la
longueur entre la marge haute et la
marge basse.
Largeur maximale de texte dans une
page. Correspond grosso-modo la
longueur entre la marge gauche et la
marge droite.
Longueur de lindentation du paragraphe.
Distance verticale entre deux paragraphes.

E.3 lasticit
Il est possible de dnir une certaine lasticit pour les longueurs, qui permet
de sadapter lespace disponible et aux contraintes de mise en page1 . On utilise
1 Par

exemple concernant les veuves et orphelines.

238

lasticit

E.3

pour cela les mot clefs minus et plus. Ainsi, si nous souhaitons acher un espace
blanc ( p. 209, 24.1) vertical dune longueur comprise entre 1 cm et 3 cm, mais
tournant idalement autour de 2,5 cm, nous crivons :
1

\vspace{2.5cm minus 1.5cm plus 0.5cm}

Cee syntaxe est utilise dans les commandes de dnitions des en-ttes
de section ( p. 203, 23.3.2), sous une forme lgrement dirente : \@plus et
\@minus ne sont que des alias LATEX des mot clefs TEX plus et minus.
Plus globalement, avec une syntaxe de longueur a minus b plus c la longueur nale m est telle que2 a b m a + c.

2 Nous ninsrons pas ici une quation mais une inquation. Le sous-titre de ce livre est donc
pleinement justi.

239

Annexe F

Travail collaboratif : les


logiciels de suivi des rvisions
La plupart des traitements de texte proposent des systmes pour travailler plusieurs
sur un mme chier et garder un historique des rvisions, indiquant les modications, leurs
dates et leurs auteurs respectifs.
Comment faire en LATEX ? La solution la plus simple est dutiliser un logiciel de suivi des
rvisions, utilis par les programmateurs qui travaillent plusieurs sur un projet.

F.1 Principe
Imaginons que Bob et Alice travaillent ensemble sur un projet1 . Ils souhaitent pouvoir changer facilement leurs modications.
Ils dposent pour cela les chiers initiaux sur un serveur (un ordinateur
distant). Puis chacun rcupre ces chiers sur son propre ordinateur, laide
de commandes spciques au logiciel utilis.
Bob fait des modications (1) : il envoie ces modications sur le serveur, en
les accompagnant dun petit message les rsumant. Alice peut alors rcuprer
ces modications en local (2). Si Bob na modi quun seul chier, seul ce chier sera rcupr par Alice : cela permet Alice de modier dautres chiers
pendant ce temps. Une fois ses modications faites, Alice les envoie sur le serveur, en les accompagnant dun petit message les rsumant (3), et Bob peut ainsi
les rcuprer. Ces tapes sont reprsentes dans le schma F.1 (p. 242).
Il est aussi possible de faire dautres oprations : renommer, dplacer, dupliquer les chiers sur le serveur distant. En outre, ces logiciels permeent, si
1 Le nombre de collaborateurs avec de tels systmes est illimit : ici nous nen prenons que deux
pour simplier.

Annexe F

Travail collaboratif : les logiciels de suivi des rvisions

deux personnes ont fait des modications en mme temps sur le mme chier,
de proposer de ne garder que certaines de ces modications.2
Serveur
3

4
2

1
.
Bob

Alice

F. F.1 : Fonctionnement des logiciels de suivi des rvision


Un tel systme prsente de nombreux intrts :
il est ais de sassurer que lon possde bien la dernire version du projet,
contrairement aux changes classiques par courriels qui peuvent rapidement semer la confusion ;
on dispose dun historique des versions permeant de revenir en arrire,
le cas chant3 ;
contrairement aux systmes des logiciels de traitement de texte, lhistorique des versions ne se situe pas lintrieur du chier de travail, ce qui
vite une prise de poids et un certain nombre de problmes (notamment
ralentissement et corruption du chier).

F.2 Mise en pratique


Il existe de nombreux logiciels de suivi des rvisions : citons SVN, Git et
Mercurial. Le premier est sans doute plus simple en premire approche, mais les
deux autres possdent des fonctionnalits plus souples, notamment parce quil
ny a pas un serveur unique, comme sur notre schma, mais plusieurs serveurs
qui peuvent tre synchroniss.
Un certain nombre dhbergeurs proposent des services SVN, Git ou Mercurial4 .
2 Le

jargon nomme cee tape une rsolution de conit.


pourquoi une personne seule peut aussi trouver un intrt utiliser un tel systme, pour
se garantir un suivi du travail.
4 Toutefois par souci de condentialit il est conseill dutiliser un hbergement SVN / Git /
Mercurial interne linstitution dans laquelle ce projet commun sinscrit, en demandant, le cas
chant, au service informatique de le fournir.
3 Cest

242

Mise en pratique

F.2

Git et Mercurial ne fonctionnent pas ncessairement avec un serveur distant. Cest pourquoi on peut facilement sen servir pour grer un historique de
modication sur un projet mono-rdacteur.
La manipulation de ces outils peut se faire en ligne de commande, mais il
existe galement des logiciels graphiques.
Nous invitons le lecteur curieux se renseigner sur internet pour plus dinformations : il y trouvera aisment documentations et tutoriels5 .

5 Nous recommandons, pour Git, cet excellent livre : Sco C, Pro Git : professional version
control, : http://progit.org/book/fr/ ; pour notre part, nous avons crit un petit tutoriel sur
lUtilisation de Git avec une seule personne : Maeul R, Garder un historique de son travail
grce Git, : http://geekographie.maieul.net/83.

243

Annexe G

Trouver de laide
Comment faire lorsque lon est coinc sur un point particulier, quon a relu les dirents
manuels plusieurs fois1 ? Demander de laide dautres utilisateurs de LATEX.
Voici quelques endroits o le faire.

G.1

Forums internet

Les forums Internet sur LATEX sont plthore. En anglais, on peut utiliser celui
de LaTeX Community : http://www.latex-community.org/forum/. En franais, on peut utiliser celui du site Developpez.net http://www.developpez.
net/forums/f149/autres-langages/autres-langages/latex/.

G.2

Messagerie instantane

Il est possible de demander de laide sur dirents salons de messagerie instantane fonctionnant par IRC2 . En gnral on peut y trouver de laide assez
rapidement.
Pour se connecter un salon de discussion IRC, on peut utiliser le plugin
Chatzilla du logiciel libre Firefox.
En franais, ladresse est irc://irc.rezosup.org/latex ; en anglais irc://
irc.freenode.net/latex.
1 Signalons au passage la possibilit de tlcharger une aide sur lensemble des erreurs de compilation avec LATEX : Franck M et Michel G, Dtecter et rsoudre les problmes ,
dans : LaTeX Companion, 2e d., Paris : Pearson, 2006, : http://www.pearson.fr/livre/?GCOI=
27440100048330, lditeur met gracieusement ce chapitre disposition.
2 Lointain anctre de Skype, MSN et autres GoogleTalk.

245

Annexe G

Trouver de laide

G.3 Liste de discussion


En franais, celles de lassociation Gutemberg : http://www.gutenberg.eu.
en anglais, la liste suivante : http://
groups.google.com/group/comp.text.tex/topics, dont il est possible de se servir via un logiciel de gestion de Newsgroups , comme par exemple Mozilla
underbird.

org/?Listes-de-diffusion-gerees-par ;

246

Annexe H

Glossaire
Argument

Paramtre pass une commande et qui dtermine en


tout ou partie son rsultat.

Champ bibliographique lment dune rfrence bibliographique, tel que nom


de lauteur, titre, diteur
Classe

Indication du type ditorial du document produire.


Son choix se fait au tout dbut du document LATEX via
\documentclass[options]{classe}.
La classe inuence notamment le rendu nal et les
commandes disponibles.

Clef bibliographique

Identiant unique aribu une rfrence bibliographique. Il est conseill de ny mere que des caractres
alphanumriques non accentus.

Clef dindex

Code indiquant la position dune entre dans un index. Il est ncessaire de dnir une clef dindex pour
les entres comportant des caractres accentus. Les
clefs dindex peuvent galement servir pour des index
non alphabtiques (par exemple des index par date de
rgne.). La syntaxe est : \index{clef @entre}.

Commande

Morceau de code interprt par le compilateur pour


eectuer une suite doprations. Une commande est
un raccourci dcriture. LATEX propose des commandes,
les packages en rajoutent et il est possible de dnir
ses propres commandes.
247

Annexe H

Glossaire

Commentaire

Texte qui nest pas interprt par le compilateur. Tout


ce qui est situ entre le signe % et la n de ligne est un
commentaire.

Compilateur

Logiciel charg dinterprter le chier .tex pour


produire un chier .pdf. Dans ce livre nous utilisons
le compilateur XELATEX, plus rcent que LATEX.

Compteur

Nombre entier stock dans la mmoire de lordinateur


et manipulable par diverses commandes. Par exemple,
les lments numrots se voient associer un compteur.

Environnement

Portion de document ayant une signication spcique et qui, par consquent, reoit un traitement spcique. On utilise \begin{nom de lenvironnement}
pour indiquer le dbut dun environnement ; on utilise \end{nom de lenvironnement} pour en indiquer
la n. LATEX dnit des environnements, les packages
en rajoutent et il est possible de crer ses propres environnements.

Flottant

lment non textuel (image ou tableau, par exemple)


dont linsertion dans le ux du texte est automatiquement calcule par LATEX, en fonction de recommandations fournies par le rdacteur.

Macro bibliographique Sous-lment dun style bibliographique, en gnral


charg de grer lachage dun ou plusieurs champs.
Paage

Chargs dans le prambule, les packages sont des chiers qui permeent dtendre les fonctionnalits de
LATEX.

Prambule

Partie du code .tex situe avant \begin{document}. Son


contenu nest pas ach dans le document nal, mais
sert divers usages, notamment le chargement de packages.

Style bibliographique

Manire dacher une entre bibliographique, indpendamment de son contenu. Le package biblatex propose un certain nombre de styles bibliographiques, qui
sont personnalisables.

WYSIWYG

Abrviation de What You See Is What You Get : ce


que vous voyez est ce que vous produisez . Se dit dun
248

Annexe H

Glossaire
logiciel qui ache lcran le rsultat nal. Les traitements de texte comme LibreOce ou Microso Word
sont des logiciels WYSIWYG.

249

Annexe I

Bibliographie succincte
I.1

Manuels des paages

Nous ne listons pas ici lensemble des manuels des divers package abords.
Toutefois une question peut se poser : o trouver ces manuels ?
La solution la plus simple est douvrir le terminal :
Sous Mac, ouvrir lapplication Terminal dans le dossier Utilitaires .
Sous Windows, ouvrir linvite des commandes dans Dmarrer :
Tous les programmes : Accessoires .
Sous GNU/Linux, appuyer sur la touche Windows et taper terminal.
Puis de frapper dans la fentre qui apparat :
texdoc nomdupackage

Par exemple pour le package biblatex :


texdoc biblatex

Frapper un retour la ligne : le manuel du package devrait souvrir avec le


logiciel adquat (gnralement le manuel est au format PDF).

I.2

Livres gnralistes

Les livres sur LATEX sont plthores. Cependant rares sont ceux qui abordent
XELATEX, polyglossia et biblatex. Cest pourquoi nous conseillons de les utiliser
essentiellement pour les besoins les plus avancs de mise en page.
251

Annexe I

Bibliographie succincte

C, Cline dir., LATEX pour limpatient, H&K, 2009, : http://www.hk.fr/liens/tp/latex_pour_l_impatient.html.


L, Vincent, Tout ce que vous avez toujours voulu savoir sur LaTeX sans
jamais oser le demander, In Libro Veritas, 2008, : http://www.framabook.
org/latex.html.
M, Franck et Michel G, LaTeX Companion, 2e d., Paris : Pearson, 2006, : http://www.pearson.fr/livre/?GCOI=27440100048330.

I.3 Livres et textes sur des points spciques


C, Marie-Claude, Dcouverte de Beamer, 2007, : http://mcclinews.
free.fr/latex/introbeamer.php.
M, Franck et Michel G, Dtecter et rsoudre les problmes ,
dans : LaTeX Companion, 2e d., Paris : Pearson, 2006, : http : / / www .
pearson . fr / livre / ?GCOI = 27440100048330, lditeur met gracieusement ce
chapitre disposition.
e LaTeX Graphics Companion, Boston : Addison Wesley, 2007.
T, Grard et Jacques D, TikZ pour limpatient, : http://math.et.
info.free.fr/TikZ/.

I.4 Sites internet


Comme pour les livres gnralistes, lintrt en terme de contenu, par rapport la problmatique de ce livre, peut tre trs variable.
M, Bertrand, Les ches de Bbert : pour une vritable Publication Assiste
par Ordinateur, : http://bertrandmasson.free.fr/.
R, Maeul, Geekographie Maeulesque : LaTeX, : http://geekographie.
maieul.net/-LaTeX- .
TeXample.net, : http://www.texample.net/.
TeXample.net : TikZ and PGF, : http://www.texample.net/tikz/.

252

Annexe J

Index
J.1

Commandes

Ne sont pas rfrences les commandes situes dans les exemples colors.
En rgle gnrale ces commandes sont expliques avant ou aprs ces exemples.
Les entres en gras renvoient la dnition de la commande.
\, . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

\addcomma

\@M . . . . . . . . . . . . . . . . . . . . . . . . . . 206

\addcontentsline

\@addtoreset

. . . . . . . . . . . . . . . . . . . 126
. . . . . . . . . 30, 141
\addtocounter . . . . . . . . . . . . . . . 208
\addtolength . . . . . . . . . . . . . . . . 210
\advanceline . . . . . . . . . . . . . . . . . 170
\Aendnote . . . . . . . . . . . . . . . . . . . 172
\Afootnote . . . . . . . . . . . . . . 172, 172
\alert . . . . . . . . . . . . . . . . . . . . . . . 185
\appendix . . . . . . . . . . . . . . . . . 32, 32
\auteur . . . . . . . . . . . 40, 53, 144, 146
\author . . . . . . . . . . . . . . . . . . 23, 182
\autocite . . . . . . . . . . . . . . . . . 95, 98
\autopar . . . . . . . . . . . . . . . . 170, 175
\avolcite . . . . . . . . . . . . . . . . . . . . . 98

. . . . . . . . . . . . . . . . 208

\@arabic . . . . . . . . . . . . . . . . . . . . . 202

. . . . . . . . . . . . . . . . . . . 206
. . . . . . . . . . . . . . . 205, 205
\@makechapterhead . . . . . . . 205, 205
\@makeschapterhead . . . . . . 205, 205
\@minus . . . . . . . . . . . . . . . . . 203, 239
\@plus . . . . . . . . . . . . . . 203, 212, 239
\@removefromreset . . . . . . . . . . . 208
\@schapter . . . . . . . . . . . . . . 205, 205
\@startsection . . . . . . 203, 203, 204
\& . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
\chaine . . . . . . . . . . . . . . . . . . . . 139
\prefixcite 95, 98, 121, 124, 128,
150
\prefixcites . . . . . . . . . . . . . . . 100
\titre . . . . . . . . . . . . . . . . . . . . . . 29
\@chapapp
\@chapter

\addcolon

. . . . . . . . . . . . . . . 32, 32
. . . . . . . . . . . . . . . 238
\begin . . . . . . 22, 23, 26, 31, 201, 248
\beginnumbering 165, 167, 169, 170,
175, 176
\Bfootnote . . . . . . . . . . 172, 172, 174
\backmatter

\baselineskip

. . . . . . . . . . . . . . . . . . . 126
253

Annexe J

Index

\bfseries . . . 204,

\documentclass

\biblerefindex

204, 206, 207, 217


. . . . . . . . . . . . . . 163
\biblerefstyle . . . . . . . . . . . . . . 158
\bibleverse . . . . . . . . . . . . . . . . . 161
\bibliography . . . . . . . . . . . . . . . . 94
\bibname . . . . . . . . . . . . . . . . . . . . . 105
\bibstring . . . . . . . . . . . . . . . . . . 129
\bigbreak . . . . . . . . . . . . . . . 169, 169
\bigskip . . . . . . . . . . . . . . . . . . . . . 148
\BRallowhypbch . . . . . . . . . . . . . . 163
\BRforbidhypbch . . . . . . . . . . . . . 163

\dominitoc

. . . . . . . . 20, 20, 247


. . . . . . . . . . . . . . . . . . 140
\dotfill . . . . . . . . . . . . . . . . 213, 216
\doublespacing . . . . . . . . . . . . . . 199
. . . . . . . . . . . . . 172, 172, 174
. . . . . . . . . . . . . . . . . . . 172
\Efootnote . . . . . . . . . . . . . . . . . . 172
\emph . . . . . . . . . . . . . . 40, 41, 58, 183
\end . . . . . . . . . . . 23, 26, 31, 201, 248
\endfirsthead . . . . . . . . . . . . . . . . 69
\endfoot . . . . . . . . . . . . . . . . . . . . . . 69
\endhead . . . . . . . . . . . . . . . . . . . . . . 69
\endlastfoot . . . . . . . . . . . . . . . . . . 69
\endnumbering . . . . . . . 165, 167, 175
\endoldquotation . . . . . . . . . . . . 201
\endquotation . . . . . . . . . . . . . . . 201
\endstanzaextra . . . . . . . . . 169, 169
\endsub . . . . . . . . . . . . . . . . . . . . . . 170
\enquote . . . . . . . . . . . . . . . . . . . . . . 46
\equal . . . . . . . . . . . . . . . . . . . . . . . 174
\edtext

\Eendnote

. . . . . . . . . . . . . . . . . . 202
. . . . . . . . . . . . . . . . . . 71, 71
\captionsfrench . . . . . . . . . 139, 139
\centering . . . . . . . . . . . . . . . . . . . . 71
\cf . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
\cfoot . . . . . . . . . . . . . . . . . . . . . . . 192
\chapter . 29, 29, 192, 194, 201, 204,
205
\chapter* . . . . . . . . . . . . 30, 104, 205
\chaptermark . . . . . . . . . . . . 194, 195
\chead . . . . . . . . . . . . . . . . . . . . . . . 192
\cite . . . . . . . . . . . . . . . . . . . . . . 95, 98
\cline . . . . . . . . . . . . . . . . . . . . . . . . 67
\cmd1 . . . . . . . . . . . . . . . . . . . . . . . . 169
\cmd2 . . . . . . . . . . . . . . . . . . . . . . . . 169
\columnrulewidth . . . . . . . . . . . . 178
\Columns . . . . . . . . . . . . . . . . 175, 176
\commentaire . . . . . . . . . . . . . . . . . . 55
\contentsname . . . . . . . . . . . 139, 139
\c@chapter
\caption

\date

. . . . . . . . 140
. . . . . . . . . . . . . . . . . . 193
\fancyhead . . . . . . . . . . . . . . 193, 194
\firstlinenum . . . . . . . . . . . 170, 170
\FloatBarrier . . . . . . . . . . . . . . . . 72
\footcite . . . . . . . . . . . . . . . . . 95, 98
\footnote . . . . . . . . . . . . . . . . . . . . . 41
\footnoteA . . . . . . . . . . . . . . . . . . 172
\footnoteE . . . . . . . . . . . . . . . . . . 172
\footnotesize . . . . . . . . . . . . . . . . 57
\footrulewidth . . . . . . . . . . . . . . 195
\frame . . . . . . . . . . . . . . . . . . . . . . . 182
\frontmatter . . . . . . . . . . . . . . 32, 32
\fvolcite . . . . . . . . . . . . . . . . . . . . . 98
\faketableofcontents
\fancyfoot

. . . . . . . . . . . . . . . . . 23, 23, 182

\DeclareBibliographyStrings . 119

. . . . . 111
. . . . . . . . . . 127
\DeclareFieldFormat . . . . . 100, 129
\DeclareIndexFieldFormat 152, 153
\DeclareIndexNameFormat . . . . . 152
\def . . . . . . . . . . . . . . . . 139, 139, 205
\defbibheading . . . . . . . . . . . . . . 104
\DefineBibliographyStrings . . 119
\definecolor . . . . . . . . . . . . . . 59, 59
\DeclareDataInheritance
\DeclareFieldAlias

\gappto

. . . . . . . . . . . . . . . . . 139, 139

. . . . . . . . . . . . . . 169
. . . . . . . . . . . . . . 195
\hfill . . . . . 213, 216, 216, 217, 218
\hfill1 . . . . . . . . . . . . . . . . . . . . . . 217
\hangingsymbol
\headrulewidth

254

Commandes

J.1

\hline . . . . . . . . . . . . . . . . . . . . . . . . 67

\lfoot . . . . . . . . . . . . . . . . . . . . . . . 192

. . . . . . . . . . . . . . 207, 213
\hspace . . . . . . . . . . . . . . . . . . . . . . 209
\hspace* . . . . . . . . . . . . . . . . 209, 218
\Huge . . . . . . . . . . . . . . . . . . . . 57, 206
\huge . . . . . . . . . . . . . . . . 57, 206, 207
\hypersetup . . . . . . . . . . . . . . . . . 142

\lhead . . . . . . . . . . . . . . . . . . . . . . . 192

\hrulefill

\lineation . . . . . . . . . . 167,

170, 176
. . . . . . . . . . . . . . . . . 176
\linenumberstyle . . . . . . . . . . . . 172
\linenumincrement . . . . . . . . . . . 170
\linenummargin . . . . . . . . . . . . . . 171
\linenumsep . . . . . . . . . . . . . 172, 172
\linewidth . . . . . . . . . . . . . . . . . . 238
\list . . . . . . . . . . . . . . . . . . . 211, 212
\listoffigures . . . . . . . . . . . . . . 139
\listoftables . . . . . . . . . . . . . . . 139
\listparindent . . . . . . . . . . . . . . 212
\lineationR

. . . . . . . . . . . . . . . . . 161
. . . . . . . . . . . . . . . . 161
\ibiblevs . . . . . . . . . . . . . . . . . . . 161
\ifciteindex . . . . . . . . . . . . . . . . 151
\ifcurrentfield . . . . . . . . . . . . . 153
\iffieldequalstr . . . . . . . . 120, 154
\iflistundef . . . . . . . . . . . . . . . . 126
\ifsingletitle . . . . . . . . . . . . . . 128
\ifthenelse . . . . . . . . . . . . . . . . . 174
\include . . . . . . . . . . . . . . . . . . 31, 31
\includegraphics . . . . . . . . . . . . . 61
\indentpattern . . . . . . . . . . . . 50, 51
\index . 143, 144147, 148, 148, 149,
152, 247
\indexprologue . . . . . . . . . . . . . . . 148
\indexsetup . . . . . . . . . . . . . 147, 149
\inherit . . . . . . . . . . . . . . . . . . . . . 111
\input . . . . . . . . . . . . . . . . . 31, 31, 55
\item . . . . . . . . . . . . . . . . . 41, 42, 212
\itemindent . . . . . . . . . . . . . . . . . 212
\itshape . . . . . . . . . . . . 204, 217, 217
\ibiblechvs

\ibibleverse

\label . . . . . . . . . . 133,

. . . . . . . . . . . 32, 32, 206


204, 207
\makeatother . . . . . . . . 202, 204, 207
\makeindex . 143, 144, 147, 148, 150,
152, 215
\makeschapterhead . . . . . . . . . . . 207
\maketitle . . . . . . . . . . . . . . . . 23, 23
\makindex . . . . . . . . . . . . . . . . . . . . 215
\marginpar . . . . . . . . . . . 41, 172, 211
\marginparwidth . . . . . . . . . . . . . 211
\markboth . . . . . . . . . . . . . . . 194, 194
\markright . . . . . . . . . . . . . . 194, 194
\maxchunks . . . . . . . . . . . . . . . . . . 176
\memorydump . . . . . . . . . . . . . . . . . 177
\minitoc . . . . . . . . . . . . . . . . . . . . . 140
\mkbibnameprefix . . . . . . . . . . . . 118
\mkibid . . . . . . . . . . . . . . . . . 129, 129
\mkibidem . . . . . . . . . . . . . . . . . . . 120
\mkpageprefix . . . . . . . . . . . . . . . 100
\multicitedelim . . . . . . . . . . . . . 117
\multicolumn . . . . . . . . . . . . . . . . . . 68
\multirow . . . . . . . . . . . . . . . . . 68, 68
\mainmatter

\makeatletter . . . . . . . 202,

133135, 264

\LARGE . . . . . . . . . . . . . . . . . . . . . . . . 57

. . . . . . . . . . . . . . . 57, 204, 217


. . . . . . . . . . . . . . . . . . . 57, 217
\Lcolwidth . . . . . . . . . . . . . . . . . . 178
\ldots . . . . . . . . . . . . . . . . . . . . . . . . 25
\ledleftnote . . . . . . . . . . . . . . . . 172
\ledrightnote . . . . . . . . . . . . . . . 172
\ledsidenote . . . . . . . . . . . . . . . . 173
\leftmargin . . . . . . . . . . . . . 211, 212
\leftmark . . . . . . . . . . . . . . . 194, 194
\lemma . . . . . . . . . . . . . . . . . . 172, 174
\let . . . . . . . . . . . . . . . . 169, 169, 200
\Large
\large

\nameref . . . . . . . . . . . . . . . . . . . . . 134

. . . . . . . . . . . . . 129
. . . . . . . . . . . . . . . 126
\newcommand . . . . . . 53, 116, 139, 205
\newcommand* . . . . . . . . . . . . . . . . . . 56
\newcommandx . . . . . . . . . . . . . . . . 174
\nametitledelim
\newbibmacro*

255

Annexe J

Index

\newcounter

\printindex . . . . . . . . . 144,

\newgeometry

. . . . . . . . . . . . . . . . . 208
. . . . . . . . . . . . . . . . 210
\newunitpunct . . . . . . . 116, 116, 126
\nobreak . . . . . . . . . . . . . . . . . . . . . 206
\nocite . . . . . . . . . . . . . . . . . . . . . . 104
\node . . . . . . . . . . . . . . . . . . . . . . 63, 64
\noindent . . . . . . . . . . . . . . . . . . . 210
\noinherit . . . . . . . . . . . . . . . . . . 111
\nom . . . . . . . . . . . . . . . . . . . . . . . . . . 23
\nopagebreak . . . . . . . . . . . . . . . . 217
\nopp . . . . . . . . . . . . . . . . . . . . . . . . . 97
\normalfont . . . . . . . . . . . . . . . . . 206
\normalsize . . . . . . . . . . . . . . . . . . . 57
\note . . . . . . . . . . . . . . . . . . . . . . . . 185
\numberpstartfalse . . . . . . . . . . 169
\numberpstarttrue . . . . . . . 169, 178
\numlabfont . . . . . . . . . . . . . . . . . . 172

\printlist

148, 149
. . . . . . . . . . . . . . 126, 127
\printname . . . . . . . . . . . . . . . . . . 127
\printshorthands . . . . . . . . . . . . 101
\printtext . . . . . . . . . . . . . . . . . . 129
\psq . . . . . . . . . . . . . . . . . . . . . . . . . . 97
\psqq . . . . . . . . . . . . . . . . . . . . . . . . . 97
\pstart 166, 166, 167, 169, 170, 175,
176, 178
\pvolcite . . . . . . . . . . . . . . . . . . . . . 98
\quotation

\raggedleft . . . . . . . . . . . . . 206,

207
207
\Rcolwidth . . . . . . . . . . . . . . . . . . 178
\ref . . . . . . . . . . . . . . . . . . . . . . . . . 134
\refstepcounter . . . . . . . . . . . . . 208
\relax . . . . . . . . . . . . . . . . . . . . . . . 212
\renewbibmacro* . . . . . . . . . . . . . 126
\renewcommand . . . . . . . . . . . 116, 172
\renewenvironnement . . . . . . . . . . 35
\restoregeometry . . . . . . . . . . . . 210
\resumenumbering . . . . . . . . 167, 177
\rfoot . . . . . . . . . . . . . . . . . . . . . . . 192
\rhead . . . . . . . . . . . . . . . . . . . . . . . 192
\rightmargin . . . . . . . . . . . . . . . . 212
\rightmark . . . . . . . . . . . . . . 194, 194
\Rlineflag . . . . . . . . . . . . . . . . . . 179
\rule . . . . . . . . . . . . . . . . . . . . . . . . 213
\raggedright . . . . . . . . . . . . 206,

. . . . . . . . . . . . . . . 201
. . . . . . . . . . . . . . . 201
\onehalfspacing . . . . . . . . . 199, 199
\oldquotation
\onehalfspace

\p@

. . . . . . . . . . . . . . . . . . 201

. . . . . . . . . . . . . . . . . . . . . 206, 212

\pageref . . . . . . . . . . . . . . . . . . . . . 134

. . . . . . . . . . . . . . . . . . 175, 176
. . . . . . . . . . . . . . . . . . 191
\par . . . . . . . . . . . . . . . . . . . . . . . . . 206
\paragraph . . . . . . . . . . . . . . . 29, 203
\parencite . . . . . . . . . . . . . . . . 95, 98
\parentext . . . . . . . . . . . . . . . . . . 118
\parindent . . . . . . . . . . 206, 210, 238
\parsep . . . . . . . . . . . . . . . . . . . . . . 212
\parskip . . . . . . . . . . . . . . . . 210, 238
\part . . . . . . . . . . . . . . . . 29, 138, 207
\parttoc . . . . . . . . . . . . . . . . . . . . . 140
\pausenumbering . . . . . . . . . 167, 177
\pend . . . . . . . 166, 166, 167, 170, 175
\phantomsection . . . . . . . . . . . . . 141
\pno . . . . . . . . . . . . . . . . . . . . . . . . . . 97
\poemlines . . . . . . . . . . . . . . . . . . . . 48
\printbibliography . 103, 104, 105,
124, 150
\printfield . . . . . . . . . . . . . 127, 129
\Pages

\pagestyle

\scriptsize . . . . . . . . . . . . . . . . . . . 57
\scshape . . . . . . . . . . . . . . . . . . . . . 207
\secdef . . . . . . . . . . . . . . . . . . . . . . 205
\section . . . . . 29,

182, 194, 203, 204


. . . . . . . . . . . . 194, 195
\sectionpage . . . . . . . . . . . . . . . . 182
\setbeameroption . . . . . . . . . . . . 186
\setcounter . . . . . . . . . . . . . 138, 208
\setlength . . . . . . . . . . 172, 178, 210
\setline . . . . . . . . . . . . . . . . . . . . . 170
\setmainfont . . . . . . . . 198, 204, 206
\setmainlanguage . . . . . . 22, 33, 145
\sectionmark

256

Classes

J.2

\setmonofont

\textins . . . . . . . . . . . . . . . . . . . . . . 52

\setotherlanguage

. . . . . . . . . . . . . . . . 198
. . . . . . . . . . . . 34
\setsansfont . . . . . . . . . . . . 198, 204
\setstanzaindents . . . 167, 168, 169
\setunit* . . . . . . . . . . . . . . . . . . . 126
\setverselinenums . . . . . . . . . 49, 49
\shorttoc . . . . . . . . . . . . . . . . . . . 140
\sidenotemargin . . . . . . . . . . . . . 173
\singlespace . . . . . . . . . . . . . . . . 201
\singlespacing . . . . . . . . . . . . . . 199
\skipnumbering . . . . . . . . . . . . . . 170
\small . . . . . . . . . . . . . . . . . . . . . . . . 57
\space . . . . . . . . . . . . . . . . . . . . . . . 126
\ssfamily . . . . . . . . . . . . . . . . . . . 204
\stanza . . . . . . . . . . . . . . . . . . . . . . 167
\startsub . . . . . . . . . . . . . . . . . . . 170
\subfirstlinenum . . . . . . . . . . . . 170
\sublinenumberstyle . . . . . . . . . 172
\sublinenumincrement . . . . . . . . 170
\subparagraph . . . . . . . . . . . . 29, 138
\subsection . . 29, 104, 105, 182, 203
\subsectionpage . . . . . . . . . . . . . 182
\subsubsection . . . . . . . 29, 138, 182

\textins* . . . . . . . . . . . . . . . . . . . . . 52
\textit

. . . . . . . . . . . . . . . . . . . 54, 58
. . . . . . . . . . . . . . . 58
\textsuperscript . . . . . . . . . . . . . 58
\textwidth . . . . . . . . . . . . . . . . . . 238
\thecompteur . . . . . . . . . . 195, 201
\thechapter . . . . . 195, 202, 202, 206
\thepage . . . . . . . . . . . . . . . . . . . . . 193
\therefsegment . . . . . . . . . . . . . . 106
\thesection . . . . . . . . . . . . . . . . . 202
\thispagestyle . . . . . . . . . . 191, 204
\tiny . . . . . . . . . . . . . . . . . . . . . . . . . 57
\title . . . . . . . . . . . . . . . . . . . 23, 182
\titlepage . . . . . . . . . . . . . . . . . . 182
\textsc

\textsubscript

\underline . . . . . . . . . . . . . . . . . . . . 58

. . . . . . . . . . . . . . . . 125
. . . . . . . . . . . . 22, 62, 93
. . . . . . . . . . . . . . . . . . . 181

\usebibmacro
\usepackage
\usetheme

. . . . . . . . . . . . . . . . . . 174
. . . . . . . . 50
\vin . . . . . . . . . . . . . . . . . . . . . . . . . . 50
\volvcite . . . . . . . . . . . . . . . . . . . . . 98
\vspace . . . . . . . . . . . . . . . . . 206, 209
\vspace* . . . . . . . . . . . . . . . . . . . . . 209
\variantes

\tableofcontents . . . . 137,

138, 140
\textcodelang . . . . . . . . . . . . . . . 34
\textasciicircum . . . . . . . . . . . . . 26
\textasciitilde . . . . . . . . . . . . . . 26
\textbackslash . . . . . . . . . . . . . . . 26
\textbf . . . . . . . . . . . . . . 58, 204, 217
\textcolor . . . . . . . . . . . . . . . . . . . . 58
\textelp . . . . . . . . . . . . . . . . . . . . . . 51
\textheight . . . . . . . . . . . . . . . . . 238

J.2

. . . . . . . . . . . . . . . . . . 58, 217

\textlatin . . . . . . . . . . . . . . . . . . . . 35

\versehangrightsquare

\xspace . . . . . . . . . . . . . . . . . . . . . . . 57
\z@

. . . . . . . . . . . . . . . . . 203, 206, 212

Classes

article . . . . . . . . . . . . . . . 20, 23, 26, 32

book . . . 20, 23, 29, 32, 193195, 203

beamer . . . . . . . . . . 20, 181, 182, 184

bredele . . . . . . . . . . . . . . . . . . 200, 207

J.3

Champs bibliographiques
257

Annexe J

Index

address . . . . . . . . . . . . . . . . . . . . . . 127
author . . . . . . . . . . . . . . . . . . . . 86, 151

labeltitle . . . . . . . . . . . . . . . . . . . . . 129
location . . . . . . . . . . . . . . 88, 126, 127

bookauthor . . . . . . . . . . . . . . . . . . 116
bookpagination . . . . . . . . . . . 99, 100
booktitle . . . . . . . . . . . . . . . . 110, 112

month . . . . . . . . . . . . . . . . . . . . . . . . 88
pages . . . . . . . . . . . . . . . . 97100, 112
pagination . . . . . . . . . . . . . . . . 99, 100
publisher . . . . . . . . . . . . . . . . . . . . 126

crossref . . . . . . . . . . . . . . . . . . . . . . 110
date . . . . . . . . . . . . . . . . . . . . . . . . . 110

shorthand . . . . . . . . . . . . . . . . . . . 101
shorthandintro . . . . . . . . . . . . . . . 101
shortitle . . . . . . . . . . . . . . . . . . . . . 129
sortname . . . . . . . . . . . . . . . . . . . . 108
soritle . . . . . . . . . . . . . . . . . . . . . . 107
sortyear . . . . . . . . . . . . . . . . . . . . . 108
subtitle . . . . . . . . . . . . . . . . . . . . . . . 86

editor . . . . . . . . . . . . . . . . . . . . . . . . 83
editoratype . . . . . . . . . . . . . . . . . . . 83
editorbtype . . . . . . . . . . . . . . . . . . . 83
editorctype . . . . . . . . . . . . . . . . . . . 83
editortype . . . . . . . . . . . . . . . . . . . . 83
entrysubtype . . . . . . . . 104, 105, 111
entrytype . . . . . . . . . . . . . . . . . . . . 120

title . 86, 107, 110, 112, 113, 129, 151


titleaddon . . . . . . . . . . . 112, 150, 151
translator . . . . . . . . . . . . . . . . . . . . . 83

indextitle . . . . . . . . . . . . . . . . 151, 153


issuesubtitle . . . . . . . . . . . . . . . . . . 86
issuetitle . . . . . . . . . . . . . . . . . . . . . . 86

url . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
usera . . . . . . . . . . . . . . . . . . . . . . . . 154

journal . . . . . . . . . . . . . . . . . . . . . . . 86

volume . . . . . . . . . . . . . . . . . . . . . . . 89

keyword . . . . . . . . . . . . . . . . . . . . . 106
keywords . . . . . . . . . . . . . . . . . . . . 105

year . . . . . . . . . . . . . . . . . . . . . . . . . . 88

J.4 Environnements
codelang . . . . . . . . . . . . . . . . . . . . 34

itemize . . . . . . . . . . . . . . . . . . . . . . . 42

abstract . . . . . . . . . . . . . . . . . . . . . . . 26

latin . . . . . . . . . . . . . . . . . . . . . . 35, 200


Leside . . . . . . . . . . . . . . . . . 175, 176
list . . . . . . . . . . . . . . . . . . . . . . . . . . 211
longtable . . . . . . . . . . . . . . . . . . . . . 69

description . . . . . . . . . . . . . . . . . . . . 42
enumerate . . . . . . . . . . . . . . . . . . . . 41
etaremune . . . . . . . . . . . . . . . . . . . . 42
exemple . . . . . . . . . . . . . . . . . 211, 212

oldquotation . . . . . . . . . . . . . . . . . 201
pages . . . . . . . . . . . . . . . . . . . . . . . . 175
pairs . . . . . . . . . . . . . . . . . . . . . . . . 175
patverse . . . . . . . . . . . . . . . . . . . 50, 51
patverse* . . . . . . . . . . . . . . . . . . . . . 51

gure . . . . . . . . . . . . . . . . . . . . . . . . 70
frame . . . . . . . . . . . . . . . . . . . 182, 186
hyphenrules . . . . . . . . . . . . . . . . . . 35
258

Packages

J.5

quotation 47, 48, 200, 201, 211, 212,


238
quote . . . . . . . . . . . . . . . . . . . . . . . . . 46

tabular . . . . . . . . . . . . . . . . . 64, 65, 69


tabular* . . . . . . . . . . . . . . . . . . . . . . . 65
tikzpicture . . . . . . . . . . . . . . . . . . . . 63

Rightside . . . . . . . . . . . . . . . . 175, 176

verbatim . . . . . . . . . . . . . . . . . . . . . 197
verse . . . . . . . . . . . . . . . . . . . . . . 48, 50

table . . . . . . . . . . . . . . . . . . . . . . . . . 70

J.5

Paages

array . . . . . . . . . . . . . . . . . . . . . . 66, 67

framed . . . . . . . . . . . . . . . . . . . . . . . . 6

babel . . . . . . . . . . . . . . . . . . . . . . 22, 34
beamerarticle . . . . . . . . . . . . . . . . 187
biblatex76, 80, 83, 84, 90, 91, 9398,
103, 106, 107, 112,
115121, 128, 129,
149152, 154, 233, 248,
251
bibleref . . . . . . . . . . . . . 157, 158, 161
bibleref-french . . . . . . . . . . . 157, 163
bidi . . . . . . . . . . . . . . . . . . . . . . . . . . 38

geometry . . . . . . . . . . . . . . . . 210, 211


gmverse . . . . . . . . . . . . . . . . . . . . . . 50
graphicx . . . . . . . . . . . . . . . . . . . 61, 62
hyperref . . . . 134, 137, 141, 142, 147
ihen . . . . . . . . . . . . . . . . . . . . . . . 174
ihenelse . . . . . . . . . . . . . . . . . . . . . 54
imakedix . . . . . . . . . . . . . . . . . . . . 215
imakeidx . . . 143, 144, 147151, 162
ledmac . . 51, 165, 170, 172, 175, 176
ledpar . . . . . . . 51, 165, 175, 176, 178
longtable . . . . . . . . . . . . . . . . . . . . . 69

caption . . . . . . . . . . . . . . . . . . . . . . . 71
ccaption . . . . . . . . . . . . . . . . . . . . . . 71
color . . . . . . . . . . . . . . . . . . . . . . . . . 58
csquotes . . . . . . . . . . . . . . . . . . . 46, 51
csvpie . . . . . . . . . . . . . . . . . . . . . . . . 70
csvtools . . . . . . . . . . . . . . . . . . . . . . 70

makeindex . . . . . . . . . . . . . . . . . . . 143
mdframed . . . . . . . . . . . . . . . . . 6, 213
minitoc . . . . . . . . . . . . . . . . . . 140, 141
minted . . . . . . . . . . . . . . . . . . . . . . . . 6
multirow . . . . . . . . . . . . . . . . . . . . . 68

datatool . . . . . . . . . . . . . . . . . . . . . . 70
diagbox . . . . . . . . . . . . . . . . . . . . . . . 67
dpoat . . . . . . . . . . . . . . . . . . . . . . . 71

placeins . . . . . . . . . . . . . . . . . . . . . . 72
poemscol . . . . . . . . . . . . . . . . . . . . . 51
polyglossia . . . 22, 3335, 71, 88, 89,
137, 139, 251

eepic . . . . . . . . . . . . . . . . . . . . . . . . 213
endoat . . . . . . . . . . . . . . . . . . . . . . 71
endnotes . . . . . . . . . . . . . . . . . . . . . . 41
enumitem . . . . . . . . . . . . . . . . . . . . . 43
etaremune . . . . . . . . . . . . . . . . . . . . 42
etoolbox . . . . . . . . . . . . . . . . . . . . . 139

remreset . . . . . . . . . . . . . . . . . . . . . 208
rotoat . . . . . . . . . . . . . . . . . . . . . . . 71
setspace . . . . . . . . . . . . . 198, 199, 209
shoroc . . . . . . . . . . . . . . . . . . . . . 140
showlabels . . . . . . . . . . . . . . . . . . . 133
SplitIndex . . . . . . . . . . . . . . . . . . . . 143
splitindex . . . . . . . . . . . . . . . . . . . . 143

fancybox . . . . . . . . . . . . . . . . . . . . 213
fancyhdr . . . . . . . . . . . . . . . . 191195
fontspec . . . . . . . . . . . . . . 21, 197, 198
259

Annexe J

Index

spot . . . . . . . . . . . . . . . . . . . . . . . . . 185
spreadtab . . . . . . . . . . . . . . . . . . . . . 67
subcaption . . . . . . . . . . . . . . . . . . . . 71
subscript . . . . . . . . . . . . . . . . . . . . . . 58

totpages . . . . . . . . . . . . . . . . . . . . . 192
verse . . . . . . . . . . . . . . . . . . . 48, 50, 51
xargs . . . . . . . . . . . . . . . . . . . . . 54, 174
xcolor . . . . . . . . . . . . . . . . . . . . . 58, 59
xcolors . . . . . . . . . . . . . . . . . . . . . . . 60
xspace . . . . . . . . . . . . . . . . . . . . . . . . 57
xunicode . . . . . . . . . . . . . . . . . . 21, 33

tabbing . . . . . . . . . . . . . . . . . . . . . . . 67
tabularx . . . . . . . . . . . . . . . . . . . . . . 67
TikZ . . . . . . . . . . . . . . . 62, 64, 70, 213
titletoc . . . . . . . . . . . . . . . . . . . . . . 138

260

Table des matires


Avant-propos

Remerciement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Au sujet de ce livre . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1

Introduction
1.1 Un manque important . . . . . . . . . . . . . . . . . . . . . . .
1.2 Pourquoi LATEX ? . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 Inconvnients des traitements de texte . . . . . . . . .
1.2.2 Avantages de LATEX . . . . . . . . . . . . . . . . . . . .
1.2.3 est-ce quun diteur de texte ? . . . . . . . . . . . .
1.3 TeX, LaTeX, XeTeX, XeLaTeX : points communs et dirences
1.4 Publics viss par cet ouvrage . . . . . . . . . . . . . . . . . . .
1.5 Comment lire ce livre . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.

Premiers pas avec LATEX


2

5
6
7
7
8
8
9
11
12
13
13

17

Commencer avec XeLaTeX


2.1 Un premier document . . . . . . . . . . . . . . . . . .
2.2 Structure dun document LATEX . . . . . . . . . . . . .
2.2.1 La classe du document . . . . . . . . . . . . .
2.2.2 Lappel aux packages . . . . . . . . . . . . . .
2.2.3 Le franais, langue par dfaut . . . . . . . . .
2.2.4 Le corps du document . . . . . . . . . . . . .
2.2.5 Titre, auteur et date : la notion de commande
2.2.6 Le corps du texte : la manire de rdiger . . .
2.2.7 Un commentaire . . . . . . . . . . . . . . . .
2.2.8 La notion denvironnement . . . . . . . . . .
2.2.9 Conclusion . . . . . . . . . . . . . . . . . . .
261

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

19
19
20
20
21
22
22
23
24
26
26
27

TABLE DES MATIRES


3

Structurer son travail


3.1 Dirents niveaux de titres . . . . . . . . . . . . . .
3.1.1 Des titres non numrots . . . . . . . . . .
3.2 Structurer ses chiers . . . . . . . . . . . . . . . . .
3.2.1 Comment indiquer le chemin du chier . .
3.3 La classe book : structuration globale du document

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

29
29
30
30
31
32

Grer les langues avec Xunicode et Polyglossia


4.1 Indiquer les changements de langue . . . . . . . . . . . . . . . .
4.1.1 Pourquoi indiquer les changements de langue ? . . . . .
4.1.2 Commandes et environnements de changement de langue
4.1.3 Indiquer un changement de langue . . . . . . . . . . . .
4.1.4 Le problme du latin . . . . . . . . . . . . . . . . . . . .
4.2 Saisir des textes en caractres non latins . . . . . . . . . . . . .
4.2.1 Les jeux de caractres : ou comment se servir de nombres
pour autre chose que des mathmatiques . . . . . . . . .
4.2.2 Concrtement . . . . . . . . . . . . . . . . . . . . . . . .
4.2.3 Et les changements de sens dcriture ? . . . . . . . . . .

33
33
33
33
34
35
35

Mettre en sens son document (1) : premiers pas


5.1 Mere en forme nest pas mere en sens . . . . . . . .
5.2 Commandes de mise en sens . . . . . . . . . . . . . . .
5.2.1 Mise en valeur dun texte . . . . . . . . . . . .
5.2.2 Le paratexte : notes de bas de page et de marge
5.2.3 Listes . . . . . . . . . . . . . . . . . . . . . . . .
5.2.4 Imbrication des listes . . . . . . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

39
39
40
40
41
41
43

Mettre en sens (2) : lart de citer en LaTeX


6.1 Citation dans le corps du texte . . . . . . . . . . .
6.2 Citation dans un bloc spar . . . . . . . . . . . .
6.2.1 Lenvironnement quote . . . . . . . . . .
6.2.2 Lenvironnement quotation . . . . . . . .
6.2.3 Lenvironnement verse et le package verse
6.3 Citations tronques et modies . . . . . . . . . .
6.3.1 Citation tronque . . . . . . . . . . . . . .
6.3.2 Citation modie . . . . . . . . . . . . . .

35
37
38

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

45
45
46
46
47
48
51
51
52

Mettre en sens (3) : crer ses propres commandes


7.1 Cration dune commande personnalise . . . . . .
7.1.1 Code dune commande sur plusieurs lignes
7.1.2 toiler \newcommand . . . . . . . . . . . . . .
7.1.3 Espace aprs les commandes sans argument
7.2 Commandes de mise en forme . . . . . . . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

53
53
55
56
56
57

262

TABLE DES MATIRES


7.2.1
7.2.2
7.2.3
8

Taille des caractres . . . . . . . . . . . . . . . . . . . .


Style de caractres . . . . . . . . . . . . . . . . . . . . .
Couleurs . . . . . . . . . . . . . . . . . . . . . . . . . . .

Insrer des lments non textuels


8.1 Insrer des images . . . . . . . . . . . . . .
8.2 Insrer des graphismes et des schmas . .
8.3 Cration de tableaux . . . . . . . . . . . .
8.3.1 Syntaxe de base . . . . . . . . . . .
8.3.2 Long tableau . . . . . . . . . . . .
8.4 La notion de oants . . . . . . . . . . . .
8.4.1 Choix de lemplacement du oant

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

57
58
58
61
61
62
64
64
69
70
72

Grer sa bibliographie avec LATEX

73

Introduction
9.1 Principe gnral . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.2 Une triple compilation . . . . . . . . . . . . . . . . . . . . . . .

75
75
76

10 Remplir sa base de donnes bibliographique


10.1 Structure de base dun chier .bib . . . . . . . . .
10.2 Le choix de la clef . . . . . . . . . . . . . . . . . .
10.2.1 Pour les uvres contemporaines . . . . .
10.2.2 Pour les uvres anciennes . . . . . . . . .
10.3 Les direntes types dentres . . . . . . . . . . .
10.4 Les dirents champs possibles . . . . . . . . . .
10.4.1 Les champs de personnes . . . . . . . . .
10.4.2 Champs de titre . . . . . . . . . . . . . . .
10.4.3 Champs dinformations sur la publication
10.4.4 Les champs didentication lgale . . . . .
10.4.5 Champs dannotations . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

79
79
80
81
81
81
82
83
86
88
90
91

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

11 Indiquer des rfrences bibliographiques


11.1 Appel du package . . . . . . . . . . . . . . . . . . . . . . . .
11.2 Appel de la base de donne bibliographique . . . . . . . . . .
11.3 Citation dun lment bibliographique . . . . . . . . . . . . .
11.3.1 Les arguments prenote et postnote . . . . . . . . .
11.3.2 Largument postnote et la numrotation des pages .
11.4 Citation de plusieurs uvres . . . . . . . . . . . . . . . . . .
11.5 Choix de la forme abrge . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.

93
. 93
. 94
. 95
. 96
. 96
. 100
. 101

263

.
.
.
.
.
.
.
.
.
.
.

TABLE DES MATIRES


12 Aer la bibliographie
12.1 Achage de la bibliographie . . . . . .
12.1.1 Choix du style de bibliographie
12.1.2 Ajout de rfrences non cites .
12.2 Diviser une bibliographie . . . . . . . .
12.2.1 Par catgorie de document . . .
12.2.2 Par sujet . . . . . . . . . . . . .
12.2.3 Par section du document . . . .
12.2.4 Autres manires . . . . . . . . .
12.3 Tri lintrieur dune bibliographie . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

103
103
103
104
104
104
105
106
107
107

13 Entres hirarises
13.1 Principe des sous-entres bibliographiques
13.2 Sous-entres dans la bibliographie nale .
13.3 Prciser les hritages de champs . . . . . .
13.4 Divisions de source . . . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

109
109
111
111
112

14 Modier les styles bibliographiques (1)


14.1 Sparateurs dunit de sens . . . . . . . . . . .
14.1.1 Un sparateur spcique deux units
14.2 Sparateur de rfrences multiples . . . . . . .
14.3 Styles de certains blocs . . . . . . . . . . . . .
14.4 Chanes de langue . . . . . . . . . . . . . . . .
14.4.1 Introduction aux tests conditionnels .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

115
115
117
117
118
118
120

15 Modier les styles bibliographiques (2)


15.1 e se passe-t-il lorsquon utilise \prefixcite . . . . . . . . .
15.2 Rednir une macro bibliographique . . . . . . . . . . . . . . .
15.3 Autres exemples : des vritables op. cit. . . . . . . . . . . . . . .

121
121
122
127

.
.
.
.
.
.
.
.
.

Faciliter la navigation

131

16 Renvois internes
16.1 tiqueter des emplacements : \label . . .
16.2 Se servir des tiquees . . . . . . . . . .
16.2.1 Renvoyer une page . . . . . . .
16.2.2 Renvoyer un numro de section
16.2.3 Renvoyer un titre de section . .
16.3 O placer la commande \label ? . . . . .
16.4 Comment nommer ses tiquees ? . . . .
264

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

133
133
133
134
134
134
134
135

TABLE DES MATIRES


17 Sommaire et table des matires
17.1 Une table simple . . . . . . . . . . . . . . . . . . . . .
17.2 Choix de la profondeur . . . . . . . . . . . . . . . . .
17.3 Table des matires ou sommaire ? . . . . . . . . . . .
17.4 Table des gures et table des tableaux . . . . . . . . .
17.5 Plusieurs tables des matires . . . . . . . . . . . . . .
17.5.1 Un sommaire en plus dune table des matires
17.5.2 Sommaires partiels . . . . . . . . . . . . . . .
17.6 Des signets dans le PDF : le package hyperref . . . .
17.6.1 Signet de navigation . . . . . . . . . . . . . .
17.6.2 Rglage des liens . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

137
137
138
138
139
140
140
140
141
141
142

18 Index
18.1 Faire un index simple avec imakeidx . . . . . . .
18.1.1 Principe de base . . . . . . . . . . . . . .
18.1.2 Allons plus loin . . . . . . . . . . . . . .
18.1.3 elques options du package imakeidx .
18.2 Faire plusieurs index . . . . . . . . . . . . . . .
18.2.1 Dnir ses index . . . . . . . . . . . . .
18.2.2 Indexer son texte . . . . . . . . . . . . .
18.2.3 Imprimer les index . . . . . . . . . . . .
18.3 Indexer ses sources . . . . . . . . . . . . . . . .
18.3.1 Premier essai . . . . . . . . . . . . . . .
18.3.2 Cration dun index spcique . . . . .
18.3.3 Modications des macros de biblatex . .
18.3.4 Fomat dindexation biblatex . . . . . . .
18.3.5 Compilation et concatnation des index
18.3.6 Ranement . . . . . . . . . . . . . . . .
18.3.7 Rsum des diverses compilations . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

143
143
143
144
147
148
148
148
149
149
150
150
150
152
153
154
154

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Autres outils pour les sciences humaines


19 Gestion des rfrences bibliques avec Bibleref
19.1 Chargement du package et options . . . .
19.1.1 Forme catholique ou protestante .
19.1.2 Styles de rfrences . . . . . . . . .
19.2 Rfrencer un passage biblique . . . . . . .
19.3 Indexer une rfrence . . . . . . . . . . . .
19.3.1 Tri dans lindex . . . . . . . . . . .
19.3.2 Un index part . . . . . . . . . . .
19.4 Espaces inscables . . . . . . . . . . . . . .
265

155
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

157
157
157
158
159
161
161
162
163

TABLE DES MATIRES


20 dition critique et textes parallles
20.1 Faire une dition critique avec ledmac . . . . . . .
20.1.1 Numroter les lignes dun texte . . . . . .
20.1.2 Aller plus loin . . . . . . . . . . . . . . . .
20.1.3 Lapparat critique . . . . . . . . . . . . . .
20.2 Mere deux textes en vis--vis : le package ledpar
20.2.1 Principes . . . . . . . . . . . . . . . . . . .
20.2.2 Aner la prsentation . . . . . . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

165
165
165
169
172
175
175
178

21 Prsentations avec LATEX : Beamer


21.1 Prambule et premires diapositives . . . . . . . . . . . . .
21.2 Diapositives de titre . . . . . . . . . . . . . . . . . . . . . .
21.3 Achage dir : les couches Beamer . . . . . . . . . . . .
21.4 Mise en valeur . . . . . . . . . . . . . . . . . . . . . . . . .
21.4.1 Blocs . . . . . . . . . . . . . . . . . . . . . . . . . .
21.4.2 La commande alert . . . . . . . . . . . . . . . . . .
21.5 Notes de confrence . . . . . . . . . . . . . . . . . . . . . .
21.6 crire son article dans le mme chier que la prsentation
21.6.1 Diapositives ou article ? . . . . . . . . . . . . . . .
21.6.2 Automatiser les rglages . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

181
181
182
183
184
184
185
185
186
187
187

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

elques lments de mise en forme


22 Personnaliser en-ttes et pieds de pages
22.1 Utiliser lun des styles standards . . . . . . . . . . .
22.2 Premiers exemples avec fancyhdr . . . . . . . . . .
22.3 Pages recto verso et alternance gauche-droite . . .
22.4 Titres dans len-tte : le mcanisme des marqueurs .
22.4.1 Appeler les marqueurs dans les styles fancy
22.4.2 Rednir \chaptermark et \sectionmark . .
22.5 Filet den-ttes et de pieds de pages . . . . . . . . .

189
.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

23 Apparence des textes


23.1 Police de caractres . . . . . . . . . . . . . . . . . . . . . . . . .
23.2 Interlignes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23.2.1 Commande arguments et commande de bascule
23.2.2 Environnements de changement dinterligne . . . . . .
23.2.3 Rdnir un environnement : quotation . . . . . . . . .
23.3 Personnaliser les titres . . . . . . . . . . . . . . . . . . . . . . .
23.3.1 Rednir la numrotation . . . . . . . . . . . . . . . . .
23.3.2 Dnir lapparence : sections et niveaux infrieurs . . .
23.4 Dnir lapparence : chapitres et niveaux suprieurs . . . . . . .
266

191
191
192
193
193
194
195
195
197
197
198
199
199
200
201
201
203
204

TABLE DES MATIRES


23.5 Manipuler les compteurs . . . . . . . . . . . . . . . . . . . . . . 208
24 lments de mise en page
24.1 Espacements . . . . . . . .
24.2 Longueurs de mise en page
24.3 Marges . . . . . . . . . . .
24.4 Textes en retrait . . . . . .
24.5 Trait horizontal . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

209
209
209
210
211
213

25 Formater son index


215
25.1 Comment faire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
25.2 elques commandes . . . . . . . . . . . . . . . . . . . . . . . . 216

Annexes

219

A Installer LATEX
A.1 La notion de distribution . . . . . . . . . .
A.2 Installer TeX Live sous Mac Os X . . . . .
A.2.1 Les caractres LATEX sous Mac Os X
A.3 Installer TeX Live sous GNU/Linux . . . .
A.3.1 Au pralable . . . . . . . . . . . . .
A.3.2 Installation et conguration . . . .
A.4 MiKTeX sous Windows . . . . . . . . . . .
A.4.1 Installation . . . . . . . . . . . . .
A.5 Mere jour les packages . . . . . . . . .
A.5.1 Sous Mac OS X . . . . . . . . . . .
A.5.2 Sous Linux . . . . . . . . . . . . .
A.5.3 Sous Windows . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

221
221
221
222
223
223
224
224
225
225
226
226
227

B elques logiciels pour travailler avec LATEX


B.1 diteurs de texte spcialiss en LATEX . . . . . . . . .
B.1.1 TeXMaker (Multi-plateformes) . . . . . . .
B.1.2 TeXWorks (Multi-plateformes) . . . . . . .
B.1.3 TeXShop (Mac) . . . . . . . . . . . . . . . .
B.2 Logiciels de gestion bibliographique au format .bib

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

229
229
229
229
230
230

C Introduction la ligne de commande


C.1 La notion de rpertoire courant
C.2 Mac OS X et Linux . . . . . . . .
C.3 Windows . . . . . . . . . . . . .
C.4 Trouver les chiers standards .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

231
231
231
232
233

267

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

TABLE DES MATIRES


D Faciliter les compilations avec Latexmk
235
D.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
D.2 Adaptation pour XeLaTeX . . . . . . . . . . . . . . . . . . . . . 235
D.3 Adaptation pour lindex des sources primaires . . . . . . . . . . 236
E Units de mesure en LATEX
E.1 Units de mesure . . . . . . . . . . . . . . . . . . . . . . . . . .
E.2 Longueurs relatives . . . . . . . . . . . . . . . . . . . . . . . . .
E.3 lasticit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

237
237
238
238

F Travail collaboratif : les logiciels de suivi des rvisions


241
F.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
F.2 Mise en pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
G Trouver de laide
245
G.1 Forums internet . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
G.2 Messagerie instantane . . . . . . . . . . . . . . . . . . . . . . . 245
G.3 Liste de discussion . . . . . . . . . . . . . . . . . . . . . . . . . . 246
H Glossaire
I

247

Bibliographie succincte
I.1 Manuels des packages . . . . . . . . . .
I.2 Livres gnralistes . . . . . . . . . . . . .
I.3 Livres et textes sur des points spciques
I.4 Sites internet . . . . . . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

251
251
251
252
252

Index
J.1 Commandes . . . . . . .
J.2 Classes . . . . . . . . . .
J.3 Champs bibliographiques
J.4 Environnements . . . . .
J.5 Packages . . . . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

253
253
257
257
258
259

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

268

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.