Annexe A - Générer des « PDF »▲
Cette annexe présente un moyen de générer des documents au format PDF (portable document format). Ce format créé par la société Adobe présente l'avantage d'être effectivement portable d'un ordinateur à un autre, et de manière plus générale, d'un système d'exploitation à un autre. Il est donc intéressant aujourd'hui de pouvoir générer de tels fichiers à partir d'un source LaTeX.
A-1. Principe général▲
Il y a au moins trois façons de générer des fichiers au format PDF à partir d'un document LaTeX :
- à l'aide de pdflatex qui s'utilise en lieu et place du programme latex pour traduire le source LaTeX en Pdf ;
- à l'aide de dvipdf permettant de traduire le fichier Dvi en Pdf ;
- à l'aide de ps2pdf pour traduire une sortie PostScript en Pdf.
Votre serviteur qui a une certaine expérience de la première solution s'attardera sur pdflatex. Un des pré-requis pour une utilisation correcte de ce logiciel est
- soit l'utilisation du package lmodern ;
- soit l'installation de l'extension « CM-Super font » de Vladimir Volovich. La distribution Etch de la Debian contient un paquet prêt à l'emploi. On peut également trouver des documentations sur le ouèbe permettant d'installer cette extension sur une distribution Debian Sarge avec teTeX (http://sravier.free.fr/linux/debian_latex_cm-super.html).
A-2. Ce qui change▲
Pour compiler le fichier source LaTeX et produire un fichier au format Pdf, on utilisera le programme pdflatex :
pdflatex monfichier.tex
commande qui, si le document source ne contient pas d'erreur, créera le fichier nommé monfichier.pdf. Voici ensuite quelques remarques importantes :
Graphiques : ils devront être inclus au format Png ou Jpeg pour les images et PDF pour les dessins(92) ;
Liens : à condition d'inclure le package hyperref, le document Pdf contiendra automatiquement des liens à chaque occurrence de la commande \ref
, dans la table des matières, dans l'index, etc. De plus une table des matières déroulante sera générée pour le programme Acrobat Reader.
A-3. Trucs et astuces▲
Puisqu'on génère souvent du Dvi ou du Pdf à partir du même source et que l'on doit inclure des fichiers graphiques à des formats différents selon la situation, on utilisera le package ifpdf et l'astuce suivante :
2.
3.
4.
5.
\ifpdf
% un truc spécifique à la sortie en pdf
\else
% un machin spécifique à la sortie en dvi
\fi
A-3-1. Gestion des graphiques▲
On pourra écrire ensuite quelque chose du genre :
2.
3.
4.
5.
\ifpdf
\graphicspath
{{pngs/}{{pdfs/}}
\else
\graphicspath
{{epss}}
\fi
Si on a pris soin de ranger les fichiers graphiques dans les répertoires pngs, pdfs et epss… Ce nouveau « if » permet également des constructions du style :
2.
3.
4.
5.
\ifpdf
\includegraphics
[pdftex]{graphicx}
\else
\includegraphics
{graphicx}
\fi
Ce qui ne doit pas être nécessaire avec les dernières moutures de LaTeX.
A-3-2. Vignettes▲
Les versions récentes de pdflatex permettent de créer des vignettes (thumbnail) pour les visualiseurs evince et Acrobat Reader pour ne citer qu'eux. Auparavant, il était nécessaire d'utiliser le package thumbpdf :
\usepackage
{thumbPDF}
puis exécuter :
thumbpdf monfichier.pdf
Cette commande crée un fichier nommé monfichier.tpt qui sera inclus à la compilation suivante avec pdflatex.
A-3-3. Pagination▲
Pour faire apparaître les numéros de pages du document dans le navigateur Acrobat Reader, il est nécessaire d'ajouter l'option pdfpagelabels à l'inclusion du package hyperref (cf. § suivant).
A-3-4. Signets▲
Les signets (bookmarks en anglais) des visualiseurs de fichier Pdf sont des sortes d'« explorateurs de table des matières » qui donnent accès directement à une section d'un niveau déterminé. Il y a eu deux difficultés à contourner pour produire ce manuel :
- faire en sorte que le contenu du « backmatter » (biblio, glossaire, index) soit au même niveau hiérarchique que les « parties » dans cet explorateur. Par défaut, ces informations se trouvent en effet « cachées » dans la partie des annexes, car à la même profondeur que les
\chapters
; - faire en sorte que le lien vers l'index dans les signets pointe effectivement sur l'index...
Pour régler le premier problème, il suffit de faire croire à LaTeX qu'à partir du « backmatter » les chapitres sont d'un même niveau de profondeur dans la table des matières, que les parties. L'incantation vaudou correspondante est :
\renewcommand
{\toclevel@chapter
}{-1}
à placer à un endroit judicieux dans un fichier de style. L'endroit où l'on redéfinit le \backmatterOrganisation du document est sans nul doute un bon choix.
Pour en finir avec les bookmarks, afin que celui de l'index pointe effectivement sur l'index (!), on devra cette fois avoir recours à une incantation chamanique :
2.
3.
4.
5.
6.
\let\printindexORIG\printindex
\renewcommand
{\printindex
}{%
\cleardoublepage
\phantomsection
% création d'une fausse section
\addcontentsline
{toc}{chapter}{Index}
\printindexORIG
}
permettant de surcharger la commande \printindex
en y ajoutant une fausse section à l'aide de la commande \phantomsection
fournie avec le package hyperref. Ne m'en demandez pas plus :-)
A-4. Hyperliens▲
Le package hyperref permet d'insérer dans les fichiers .dvi et .pdf des commandes spéciales qui pourront être exploitées par les navigateurs (xdvi et Acrobat Reader entre autres). On pourra alors cliquer sur le texte produit par les commandes telles que \ref
pour se rendre automatiquement à la zone référencée. Dans le document que vous avez sous les yeux, la version électronique possède des liens sur lesquels on peut cliquer pour :
- toutes les références générées par
\ref
,\pageref
et\vref
; - les notes de bas de page ;
- les url produites par la commande
\url
; - les renvois bibliographiques ;
- les pages pour chaque entrée d'index.
Pour activer ce système d'hyperliens, on écrira :
2.
3.
4.
5.
6.
7.
8.
9.
\ifpdf
\usepackage
[pdftex=true,
hyperindex=true,
colorlinks=true]{hyperref}
\else
\usepackage
[hypertex=true,
hyperindex=true,
colorlinks=false]{hyperref}
\fi
Ce qui fera apparaître les liens en couleur uniquement dans la version Pdf. Ceux de la version PostScript seront quant à eux produits en noir ce qui assurera leur lisibilité si le document est imprimé en noir et blanc.
L'ordre dans lequel on inclura les différents packages pour un document influera sur le bon fonctionnement de l'extension hyperref. Il arrive même que l'endroit choisi pour l'inclusion provoque une erreur de compilation. À vous de trouver la bonne séquence :-)
A-5. Interaction avec psfrag et pstricks▲
A-5-1. pstricks ▲
To trick en anglais, ou « tricher » en français... En gros en écrivant ça :
2.
3.
4.
5.
6.
7.
Soit :
\begin
{pspicture}
[](-
1
,-
1
)(
1
,
1
)
\parametricplot
[linewidth=.
5
pt,plotstyle=ccurve]
%
{
0
}{
360
}{
4
t mul sin
3
t mul sin}
\psgrid
[gridlabels=
0
pt](-
1
,-
1
)(
1
,
1
)
\end
{pspicture}
\quad
le tracé de $x=\sin(4t), y=\sin(3t)$
...
On obtient ça :
Dingue, non ? Certes. Le principe de l'extension pstricks est d'insérer du code PostScript dans le fichier .dvi, code qui pourra être également traité par le programme dvips. Là où ça se corse c'est lorsque l'on veut utiliser ces bestioles avec pdflatex. En effet ce dernier créant directement un fichier Pdf à partir du .tex, insérer du PostScript dans le fichier au format Pdf n'aura aucun effet... Il est malgré tout possible de contourner le problème :
- générer d'abord un document LaTeX minimal contenant les commandes pstricks ;
- compiler ce document avec LaTeX pour générer un .dvi ;
- demander à dvips de créer un fichier au format PostScript encapsulé avec l'option -E ;
- convertir ce fichier au format Pdf ;
- inclure ce fichier au moment d'utiliser pdflatex.
Tout cela est évidemment un peu tordu mais peut être automatisé à l'aide d'un Makefile, d'un petit script Unix et d'une commande… Tout d'abord :
2.
\newcommand
{\includepstricksgraphics
}[1]{%
\ifpdf
\includegraphics
{#1
}\else\input
{#1
}\fi
}
L'idée est donc d'extraire la portion de code contenant des commandes pstricks pour les stocker dans un fichier bidule.tex, puis lorsqu'on écrit :
\includepstricksgraphics
{bidule}
on inclura bidule.pdf si on utilise pdflatex et bidule.tex si on utilise LaTeX.
Ensuite, le « petit » script Unix qu'on peut adapter à ses besoins :
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
#!/bin/sh
# on enlève l'extension du 1er argument
FILE
=
${1%.*}
# création d'un fichier temporaire psttemp.tex
cat >
psttemp.tex <<EOF
\documentclass{manuel} ← mettre la classe et les packages adéquats
\thispagestyle{empty}
\begin{document}
\input{
$FILE
}
\end{document}
EOF
# Création du fichier dvi
latex psttemp
# Création du fichier eps
dvips -E $TMPFILE
.dvi -o psttemp.eps
# Création du fichier pdf
epstopdf psttemp.eps --debug --outfile
=
$FILE
.pdf
# effacement des fichiers temporaires
rm -f psttemp.*
Ce script sauvé sous le nom pstricks.sh pourra être invoqué comme suit :
/pstricks.sh bidule.tex
et crée le fichier bidule.pdf que pdflatex aura la sagesse d'inclure grâce à la commande \includepstricksgraphics dont le code est donné plus haut. Pour ce qui est du Makefile, il n'est pas très difficile à partir du script précédent de définir une règle ayant pour but de transformer un fichier .tex en un fichier .pdf. Avec la version Gnu de make, on aura quelque chose du genre :
2.
%.pdf :
%.tex
./pstricks.sh $
<
Le programme dvips n'est pas toujours en mesure de calculer correctement la boîte englobante pour le PostScript encapsulé. En particulier, la section 41 de la documentation de pstricks(93) indique que dvips n'est pas capable de tenir compte du code postscript généré pour estimer cette boîte englobante. Dans ce cas, il est conseillé soit d'ajouter du texte autour du graphique et dvips arrive à s'en sortir, soit d'utiliser l'environnement TeXtoEPS. Le document temporaire du script précédent devient alors :
2.
3.
4.
5.
6.
7.
8.
9.
10.
cat >
psttemp.tex <<EOF
\documentclass{manuel}
\usepackage{pst-eps}
\thispagestyle{empty}
\begin{document}
\begin{TeXtoEPS} ← Pour aider PSTricks à calculer la boîte
\input{
$FILE
}
\end{TeXtoEPS}
\end{document}
EOF
A-5-2. psfrag▲
La limitation et le principe sont les mêmes que pour pstricks. Pour utiliser psfrag avec pdflatex, il est nécessaire de procéder comme suit :
- générer d'abord un document LaTeX minimal contenant des commandes psfrag ;
- compiler ce document avec LaTeX pour générer un .dvi ;
- demander à dvips de créer un fichier au format PostScript encapsulé avec l'option -E ;
- convertir ce fichier au format Pdf ;
- inclure ce fichier au moment d'utiliser pdflatex.
Il y a cependant un petit « hic » car la figure dont on calcule la boîte englobante avec dvips contient du texte généré par psfrag indiquant les remplacements qui seront effectués. On doit en tenir compte. Dans le script shell, on crée une fonction :
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
function genere_eps
{
cat >
$TMPFILE
.tex <<EOF
\documentclass{manuel} ← mettre la classe et les packages qui vont bien
\thispagestyle{empty}
\begin{document}
\input{
$1
}
\end{document}
EOF
echo "Création du fichier dvi"
latex $TMPFILE
>
$LOGFILE
echo "Création du fichier
$TMPFILE
.eps"
dvips -E $TMPFILE
.dvi -o $TMPFILE
.eps >>
$LOGFILE
2
>&
1
}
On utilise ensuite cette fonction par deux fois comme suit, dans le script :
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
FILE
=
${1%.*}
TMPFILE
=
truc
LOGFILE
=
truc.log
sanspsfrag
=
$TMPFILE
-sanspsf.tex
# on enlève les lignes contenant la commande \psfrag
# et on récupère la boîte englobante du fichier eps sans les psfrag
grep -v \\\\psfrag $FILE
.tex >
$sanspsfrag
genere_eps $sanspsfrag
bonnebb
=
$
(
grep "^%%BoundingBox"
$TMPFILE
.eps |
head -1
)
# on récupère la boîte englobante du fichier eps avec psfrag
genere_eps $FILE
mauvaisebb
=
$
(
grep "^%%BoundingBox"
$TMPFILE
.eps |
head -1
)
# on remplace la boîte englobante par la bonne
sed -i "s/
$mauvaisebb
/
$bonnebb
/"
$TMPFILE
.eps
echo "Création du fichier pdf"
epstopdf $TMPFILE
.eps --debug --outfile
=
pdfs/${FILE##*/}
.pdf >>
$LOGFILE
2
>&
1
# un petit coup de toilette
rm -f $TMPFILE
.* $LOGFILE
$sanspsfrag
Ce script a plusieurs limitations. Parmi elles : il échouera si une commande \psfrag
s'étend sur plusieurs lignes. On demande en effet à grep d'enlever les lignes contenant psfrag sans vérifier que la commande ne se termine pas une ou plusieurs lignes plus bas…
Annexe B - Mémento▲
Vous trouverez ici quelques informations « en vrac » sur les extensions de LaTeX, une liste assez complète des fichiers auxiliaires qui gravitent autour de votre fichier source. Suivent quelques explications succinctes sur la merveilleuse extension AucTeX d'Emacs. Enfin pour ceux qui ont la chance de travailler dans un environnement Unix, cette annexe s'achève sur la configuration d'Emacs pour travailler avec le correcteur orthographique Aspell.
B-1. Extensions▲
Comme indiqué dans la préface de ce document, TeX et LaTeX sont des systèmes ouverts. Autour du noyau LaTeX gravitent un certain nombre de packages standard qui constituent la base du système. Mais tout utilisateur peut faire évoluer LaTeX en lui ajoutant des fonctionnalités diverses. On trouve donc une multitude d'outils sous forme d'extensions (ou packages en anglais) ou sous forme de classe de documents. Certaines sont devenues des standards, « toutes » sont disponibles sur les serveurs dédiés à la distribution de LaTeX (cf. chapitre 8À vous de jouer !) ou sur des pages personnelles, d'autres sont fournies avec les Call for papers et autres author's guides.
Nous vous donnons ici une liste de packages « classiques » et vous invitons à vous référer à la documentation qui est généralement jointe au package. Notez que le site du Loria propose une liste des packages « généraux » à http://www.loria.fr/services/tex/packages.html#latex ; il existe d'autre part un moteur de recherche contenant plus de mille extensions référencées, à ftp://ftp.loria.fr/pub/unix/tex/ctan/help/Catalogue/catalogue.html [ftp://ftp.loria.fr/pub/unix/tex/ctan/help/Catalogue/catalogue.html].
- french : utilisé pour « franciser » les documents. Ne coupe pas une phrase entre un mot et une double ponctuation. Propose aussi quelques commandes axées sur la typographie française (voir chapitre 7Des documents en français) ;
- amsmath : le package pour faire des formules et équations perfectionnées ;
- array : améliore l'utilisation de tabular ;
- hhline : étend les bordures de tableaux de base de LaTeX ;
- fancyhdr : permet de personnaliser en-tête et pied de page. Jetez un coup d'œil sur ceux de ce manuel ;
- varioref : propose la commande
\vref
à la place de\ref
. Celle-ci ajoute « page suivante », « page 12 », ou rien du tout selon où se trouve l'objet référencé par rapport à la position du renvoi ; - ifthen : fournit deux structures de contrôle un « if then else » et un « do while ». Ce qui permet de faire des commandes un peu plus évoluées ;
- chapterbib : permet d'insérer une bibliographie à chaque fin de chapitre ;
- overcite : écrit les citations bibliographiques sous forme d'exposant ;
- bibunits : permet de produire des bibliographies composées de plusieurs unités ;
- fancybox : propose quatre variantes de
\fbox
: , , et . - algorithms : pour écrire des algorithmes (facilement « francisable ».) sous la forme d'un environnement qui peut être flottant ou non ;
- geometry : une extension permettant de changer les marges et la plupart des dimensions intervenant au niveau de la page, de manière assez souple ;
- url : permet d'écrire des adresses sous forme d'une url, la césure est gérée « pour le mieux » ;
- fancyvrb : propose une version améliorée de l'environnement verbatim.
B-2. Les fichiers auxiliaires▲
Voici la liste des fichiers que vous pourrez trouver sur votre disque à côté de votre document source. Ces fichiers portent tous une extension de trois lettres, les voici(94) :
- tex : fichier source LaTeX ;
- aux : fichier auxiliaire que LaTeX utilise pour résoudre les références, entre autres ;
- log : le fichier de trace (dit log file en anglais) contenant les infos de la compilation ;
- dvi : fichier device independant, qui va pouvoir être affiché ou imprimé selon la situation ;
- toc : fichier contenant la table des matières (initiales de table of contents) ;
- lof : fichier contenant la liste des figures (list of figure) ;
- lot : fichier contenant la liste des tables ;
- bib : fichier source BibTEX contenant des entrées de bibliographie ;
- bbl : fichier contenant la bibliographie, peut être généré à partir de BibTEX ;
- blg : fichier trace de BibTEX ;
- idx : fichier des entrées d'index non triées ;
- ind : fichier contenant l'index, généralement généré par makeindex ;
- ilg : fichier trace de makeindex ;
- sty : fichier contenant des définitions de commandes modifiant la mise en page, ou fournissant des outils particuliers ;
- cls : fichier définissant une classe.
Pour archiver un document LaTeX,
Vous pouvez effacer : tous les fichiers auxiliaires, les fichiers log ainsi que les fichiers de tables des matières et listes de figures et tables.
Vous pouvez aussi effacer : le fichier bbl si vous êtes capable de le générer à partir d'un fichier bib et BibTeX. Les fichiers d'index peuvent généralement être effacés puisqu'ils sont en principe produits par makeindex. Le fichier dvi n'est pas indispensable puisque vous êtes censé avoir la source LaTeX
Vous devez garder : la source LaTeX et les éventuels fichiers de styles que vous avez définis (sty et cls) ; mais si vous en êtes au stade de la définition de classe, le conseil est probablement un peu saugrenu…
B-3. AucTeX▲
AucTeX est un module d'Emacs qui facilite la saisie de documents LaTeX. Il est automatiquement chargé lorsqu'on ouvre un document portant l'extension .tex, .sty ou .cls. On peut distinguer trois types d'aide dans AucTeX :
- l'aide au formatage du source (couleur, indentation,...)
- les raccourcis clavier pour insérer des commandes ou des environnements,
- l'aide à la compilation.
B-3-1. Formatage du source▲
Les couleurs et la touche tab jouent le même rôle que dans un buffer C ou C++. On notera que M-q « formate » un paragraphe, c.-à-d., découpe automatiquement le paragraphe en lignes de longueurs à peu près égales.
B-3-2. Raccourcis▲
fontes▲
C-c C-f (Changer Fonte) suivi de :
- C-e insère
\emph
{} - C-b insère
\textbf
{} - C-t insère
\texttt
{} - C-s insère
\textsl
{} - C-c insère
\textsc
{} - ...
Section▲
C-c C-s insère une Section en vous demandant son niveau, son titre et son label dans le minibuffer.
Commandes et Environnement▲
M-Tab tente de compléter le nom en cours (automatic completion).
C-c RET insère une commande.
C-c C-e insère un Environnement(95).
C-u C-c C-e change un environnement.
C-c ] ferme un environnement en ajoutant la commande \end
qui manque.
B-3-3. Compilation▲
C-c C-c tente de suivre le cycle de compilation d'un document, en lançant suivant la situation, LaTeX, BibTeX, xdvi... Notez aussi que AucTeX permet de gérer le mécanisme du document maître (cf. 6.4Diviser votre document). Pour cela il vous demandera de saisir le nom du document maître lorsque vous ouvrirez un nouveau document dans Emacs. Dans le cas contraire il faudra expliquer gentiment à AucTeX qui est le document maître avec :
- M-x TeX-master-file-ask ou C-c _
Vous devrez alors saisir le nom du fichier maître. En agissant ainsi, lorsque vous lancerez une compilation avec C-c C-c sur un des documents « esclaves », c'est sur le master qu'elle agira.
B-4. Aspell▲
Aspell est un correcteur orthographique multilingue qu'on peut interfacer avec l'éditeur de texte à tout faire Emacs. Pour l'utiliser dans Emacs, deux commandes à connaître :
- M-x ispell-change-dictionar y
selectionne la langue du dictionnaire (francais ou english), et :
- M-x ispell-buffer
commence une session de correction sur le buffer. Il est également possible de vérifier l'orthographe d'un seul mot avec la commande :
- M-x ispell-word ou M-$
À l'heure où j'écris ces lignes, la distribution Debian ne configure pas Emacs pour utiliser le programme Aspell par défaut. Il faut donc ajouter dans votre fichier .emacs la ligne :
(setq-default ispell-program-name "aspell"
)
Il est particulièrement utile de noter que l'on peut configurer le programme Aspell pour lui demander explicitement d'ignorer ou non les arguments des commandes LaTeX. On pourra par exemple ne pas vérifier l'argument d'une commande ne contenant pas de français. Ainsi, si l'on définit la commande :
2.
\newcommand
{\bidule
}[2]{% commande prenant 2 arguments
... }
Il suffira d'écrire dans son fichier ~/.aspell.conf :
add-tex-command bidule pP
pour demander à Aspell de vérifier le second paramètre (P), mais d'ignorer le contenu du premier (p). Pour ignorer les deux, on aurait écrit :
add-tex-command bidule pp
Enfin, Emacs dispose également d'un mode de correction de mot « à la volée(96) » qu'on peut activer ou désactiver avec la commande :
- M-x flyspell-mode
Annexe C -Symboles▲
Vous trouverez dans cette annexe, une liste de « tous » les symboles mathématiques disponibles dans LaTeX. Nous avons séparé ces symboles en quatre catégories :
- les symboles standard du tableau C.1 au tableau C.10 ;
- les symboles de LaTeX disponibles avec le package latexsym donnés par le tableau C.11 ;
- les symboles de l'American Mathematical Society disponibles avec le package amssymb, du tableau C.12 au tableau C.19 ;
- les symboles disponibles avec le package textcomp (tableaux C.20 et C.21);
- les symboles des fontes PostScript bien connues ZapfDingbats et Symbol.
Les symboles de ces fontes sont accessibles en incluant le package pifont et en utilisant la commande :
- \Pisymbol{pzd}{numéro}
pour les symboles de la fonte Zapf, et :
- \Pisymbol{psy}{numéro}
Pour ceux de la fonte Symbol. Le nombre numéro est le numéro de la case correspondant au symbole choisi dans la table C.22 ou C.23.
C-1. Symboles standard▲
C-2. Symboles de l'AMS▲
C-3. Symboles du package textcomp▲
Annexe D - Notes de production▲
J'ai rassemblé ici des éléments permettant d'exploiter les sources de ce document, comment les compiler, avec quelle distribution de LaTeX, comment les fichiers sont organisés, etc.
D-1. Distribution du moment▲
Le présent ouvrage a été compilé sur deux systèmes Linux contenant la distribution TeXlive :
- la distribution TeXlive de la Ubuntu 08.04 ;
- une distribution TeXlive pour Debian Etch.
Toute autre expérience fructueuse sur des systèmes différents est bien entendu la bienvenue… De plus pour la génération du document au format PDF, seule la famille Computer Modern dans sa version « CM-Super » a été testée.
D-2. Les sources du manuel▲
D-2-1. Structure▲
Les sources du manuel sont organisées selon le principe suivant :
- sources LaTeX dans le répertoire corps avec un fichier par chapitre ;
- les styles (sty et cls) dans le répertoire styles ;
- les images dans un répertoire pngs ;
- le répertoire texs contient des sources LaTeX à inclure dans le document (modèles de lettre, de fax, code contenant des appels à Psfrag ou Pstricks) ;
- les sources xfig dans le répertoire figs ;
- tout ce qui a trait à l'index, à la bibliographie et au glossaire est stocké dans le répertoire bibidx ;
Les sources xfig et certains « bouts » de fichiers LaTeX sont traduits au format PDF, postscript encapsulé ou non, par un makefile les stockant :
- dans le répertoire epss ;
- dans le répertoire pdfs ;
- dans le répertoire pss ;
selon le moteur utilisé (latex ou pdflatex).
D-2-2. Styles▲
Le fichier framabook.cls contient la définition de la classe du manuel. Ce fichier fait appel à une série de packages « du commerce » et une série de packages « maison ». On trouve, pour ces derniers, un fichier source pour :
- chaque « nouveau jouet » : onglets, nota, sommaire, glossaire, boîte avec un titre (titlebox.sty), exemples, lettrine, renvois (voir.sty), citations et épigraphes ;
- le sommaire ;
- la géométrie globale du document ;
- l'allure des en-têtes et pieds de pages ;
- l'allure des sections/chapitres/etc. ;
- des commandes en vrac utilisées dans le document (manumac.sty) ;
Sauf indication contraire, ces fichiers portent un nom ressemblant étrangement à ce qu'ils contiennent.
D-3. Compilation▲
Dans le fichier maître framabook.tex on peut stipuler en option de classe :
- versionenligne pour générer un fichier à visualiser avec des hyperliens en couleur ;
- versionpapier pour générer une version destinée à être imprimée puis massicotée.
Le présent manuel a été composé en se basant sur un support papier différent du format A4. Par conséquent si vous ne possédez pas de massicot, le document résultant sera visuellement assez laid. Une solution consiste à se procurer les versions imprimables sur papier A4 depuis le site http://www.enise.fr/cours/info.
D-3-1. Makefile▲
L'arborescence racine des sources contient un fichier Makefile pour le manuel, qu'il faut copier :
cp Makefile.frama Makefile
D-3-2. Figures▲
Les figures peuvent êtres compilées grâce aux commandes :
make figs
Il faut disposer du logiciel transfig connexe à xfig pour traduire les sources en pdf et eps. Sur le site http://cours.enise.fr/info/latex est disponible une archive contenant les figures déjà traduites...
D-3-3. Dvi et postscript▲
2.
3.
4.
5.
latex framabook
make bibindex
latex framabook
latex framabook
dvips framabook -o framabook
D-3-4. PDF▲
Rien de particulier
2.
3.
4.
pdflatex framabook
make bibindex
pdflatex framabook
pdflatex framabook
D-3-5. Nettoyage de printemps▲
En bref :
2.
3.
make cleanfigs ← efface tous les eps/pdfs/...
make cleantex ← efface tous les fichiers auxiliares
make cleandocs ← efface tous les documents générés (
dvi/ps/pdf/...)