Formation LaTeX

Pour Windows Mac et Linux

| Konrad Florczak | Kernel Panic Systems |

Le document est tiré d'une formation à l'ESIEA faite en deux parties de 1 h 30. Cet article a pour vocation d'élargir le champ de à Windows et à MacOSX. En effet, il faut savoir que l'environnement a énormément évolué depuis peu : TeX s'est porté sur tous les OS et n'est plus réservé qu'aux thésards et aux spécialistes. Il y a même des outils de dessin ou de création de courbes sous Java spécialement dédiés à . Pour ne pas répéter ce que d'autres ont déjà très bien écrit sur le fonctionnement de (commandes, packages, astuces), nous avons établi une liste assez complète et non exhaustive des documents PDF disponibles sur le Net, des sites Internet très bien faits, ainsi que la bibliographie détaillée des meilleurs livres traitant du sujet.

Version 1.5 du tutoriel.

Commentez

- Titre : Formation LaTeX

- Auteurs : Konrad Florczak, Kernel Panic Systems

- Parution : 16 décembre 2005

- Mise à jour : 11 novembre 2014

- Public visé :

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2014 Konrad Florczak. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Introduction

- I-A. De l'article

- I-A-1. Objectif

- I-A-2. Copyleft

- I-A-3. Remerciements

- I-B. De LaTeX 2ε

- I-B-1. TeX

- I-B-2. LaTeX

- I-B-3. Philosophie de LaTeX

- II. Installation de LaTeXε sur les OS

- II-A. Compilateur

- II-A-1. Windows

- II-A-2. MacOSX

- II-A-3. Linux

- II-A-3-a. TeXLive

- II-A-3-b. Utilisation en mode console

- II-B. Éditeurs LaTeX

- II-B-1. TeXnicCenter

- II-B-2. Gvim

- II-B-3. Jedit

- II-B-4. Jext

- II-B-5. NT Emacs

- II-B-6. Eclipse 3.0 avec plugin Etex

- II-B-7. Kile

- II-B-8. TeXture

- II-B-9. Itexmac

- II-B-10. TexShop

- II-B-11. Tableau récapitulatif

- II-C. Visualiseur

- III. Conception d'un document TeX

- III-A. Mon premier .tex

- III-B. Chapitrage

- III-B-1. Chapitrage simple

- III-B-2. Chapitrage avancé

- III-B-2-a. chapitrage non indéxé

- III-B-2-b. double nom pour un chapitre

- III-C. L'inclusion de fichiers

- III-C-1. L'inclusion de fichier .tex

- III-C-1-a. Inclusion simple

- III-C-1-b. Compilation partielle

- III-C-2. Inclusion d'images

- III-C-2-a. inclusion simple

- III-C-2-b. inclusion flottante

- III-C-3. Inclure des fichiers PDF

- III-D. Mathématiques sous LaTeX

- III-D-1. Différents modes

- III-D-1-a. Mode texte

- III-D-1-b. Mode hors-texte

- III-D-2. Différents environnements

- III-D-2-a. Environnement array

- III-D-2-b. Environnement equation

- III-D-2-c. Environnement eqnarray

- III-D-3. Fonctions couramment utilisées

- III-E. Tableaux

- III-E-1. 8.1 Tableaux statiques

- III-E-2. Tableaux dynamiques

- III-E-3. Excel2LaTeX

- IV. Utilisation LaTeX avancée

- IV-A. pdfLATEX

- IV-A-1. Présentation

- IV-A-2. Pdftex, moteur et driver

- IV-A-2-a. Le package Hyperref

- IV-A-2-b. Utilisation avancée

- IV-B. Création de commandes macros

- IV-B-1. Nouvelles commandes

- IV-B-2. Extension

- IV-C. Utilisation de graphes dans LaTeX

- IV-C-1. Logociels externes

- IV-C-1-a. TexGraph pour Windows

- IV-C-1-b. jPicEdit en Java

- IV-C-2. Packages spécialisés

- IV-C-2-a. XY

- IV-C-2-b. PsTricks

- IV-D. Ancres

- IV-D-1. Références dans le document

- IV-D-1-a. Références internes

- IV-D-1-b. Références externes

- IV-D-2. Indexation avec makeindex

- IV-E. Bibliographie avec BibTEX

- IV-E-1. Fonctionnement

- IV-E-2. Écrire un fichier .bib

- IV-E-3. Inclure le .bib dans le .tex

- IV-E-4. Références croisées

- IV-E-5. JabRef

- IV-F. Modèle de doc avancé

- IV-F-1. Organisation des fichiers

- IV-F-2. Modèle de document type

- IV-G. Vers l'autonomie

- IV-G-1. Developpez.com

- IV-G-2. CTAN — Comprehensive Tex Archive Network

- V. Bibliographie

- VI. Liens Internet pratiques

I - Introduction

I-A - De l'article

I-A-1 - Objectif

Le document est tiré d'une formation à l'ESIEA faite en deux parties de 1 h 30. Le poly a pour vocation d'élargir le champ de à Windows et à MacOSX. En effet, il faut savoir que l'environnement a énormément évolué depuis peu : TeX s'est porté sur tous les OS et n'est plus réservé qu'aux thésards et aux spécialistes. Il y a même des outils de dessin ou de création de courbes sous Java spécialement dédiés à . Pour ne pas répéter ce que d'autres ont déjà très bien écrit sur le fonctionnement de (commandes, packages, astuces), nous avons établi une liste assez complète et non exhaustive des documents PDF disponibles sur le Net, des sites Internet très bien faits, ainsi que la bibliographie détaillée des meilleurs livres traitant du sujet.

Une section a été spécialement créée pour les professeurs. Pour qu'ils puissent rapidement et simplement construire leurs modèles de documents spécifiques à l'E.S.I.E.A (disponibles sur latex.kps.fr), faire des liens avec les logiciels mathématiques souvent utilisés comme Matematica© ou MATLAB©, etc. Les modèles de documents sont modifiables à souhait. L'objectif de ce polycopié est donc de présenter la manière la plus simple et la plus efficace de faire de beaux documents en sans fournir le moindre effort.

I-A-2 - Copyleft

Pour faire simple, vous pouvez faire ce que vous voulez de ce document. Faire des copier/coller, imprimer une partie ou le tout, le copier, prendre des phrases, des paragraphes et inclure dans vos rapports, vraiment ce que vous voulez. Cependant lorsque vous le faites, essayez aussi que votre document à la fin soit de type Copyleft.

Pour plus d'info sur le copyleft : http ://www.gnu.org/copyleft/copyleft.fr.html

I-A-3 - Remerciements

J'aimerais remercier Jean Marc Lichtle pour l'aide précieuse qu'il m'a apportée lorsque je commençais le , et Thomas Tissot qui m'a aidé à la rédaction du document.

Si vous trouvez des coquilles (il y en a sûrement beaucoup), veuillez me le signifier par e-mail.

I-B - De LaTeX 2ε

I-B-1 - TeX

TeX est un programme écrit par Donald E. Knuth. Il est conçu pour la composition de textes et d'équations mathématiques. Knuth a commencé le développement de TeX en 1977 parce qu'il était frustré par l'édition ses articles, publiés par l'American Mathematical Society. Il avait arrêté de soumettre des articles vers 1974 parce que le résultat final était trop pénible à regarder. TeX, tel que nous l'utilisons aujourd'hui, est sorti en 1982 et a été amélioré progressivement. Ces dernières années TeX a atteint une grande stabilité. Aujourd'hui Knuth affirme qu'il n'y a virtuellement plus de bogue . Le numéro de version de TeX tend vers et est actuellement 3, 14159.

I-B-2 - LaTeX

est un ensemble de macros qui permettent à un auteur de mettre en page son travail avec la meilleure qualité typographique en utilisant un format professionnel prédéfini. a été écrit par Leslie Lamport. Il utilise TeX comme outil de mise en page.

I-B-3 - Philosophie de LaTeX

Analogie avec une maison d'édition

Pour publier un texte, un auteur confie son manuscrit à une maison d'édition. L'éditeur décide alors de la mise en page du document (largeur des colonnes, polices de caractères, présentation des en-têtes…). L'éditeur note ses instructions sur le manuscrit et le passe à un technicien typographe qui réalise la mise en page en suivant ses instructions. Un éditeur humain essaye de comprendre ce que l'auteur veut mettre en valeur et décide de la présentation en fonction de son expérience professionnelle et du contenu du manuscrit. Dans un environnement , celui-ci joue le rôle de l'éditeur et utilise TeX comme typographe pour la composition. Mais n'est qu'un programme et a donc besoin de plus de directives. L'auteur doit en particulier lui fournir la structure logique de son document. Cette information est insérée dans le texte sous la forme de commandes . Cette approche est totalement différente de l'approche WYSIWYG(1) utilisée par les traitements de texte modernes tels que Microsoft Word, Corel WordPerfect, ou Open Office. Avec ces programmes, l'auteur définit la mise en page du document de manière interactive pendant la saisie du texte. Tout au long de cette opération, il voit à l'écran à quoi ressemblera le document final une fois imprimé. Avec , il est normalement impossible de voir le résultat final durant la saisie du texte. (Sauf avec le programme LyX(2). Mais celui-ci peut être prévisualisé après traitement du fichier par . Des corrections peuvent alors être apportées avant d'envoyer la version définitive vers l'imprimante.)

Règles pour une bonne visibilité

La typographie est un métier. Les auteurs inexpérimentés font souvent de graves erreurs en considérant que la mise en page est avant tout une question d'esthétique : si un document est beau, il est bien conçu. Mais un document doit être lu et non accroché dans une galerie d'art. La lisibilité et la compréhensibilité sont bien plus importantes que le « look ». Par exemple :

- la taille de la police et la numérotation des en-têtes doivent être choisies afin de mettre en évidence la structure des chapitres et des sections ;

- les lignes ne doivent pas être trop longues pour ne pas fatiguer la vue du lecteur, tout en remplissant la page de manière harmonieuse.

Avec un logiciel WYSIWYG, l'auteur produit généralement des documents esthétiquement plaisants (quoique) mais très peu ou mal structurés. empêche de telles erreurs de formatage en forçant l'auteur à décrire la structure logique de son document et en choisissant lui-même la mise en page la plus appropriée.
Si vous avez compris cela, vous avez tout compris à .

Avantages

1. Mise en page professionnelle qui donne aux documents l'air de sortir de l'atelier d'un imprimeur, la composition des formules mathématiques se fait de manière pratique.

2. Il suffit de connaître quelques commandes de base pour décrire la structure logique du document. Il n'est pas nécessaire de se préoccuper de la mise en page.

3. Des structures complexes telles que des notes de bas de page, des renvois, la table des matières ou les références bibliographiques sont produites facilement.

4. Pour la plupart des tâches de la typographie qui ne sont pas directement gérées par , il existe des extensions gratuites. Par exemple pour inclure des figures PostScript ou pour formater une bibliographie selon un standard précis.

5. encourage les auteurs à écrire des documents bien structurés, parce que c'est ainsi qu'il fonctionne (en décrivant la structure) ; TeX, l'outil de formatage de , est réellement portable et gratuit. Ainsi il est disponible sur quasiment toutes les machines existantes.

Inconvénients

1. Bien que quelques paramètres des mises en page prédéfinies puissent être personnalisés, la mise au point d'une présentation entièrement nouvelle est difficile et demande beaucoup de temps.

2. Écrire des documents mal organisés et mal structurés est très difficile.

Et vu qu'un schéma vaut mieux que de longs discours :

II - Installation de LaTeXε sur les OS

Pour faire du , il faut trois choses :

1. Une distribution , qui comporte l'ensemble des compilateurs, visualiseurs, polices, etc. nécessaire au fonctionnement de  ;

2. Un éditeur de texte sachant faire du texte brut (plain text) ;

3. Un visualiseur Postscript (type ghostview) et/ou PDF (Acrobat Reader©).

Nota : Nous n'utilisons plus que le pdfLatex, car il propose des liens hypertextes très puissants ainsi qu'une portabilité maintenant universelle. De plus, on vous montrera par la suite comment contrôler l'affichage par avance d'Acrobat Reader© et comment signer votre document PDF et y ajouter des restrictions (impression, sauvegarde, etc.)

II-A - Compilateur

II-A-1 - Windows

La meilleure distribution pour Windows est sans conteste Miktek. Pour cela vous devez vous rendre sur le site http://www.miktex.org/ et télécharger la dernière version courante (2.4 en avril 2005). Il installe tout automatiquement, sans contraintes, il n'y a plus qu'à cliquer. Trois versions sont disponibles :

- la light de 25 Mo, très bien pour commencer et faire des documents simples ;

- la large de 250 Mo, pour créer ses packetsextensions et bidouiller tout le layout ;

- la totale de 500 Mo, qui ne sert selon nous à rien du tout, car si vous avez spécifiquement besoin d'un package, vous pouvez le télécharger directement via le logiciel de mis à jour miktek.

Une procédure d'installation très détaillée est disponible ici : http://www.ctan.org/tex-archive/systems/win32/miktex/setup/install.html. Et la même en français http://www.supinfo-projects.com/fr/2004/latex2e/2/.

Sommairement cela se passe en trois étapes :

1. Téléchargez l'installeur sur le site de MikteX ;

2. Choisissez un miroir (attention, certains ne fonctionnent plus… si l'install semble s'être arrêtée, relancez-la en choisissant un autre miroir (site jussieu.fr conseillé !) ;

3. Choisissez l'install large, qui fait 250 Mo une fois décompactée (150 sinon)… comme ça vous n'aurez pas besoin de retélécharger une archive manquante. À noter, MikteX offre la possibilité de télécharger à la volée les archives manquante… donc vous pouvez toujours opter pour une install minimum, mais je ne le recommande pas.

MikTex permet aussi d'effectuer la mise à jour des packages automatiquement. Préférez les chemins par défaut, à savoir c:\texmf , car de nombreux éditeurs de texte incluant des fonctionnalités se basent sur ce chemin.

Nota : Pour ceux qui n'ont pas accès à Internet à leur domicile, un CD d'installation est disponible au local KPS, avec la possibilité de faire une copie.

II-A-2 - MacOSX

Prérequis : vous devez posséder un pass admin sur votre machine, c'est indispensable afin de pouvoir installer .

Étape 1

Il faut aller télécharger l'application II2.dmg, qui se trouve à l'adresse suivante : ftp://ftp.nluug.nl/pub/comp/macosx/volumes/ii2/II2.dmg. Le site web est le suivant : http://www.rna.nl/ii.html. Il suffit de télécharger l'image disque, l'ouvrir et en copier le contenu dans le dossier /Applications/Utilitaires (il s'agit donc du dossier Applications à la racine du disque). Au lancement de l'application, la fenêtre suivante apparaît :

Étape 2

Cliquez maintenant sur Dismiss. Eh oui, il faut y aller, on se lance ! Allez dans le menu i-Package->Known Packages and i-Directory… Une nouvelle fenêtre apparaît : on l'appellera fenêtre principale dans la suite du tutoriel :

Il faut maintenant installer un à un tous les packages nécessaires pour que notre cher Mac puisse interpréter le code que vous allez taper.

Étape 3

Il va falloir installer un certain nombre de packages, et dans l'ordre s'il vous plaît, on ne met pas la charrue avant les bœufs !

Tout d'abord, il faut chercher la ligne Tex et la mettre en surbrillance.

Puis cliquer sur Open i-Package et là, une nouvelle fenêtre apparaît :

Cliquez sur l'onglet Install & Remove, puis sur Install. Maintenant, l'archive se télécharge. La procédure d'installation débute dans la foulée. Il y a près de 70 Mo à télécharger (74 Mo exactement), ce qui peut être long en fonction de votre connexion et de la disponibilité du serveur.

Au cours de l'installation, des questions vous seront posées : il faut y répondre, car les réponses apportées conditionnent l'utilisation future de . Il est, en outre, à noter que votre mot de passe d'administrateur vous sera souvent demandé !

- Première option proposée :

Il s'agit de savoir quelles options vous souhaitez configurer. Si vous ne savez pas trop ce que vous faites, vous laissez les options qui sont cochées par défaut, des précisions pourront être données par la suite.

- Deuxième option :
Il s'agit de la sélection du format d'exportation, idem, laissez les options par défaut, à moins que vous ne souhaitiez travailler sur un format particulier.

- Troisième option :
Il faut choisir le format de papier. Pour l'Europe, choisir A4, pour les autres pays, se renseigner sur la norme en vigueur.

- Quatrième option :

Sélection de l'utilisateur de la distribution . Par défaut, vous pouvez laisser administrateur. Sinon, choisissez dans la liste.

Enfin, lorsque tout est fini, vous devez obtenir la fenêtre suivante :

Vous pouvez maintenant fermer la fenêtre en cours et revenir à la fenêtre principale présentant le choix des packages à installer afin de passer à l'installation suivante.

Étape 4

Installation du package CM Super for TeX. Il faut procéder de la même façon que pour l'étape 3, c'est-à-dire mettre la ligne CM Super for TeX en surbrillance, cliquer sur Open i-Package puis sur l'onglet Install & Remove et enfin sur Install. Attention, là encore, c'est long, 113,6 Mo ! Il n'y a pas, en revanche, d'options spéciales à signaler.

Les autres packages à installer (dans l'ordre) sont les suivants :

- GhostScript 6, 7 puis 8 (le 6 n'est nécessaire que si vous êtes sous 10.1) ;

- Freetype 2, wmf and iconv conversion support ;

- ImageMagik.

L'ensemble des packages nécessaires pour générer des fichiers avec sont installés. Il s'agit d'une installation minimale permettant de créer des documents au format PDF d'une qualité irréprochable… pour pas un rond.

Étape 5

Utilisation de la distribution installée sur votre Mac. Utilisation de front-end (ou encore d'un éditeur de code ).

Plusieurs possibilités là encore. Deux logiciels font l'unanimité. iTexMac et Texshop. Ces deux logiciels sont gratuits.

Pour iTexMac, c'est par ici : iTexMac (suivre le lien vers sourceforge repository) Pour Texshop, c'est par là : TeXShop (Latest TeXShop à télécharger) J'ai une préférence pour iTexMac que je trouve plus simple et plus convivial. À vous d'essayer et de vous faire votre propre opinion.

Voilà, c'est fini pour cette première partie. Dans un second volet de sur Mac OS X, je vous dirai comment rédiger vos premiers articles.

Un très bon site (http://www.mecheng.adelaide.edu.au/ will/texstart/) explique en trois étapes comment installer TeX sous MacOSX.

II-A-3 - Linux

II-A-3-a - TeXLive

La distribution TeXLive :

Il y a deux types d'installation : une installation complète qui nécessite 200 Mo sur votre disque dur et une installation minimale qui utilise le CD.

La version minimale

Vous devez indiquer à votre système le chemin de votre programme. Montez le CD-Rom sur le système de fichier. Cela se fait sous root par la commande : .profile présent à la racine de votre arborescence (home).

La version complète

Là encore, vous devez posséder les droits pour monter le CD-Rom sur votre système de fichier par la commande suivante :

mount -t iso9660 /dev/cdrom /cdrom

Placez-vous à la racine du CD-Rom par la commande : cd /cdrom,puis lancez le programme d'installation : install-cd.sh. Le programme s'initialise… Un sommaire apparaît dans lequel vous avez le choix entre sept options :

- l'option P → indiquer le système d'exploitation ;

- l'option C → choisir le type d'installation : de base, recommandée, tout ou rien ;

- l'option S → installer des exécutables pour des systèmes différents de celui où vous installez  ;

- l'option L → préciser le type d'installation de base parmi basic, full (la deuxième est recommandée) ;

- l'option D → préciser le répertoire d'installation ;

- l'option O → modifier des paramètres ;

- l'option I → lancer l'installation.

Cela peut prendre plusieurs minutes (environ 30).

II-A-3-b - Utilisation en mode console

Installation des packages

Il vous faut au minimum installer :

DEBIAN : $ apt-get install tetex-extra gv4
REDHAT/FEDORA : $ rpm -ivh tetex-latex gv

Écrire le fichier source

Vous pouvez écrire les sources dans un fichier texte auquel vous donnerez l'extension .tex. Pour cela ; n'importe quel éditeur suffit, cela peut-être gedit, gvim, vim, kedit ou même des applications prévues pour faire du .

Compiler

Une fois que le fichier source (par exemple rapport.tex) est écrit, il faut le compiler deux fois : $ latex rapport.tex (exécuter deux fois).

Visualiser

Le résultat de la compilation est un fichier rapport.dvi que vous pouvez visualiser avec le programme xdvi : % xdvi rapport.dvi &

Convertir en PostScript et visualiser

Vous pouvez ensuite le convertir au format PostScript (extension .ps) :

% dvips -o rapport.ps rapport.dvi

Et le visualiser avec le programme GhostView : % gv rapport.ps &

Convertir en PDF et visualiser

Vous pouvez alors faire la conversion du format DVI au format PDF : % dvipdf rapport.dvi rapport.pdf

Visualisez le fichier PDF : % xpdf rapport.pdf &

II-B - Éditeurs LaTeX

Même si vous pouvez taper votre fichier tex en Notepad, il est conseillé d'utiliser un compilateur qui le fait pour vous.

Cependant, au début, il est fortement recommandé de commencer par un éditeur de texte vraiment classique pour bien apprendre les commandes de base et ainsi maîtriser rapidement l'outil TeX. Un tableau récapitulatif des logiciels est disponible (liste non exhaustive : chap. II.B.11).

Vous pouvez aussi consulter le site de framasoft http ://www.framasoft.net/article3108.html qui explicite très bien les logiciels présentés.

II-B-1 - TeXnicCenter

http://www.toolscenter.org/

L'outil le plus puissant sur le marché pour Windows s'appelle TexniCenter. Il fait le travail à votre place, vous crée le dossier de votre projet, etc. Mais sa plus puissante fonctionnalité est qu'il fonctionne de pair avec Miktek. Vous pouvez donc automatiquement, sans passer par MS-DOS, cliquer sur un bouton et la compilation se fera instantanément. Il permet d'inclure aussi un dictionnaire automatique fondé sous OpenOffice (fichier *.dic).

II-B-2 - Gvim

http://www.vim.org

Sous Windows, il faut reconnaître que le portage de VIM est d'excellente qualité, ce qui est loin d'être le cas d'Emacs (Xemacs est bien meilleur dans ce domaine). La colorisation est excellente. Là aussi, on bénéficie de la maturité du soft. Mais il y a un truc génial : il existe un plugin (un script) spécialement conçu pour Windows et pour MikteX… de ce fait, il n'y a rien à paramétrer, le soft connaît tout seul les compilateurs. On bénéficie de toutes les commandes usuelles dans un menu, et de certaines options excellentes, comme la gestion des accents automatisée, ou des templates BibTex.

II-B-3 - Jedit

http://www.jedit.org

C'est un excellent éditeur de texte en Java. Du point de vue , la colorisation est pas mal… en revanche le plugin ne sert à rien à mon sens… si vous maîtrisez le langage de script, vous gagnerez à faire le vôtre. À noter aussi le plugin console qui permet d'invoquer les compilateurs directement depuis le logiciel.

II-B-4 - Jext

http://www.jext.org

La colorisation est merdique (seules les macros sont colorisées), et le plugin TeX est très lourd à paramétrer, pour un résultat peu satisfaisant.

II-B-5 - NT Emacs

http://www.gnu.org/emacs

Sous Windows, c'est une usine à gaz (beaucoup plus que sous Linux) et cohabite assez mal avec l'environnement. La colorisation est parfaite, le module TeX ayant beaucoup de maturité. En revanche, ce même module est clairement conçu pour supporter la distribution de Linux, et est inexploitable sous Windows, à moins d'éditer les fichiers LISP du module pour coder les chemins… peu convivial en somme.

II-B-6 - Eclipse 3.0 avec plugin Etex

- http://www.eclipse.org

- http://etex.sourceforge.net/

La colorisation est parfaite, la meilleure que j'ai vue. Le plugin connaît également les macros les plus courantes et propose l'autocomplétion. Seul point noir est qu'il faut paramétrer les compilateurs à la main en tant qu'external tools… là aussi on utilise des variables pour spécifier le nom du fichier, le chemin, etc.

II-B-7 - Kile

http://kile.sourceforge.net/

(Graphisme KDE) Non testé malheureusement.

II-B-8 - TeXture

http://www.bluesky.com/index2.html

Non testé malheureusement.

II-B-9 - Itexmac

http://itexmac.sourceforge.net/Download.html

L'éditeur le plus convivial et le plus simple pour MacOSX.

II-B-10 - TexShop

http://itexmac.sourceforge.net/Download.html

Le concurrent direct de Itexmac, moins convivial.

II-B-11 - Tableau récapitulatif

Logiciel - OS

Windows

MacOSX

Linux

Autres OS

Jedit

Oui

Oui

Oui

VMS, OS/2

Jext

Oui

Oui

Oui

Solaris, OS/2, NetWare

NT Emacs

Oui

Non

Non

TeXniCenter

Oui

Non

Non

Eclipse

Oui

Non

Non

Gvim

Oui

Non

Non

Kile

Non

Oui

Oui

Vi/Vim

Non

Non

Oui

Emacs/Xemacs

Non

Non

Oui

Texmacs

Non

Non

Oui

TexMaker

Oui

Oui

Oui

Solaris

Texture

Non

Oui

Non

ItexMac

Non

Oui

Non

TexShop

Non

Oui

Non

II-C - Visualiseur

Il y a trois formats de sortie possibles à partir d'un fichier  : le format dvi, ps ou PDF. Dans cette formation, nous ne nous intéresserons qu'au format PDF, c'est-à-dire uniquement qu'au compilateur pdfLaTeX, les autres étant déjà dépassés. Nous vous conseillons bien évidement d'utiliser pour les OS (sauf Linux mode console) le logiciel Acrobat Reader©, disponible gratuitement sur : www.adobe.com.

Nota : Certaines des fonctionnalités de Acrobat Reader peuvent être directement contrôlées en amont avec pdfLATEX, comme nous allons le voir ultérieurement.

Nota2 : Pour donner une idée de la taille d'un fichier de sortie en  :

Type

MS Word

tex

dvi

Ps

PDF

doc

Texte 1 page

200 0

1 Ko

50 Ko

20 Ko

30 Ko

Texte 10 pages

2 Ko

10 Ko

100 Ko

50 Ko

100 Ko

Texte 100 pages

20 Ko

100 Ko

500 Ko

200 Ko

5 Mo

Texte 1000 pages

200 Ko

1 Mo

10 Mo

5 Mo

500 Mo

Texte avec images 50 pages

10 Ko

200 Ko

1 Mo

500 Ko

2 Mo

III - Conception d'un document TeX

III-A - Mon premier .tex

Bon comme dans tous les manuels, dans toutes les docs, faut bien commencer par le commencement. Ouvrez un éditeur de document et tapez ceci :

1. \documentclass[12pt , a4paper]{report}

2. \usepackage[french]{babel}

3. \usepackage[T1]{fontenc}

5. \title{Mon premier document}

6. \author{Votre nom}

7. \date{\today}

9. \begin{document}

11. \maketitle

13. Hello World

15. \end{document}

Nota : Pour ceux qui n'ont pas assisté à la formation, nous vous conseillons l'explication pas à pas de l'excellent manuel de JML, Chap4, sur la structure d'un document

Nota2 : Les commentaires se font avec la commande %.

Enregistrez votre document en extension .tex et compilez une fois avec votre compilateur. La sortie se fait en dvi.

III-B - Chapitrage

Ajoutez maintenant entre \begin{document} et \end{document} :

III-B-1 - Chapitrage simple

1. \chapter{chapitre}

2. J'aime \TeX{}

4. \section{sous-chapitre}

6. \begin{center}

7. Le texte du sous chapitre en centré

8. \end{center}

10. \subsection{sous partie}

11. Et bien voila comment marche le chapitrage

Compilez et regardez ce que ça donne.

Maintenant changez \documentclass[12pt , a4paper]{report} par \documentclass[12pt , a4paper]{article} en enlevant \chapter{chapitre} et voyez la différence de mise en page.

III-B-2 - Chapitrage avancé

numérote automatiquement les chapitres et sous-chapitres. Mais comment faire pour, par exemple, insérer une introduction sans qu'elle soit numérotée, mais qu'elle apparaisse dans la table des matières ? Essayez la commande suivante :

III-B-2-a - chapitrage non indéxé

1. \chapter*{Introduction}

2. \addcontentsline{toc}{chapter}{Introduction}

Le * permet de faire sauter la numérotation, tandis que le \addcontentsline permet de faire apparaître dans le toc au niveau chapter l'Introduction. On peut s'amuser à tester

1. \section*{Introduction}

2. \addcontentsline{tof}{section}{Introduction}

III-B-2-b - double nom pour un chapitre

Vous pouvez donner deux noms différents à un chapitre entre crochets celui qui va apparaître dans la table des matières et entre parenthèses celui qui va apparaître dans le corps du texte.

1. \part[Conception d'un document \TeX{}]

2. {Conception d'un document \TeX{}\\

3. \large{\textsc{Durée approx. 1 h 00}}}

Voici comment a été conçue la partie 2 de la formation

III-C - L'inclusion de fichiers

III-C-1 - L'inclusion de fichier .tex

III-C-1-a - Inclusion simple

La commande \input{toto} permet d'importer le fichier toto.tex comme s'il était dans le texte(3), cependant le fichier toto.tex doit être absolument dans le même dossier que votre fichier mère.

\input est une commande précieuse. En effet, elle permet de simplifier l'écriture de gros fichiers en les découpant en petits bouts(4).

Exemple pratique

Vous décidez de faire un rapport d'électronique. Pour cela vous allez créer :

1. Votre fichier principal elec.tex dans d:\elec\ avec dedans les appels aux packages classiques ;

2. Vos fichiers intro.tex, chap1.tex, chap2.tex, chap3.tex dans d:\elec\ ;

3. Vos figures fig1.tex fig2.tex dans d:\elec\fig ;

4. Votre tableau tab.tex d:\elec\tab ;

Il ne vous reste plus qu'à ajouter dans le fichier elec.tex(5) entre \begin{document} et \end{document} :

\input{intro}
\input{chap1}
\input{chap2}
\input{chap3}
\input{fig/fig1}
\input{fig/fig2}
\input{tab/tab}

III-C-1-b - Compilation partielle

\include est une autre commande permettant un travail quasi similaire. Cependant \include convient mieux pour les chapitres complets ; en effet lors de la compilation, créera un fichier .aux.

La commande \includeonly permet de ne compiler que partiellement le document tout en conservant le bon numéro de page et la bonne table des matières.

III-C-2 - Inclusion d'images

III-C-2-a - inclusion simple

Avec pdfLATEX, l'inclusion d'images se fait très simplement, mais avant toute chose, il faut définir dans la partie déclarative le type de fichier images(6) que TeX doit chercher. Pour cela une ligne à ajouter :

\DeclareGraphicsExtensions{.jpg,.mps,.pdf,.png,.gif}

À présent, rien de plus simple(7) :

1. Placer votre image moi.jpg par exemple dans d:\elec\pic

2. taper \includegraphics{moi}.

III-C-2-b - inclusion flottante

Différents environnements sont proposés dans , mais on peut les diviser en deux groupes : les statiques et les flottants. La différence : on peut y inclure des références et des étiquettes (captions). Cela s'applique particulièrement aux images et aux tableaux.

Voici le code pour l'inclusion flottante

1. \begin{figure}[H]

2. \includegraphics[width=votre taille]{nom_du_fichier}\\

3. \caption{l'image représente ...}

4. \label{mon_image}

5. \end{figure}

Nota : le [H] désigne l'endroit où vous voulez inclure l'image. Il y a plusieurs possibilités donc [h] pour la mettre en haut de la page, [b] pour le bas, etc. Cependant il y a toujours des problèmes de mise en page de en ce qui concerne les images, par défaut il les met toujours en haut, ce qui parfois est gênant lorsqu'on accumule plusieurs images dans un chapitre.

Pour pallier ce manque, il faut inclure le package here et spécifier après \begin{figure} le fameux [H] (attention à la majuscule). Il va ainsi correctement insérer l'image à la suite du texte courant.

III-C-3 - Inclure des fichiers PDF

Ceci n'est valable que pour le pdfLATEX, il permet d'inclure des fichiers PDF dans votre document final. Pour ce faire, il suffit d'inclure dans votre document le package pdfpages et de taper dans votre éditeur :

\includepdf[pages=-]{votre_fichier}

les options d'insertion sont variées, par exemple l'option [pages=-] veut dire : insertion de toutes les pages contenues dans le PDF.

Pour connaître la liste exhaustive des commandes, téléchargez la documentation du package sur le site du CTAN.

III-D - Mathématiques sous LaTeX

(8)Comme nous l'avons déjà dit en Introduction, TeX a été conçu pour produire des documents avec un bel environnement mathématique. Il est donc très aisé d'afficher des formules mathématiques d'une beauté inégalée.

III-D-1 - Différents modes

Essayez d'écrire les formules ci-dessous et regardez attentivement la différence entre elles.

III-D-1-a - Mode texte

On sait que : $\sum_{i=1}^{n} x_{i} = x_1 + x_2+\cdots+x_n$, cela
nous permet de conclure que...

III-D-1-b - Mode hors-texte

On sait que : $$\sum_{i=1}^{n} x_{i} = x_1 + x_2+\cdots+x_n$$, cela
nous permet de conclure que...

III-D-2 - Différents environnements

III-D-2-a - Environnement array

$$\left \lbrace
\begin{array}{l}
x = 4a^2+b\\
y = 7a^3-b\\
\end{array} \right. $$

array sert aussi à construire des matrices :

$$\left(\begin{array}{cc} a& b\\ c&d \end{array} \right)^{-1} =
\frac{1}{det A} \times
\left(\begin{array}{cc} d& -b\\-c&a \end{array}\right)$$

III-D-2-b - Environnement equation

\begin{equation}
x=\sqrt{\delta_\Omega}\\
y=\int_{0}^{x}f(y)\,dy
\end{equation}

III-D-2-c - Environnement eqnarray

Dans le même esprit que l'environnement equation, l'environnement eqnarray permet de numéroter plusieurs lignes d'un même calcul de manière harmonieuse, en découpant les équations sous la forme d'un tableau à trois colonnes de la forme {rcl}. Essayez de taper les lignes suivantes :

\begin{eqnarray}
x&=&\sqrt{\delta_\Omega}\\
y&=&\int_{0}^{x}f(y)\,dy
\end{eqnarray}

III-D-3 - Fonctions couramment utilisées

x^2

x_2

\sqrt{x}

\int_{0}^{x}f(y)\,dy

\frac{x}{y}

\sum_{i=1}^n x

\lim_{n \to +\infty} x_n = 0

III-E - Tableaux

III-E-1 - 8.1 Tableaux statiques

L'environnement des tableaux (tabular) est le plus difficile à maîtriser, car il n'est pas aisé de se représenter le tableau dans sa tête. C'est d'ailleurs l'erreur à ne pas faire par rapport à la philosophie de .

Un petit exemple(9) :

\begin{tabular}{ l l }
A&B\\
C&D
\end{tabular}

Maintenant mettons des barres un peu partout.

\begin{tabular}{||l | l||}
\hline
A&B\\
\hline
C&D\\
\hline
\end{tabular}

Et un grand exemple pour ceux qui ont le courage

\begin{tabular}{|l||c|c|c||c|c|c|}
\hline
\multicolumn{1}{|c}{} &
\multicolumn{6}{c|}{systeme RVB} \\ \hline
\multicolumn{3}{c||}{couleur primaire} &
\multicolumn{3}{c|}{couleur secondaire} \\ \hline
nom & rouge & vert & bleu & jaune & magenta & cyan \\ \hline
composition & R & V & B & RV & RB & VB \\
\hline
\end{tabular}

Voici ce que cela produit(10) :

Système RVB

Couleur primaire

Couleur secondaire

nom

Rouge

vert

bleu

jaune

magenta

cyan

composition

R

V

B

RV

RB

VB

Je vous laisse imaginer que la création de tableaux plus évolués est longue et fastidieuse.

III-E-2 - Tableaux dynamiques

Comme pour les images, on peut inclure des tableaux dynamiques comme ceci :

\begin{table}[H]
\begin{tabular}....
...votre tableau...
\end{tabular}
\caption{vos commentaires}
\label{votre reference}
\end{table}

III-E-3 - Excel2LaTeX

Si vous avez Excel, je vous recommande une macro qui vous simplifiera la vie, car elle fait l'exportation d'un tableau Excel (totale ou partielle) directement en source tex, il ne reste plus qu'à la copier coller dans votre éditeur TeX et le tour est joué. La macro s'appelle Excel2LaTeX et peut être téléchargée gratuitement à cette adresse (sinon facilement trouvable sur Google) :

http://www.jam-software.com/freeware/xl2latex.zip

IV - Utilisation LaTeX avancée

IV-A - pdfLATEX

IV-A-1 - Présentation

PdfLATEX est un convertisseur qui permet de transformer directement un fichier en fichier PDF.

Il est fourni avec la plupart des distributions , en particulier avec MikTeX. Son usage en est très simple : au lieu de compiler un fichier par la commande latex fichier.tex, on le compile avec la commande pdflatex fichier.tex, ce qui produit alors un fichier PDF au lieu du fichier Dvi habituel. On peut y inclure des images au format Jpg ou PDF. Le logiciel ainsi que les faq sont téléchargeables à l'adresse : http://www.tug.org/applications/pdftex/

IV-A-2 - Pdftex, moteur et driver

Pdftex est donc un moteur TeX qui reprend l'intégralité des fonctions typographiques de TeX, en ajoute quelques-unes, et produit si nécessaire un .dvi compatible. Les macros TeX (ou ) - qui ne font rien de spécial - produisent un résultat identique avec TeX ou Pdftex. C'est en même temps un pilote PDF, un peu comme si on exécutait en une seule passe TEX → DVI → PS → PDF. La plupart des fonctions de Dvips sont donc prises en charge directement, soit par de nouvelles primitives spécifiques (inclusion d'images, couleur, rotations…) ; soit à l'aide de fichiers de configuration (.cfg pour les options du pilote PDF, .map pour la gestion des polices) ; en outre, toutes les possibilités du format PDF sont accessibles à l'aide de primitives ad hoc, ou en insérant littéralement le code souhaité dans le fichier PDF créé. L'absence de traitements postérieurs à la passe TeX implique une plus grande rigueur dans la préparation des fichiers, mais assure une meilleure cohérence du fichier produit. Une erreur à la compilation peut provenir de la part du moteur ou du pilote de Pdftex : les solutions à envisager seront différentes.

IV-A-2-a - Le package Hyperref

Le package Hyperref permet de créer facilement des documents hypertextes, son développement est lié (au moins historiquement) à celui de Pdftex.

Un simple appel au package Hyperref fait automatiquement pas mal de choses :

1. Les signets (bookmarks) sont placés automatiquement pour les entrées de table des matières ;

2. Des liens sont générés automatiquement pour tout ce qui est référençable en standard (table des matières, appels de notes, références à des équations, à des pages…) ;

3. Ces comportements sont largement et simplement configurables, soit par des options à l'appel du package, soit grâce à la commande \hypersetup, éventuellement placée dans un fichier hyperref.cfg :

1. pdfpagemode (=None, UseThumbs, UseOutlines, FullScreen),

2. pdfstartview (=Fit, FitH, FitB, FitBH…),

3. pdffitwindow (=true, false),

4. pdfpagelayout (=TwoColumsRight, TwoColumnLeft, OneColumn, SinglePage),

5. pdftoolbar (=true, false),

6. pdfmenubar (=true, false),

7. bookmarksopen (=true, false),

8. bookmarksnumbered (=true, false),

9. colorlinks (=true, false),

10. pdfauthor (=texte),

11. pdftitle (=texte), etc.

IV-A-2-b - Utilisation avancée

(11)On peut créer des liens internes grâce aux commandes \hypertarget (pour créer une ancre) et \hyperlink (pour référencer cette ancre [cliquer sur le lion pour revenir !]). On écrira par exemple ici :

\hyperlink{imgfmt}{référencer} et là \hypertarget{imgfmt}{\textsc{Exemples}}

IV-B - Création de commandes macros

IV-B-1 - Nouvelles commandes

permet de créer ses propres commandes(12). Ceci s'avère très utile pour les environnements mathématiques (créer automatiquement des triples intégrales par exemple).

\newcommand{\admis}[2]
{#1, classe \textbf{#2} est admis(e) à l'examen.}
\newcommand{\colle}[2]
{#1, classe \textbf{#2} est refusé(e) à l'examen.}

Lorsque l'on tape \admis{M.Dupont}{33}, on obtient M.Dupont, classe 33 est admis(e) à l'examen.

Lorsque l'on tape \colle{M.Paul}{21}, on obtient M.Paul, classe 21 est refusé(e) à l'examen.

On peut bien sûr étendre cela à l'édition d'environnements plus complexes.

Une petite astuce consiste à créer une commande pour l'inclusion d'images flottantes que vous mettrez dans un dossier spécifique (ex. /pics/)

\newcommand{\image}[3]
{\begin{figure}[H]
\begin{center}
\includegraphics[width=#3\textwidth]{pics/#1}
\caption{#2} \label{img_#1}
\end{center}
\end{figure}
}

Dès lors, si vous voulez inclure l'image test.jpg, il ne vous reste plus qu'à taper :

\image{test}{Description de votre image}{0.7}

Ainsi votre image sera automatiquement insérée dans le document, parfaitement centrée et correctement proportionnée (ici 70 % de la feuille) et surtout aura un label formaté (ici ima_test).

IV-B-2 - Extension

Comme nous l'avons vu dans les parties précédentes, il est possible d'importer des fichiers et également de créer ses propres commandes macros ; ainsi, il est possible d'importer ses propres extensions comportant ses propres macros, ou alors des packages externes.

La création d'une extension consiste en un fichier regroupant les différentes commandes macros que vous aurez créées, et ceci dans un document comportant l'extension .sty commençant par la commande \ProvidesPackagenomde l'extension afin de signaler à le nom de l'extension ainsi créée et de lui permettre d'éventuels messages d'erreur.

L'utilisation d'un package se fait avec la commande suivante : \usepackagenom du package dans le préambule.

IV-C - Utilisation de graphes dans LaTeX

L'utilisation brute en ligne de commande s'avère très fastidieuse. Voici ce qu'aurait donné en code du simple graphique ci-dessous :

Le monstrueux code :

1. \label{fig_comp}

2. \unitlength 1mm

3. \begin{picture}(102,80)(0,0)

4. \linethickness{0.3mm}

5. \put(0,60){\line(1,0){20}}

6. \linethickness{0.3mm}

7. \put(0,50){\line(0,1){10}}

8. \linethickness{0.3mm}

9. \linethickness{0.3mm}

10. \put(35,50){\line(1,0){20}}

11. \linethickness{0.3mm}

12. \put(80,80){\line(1,0){20}}

13. \linethickness{0.3mm}

14. \put(80,70){\line(0,1){10}}

15. \linethickness{0.3mm}

16. \put(100,70){\line(0,1){10}}

17. \linethickness{0.3mm}

18. \put(80,70){\line(1,0){20}}

19. \linethickness{0.3mm}

20. \put(80,60){\line(1,0){20}}

21. \linethickness{0.3mm}

22. \put(80,50){\line(0,1){10}}

23. \linethickness{0.3mm}

24. \put(100,50){\line(0,1){10}}

25. \linethickness{0.3mm}

26. \put(80,50){\line(1,0){20}}

27. \linethickness{0.3mm}

28. \put(80,40){\line(1,0){20}}

29. \linethickness{0.3mm}

30. \put(80,30){\line(0,1){10}}

31. \linethickness{0.3mm}

32. \put(100,30){\line(0,1){10}}

33. \linethickness{0.3mm}

34. \put(80,30){\line(1,0){20}}

35. \linethickness{0.3mm}

36. \put(20,55){\line(1,0){15}}

37. \linethickness{0.3mm}

38. \put(35,55){\line(1,0){0.12}}

39. \put(35.12,55){\vector(1,0){0.12}}

40. \linethickness{0.3mm}

41. \put(55,55){\line(0,1){0.12}}

42. \put(55,55.12){\vector(0,1){0.12}}

43. \linethickness{0.3mm}

44. \put(55,55){\line(1,0){25}}

45. \linethickness{0.3mm}

46. \put(80,55){\line(1,0){0.12}}

47. \put(80.12,55){\vector(1,0){0.12}}

48. \linethickness{0.3mm}

49. \multiput(80,75)(0.12,0.09){1}{\line(1,0){0.12}}

50. \put(80.12,75.09){\vector(4,3){0.12}}

51. \linethickness{0.3mm}

52. \multiput(80,35)(0.12,-0.09){1}{\line(1,0){0.12}}

53. \put(80.12,34.91){\vector(4,-3){0.12}}

54. \linethickness{0.3mm}

55. \put(90,60){\line(0,1){10}}

56. \put(20,50){\line(0,1){10}}

57. \linethickness{0.3mm}

58. \put(0,50){\line(1,0){20}}

59. \linethickness{0.3mm}

60. \put(35,60){\line(1,0){20}}

61. \linethickness{0.3mm}

62. \put(35,50){\line(0,1){10}}

63. \linethickness{0.3mm}

64. \put(55,50){\line(0,1){10}}

65. \linethickness{0.3mm}

66. \put(90,59.88){\line(0,1){0.12}}

67. \put(90,59.88){\vector(0,-1){0.12}}

68. \linethickness{0.3mm}

69. \put(90,40){\line(0,1){10}}

70. \linethickness{0.3mm}

71. \put(90,39.88){\line(0,1){0.12}}

72. \put(90,39.88){\vector(0,-1){0.12}}

73. \put(10,56){\makebox(0,0)[cc]{*.*}}

74. \put(10,65){\makebox(0,0)[cc]{}}

75. \put(40,60){\makebox(0,0)[cc]{}}

76. \put(44,56){\makebox(0,0)[cc]{*.tex}}

77. \put(90,74){\makebox(0,0)[cc]{*.dvi}}

78. \put(90,56){\makebox(0,0)[cc]{*.ps}}

79. \put(90,34){\makebox(0,0)[cc]{*.pdf}}

80. \put(64,68){\makebox(0,0)[cc]{dvi}}

81. \put(70,56){\makebox(0,0)[cc]{psLateX}}

82. \put(64,38){\makebox(0,0)[cc]{pdfLaTeX}}

83. \put(98,46){\makebox(0,0)[cc]{ps2pdf}}

84. \put(97,65){\makebox(0,0)[cc]{dvips}}

85. \linethickness{0.3mm}

86. \multiput(55,55)(0.15,0.12){167}{\line(1,0){0.15}}

87. \put(80,75){\vector(4,3){0.12}}

88. \linethickness{0.3mm}

89. \multiput(55,55)(0.15,-0.12){167}{\line(1,0){0.15}}

90. \put(80,35){\vector(4,-3){0.12}}

91. \linethickness{0.3mm}

92. \put(-1,20){\line(1,0){28}}

93. \put(27,20){\vector(1,0){0.12}}

94. \put(-1,20){\vector(-1,0){0.12}}

95. \linethickness{0.3mm}

96. \put(27,20){\line(1,0){52}}

97. \put(79,20){\vector(1,0){0.12}}

98. \put(27,20){\vector(-1,0){0.12}}

99. \linethickness{0.3mm}

100. \put(52,17){\makebox(0,0)[cc]{Compileur}}

101. \put(90,17){\makebox(0,0)[cc]{Visualiseur}}

102. \end{picture}

Pour pallier ce problème, des packages spécifiques ont été développés comme xy, mais l'utilisation reste fastidieuse. Heureusement des logiciels spécifiques pour ont vu le jour. Ils permettent de construire rapidement et simplement graphiques et courbes. Ces logiciels externes sont tous en WYSIWYG et s'intègrent parfaitement dans l'environnement . Le premier à voir le jour a été Xfig(13) sur Linux.

IV-C-1 - Logociels externes

IV-C-1-a - TexGraph pour Windows

http://www.ac-poitiers.fr/math/tex/outils/texgraph/

Texgraph est un logiciel de dessin pour . Il permet le tracé de courbes, d'éléments graphiques divers (droites, cercles, arcs, points), l'ajout de légendes. Le programme permet l'exportation aux formats tex et pstricks pour inclusion dans un fichier tex. Précisons que le logiciel est gratuit et en français.

C'est le substitut idéal à Xfig pour Windows. Il va être indispensable pour les professeurs de mathématiques pour créer facilement leurs courbes (on peut carrément mettre littéralement la fonction mathématique voulue sur un ensemble choisi et tout se fait automatiquement). Précisons par ailleurs que le format de sortie étant possible directement en .tex, on peut compiler directement en pdfLatex sans perdre les liens hypertextes.

IV-C-1-b - jPicEdit en Java

http://jpicedt.sourceforge.net/

Pour nous le meilleur éditeur de courbes. Compatible sur tous les OS, entièrement WYSIWYG, il permet de faire tout et n'importe quoi. Sa puissance réside dans son format de sortie. En effet, vous pouvez sauvegarder votre figure sous un format .tex que vous incorporez ensuite avec la commande \input{nom_du_fichier}, sans ajout de packages spécifiques, sans pertes de liens hypertextes PDF contrairement à pstricks.

IV-C-2 - Packages spécialisés

IV-C-2-a - XY

Un package très puissant, mais très lourd. Il permet de créer de beaux graphiques et courbes plus complexes avec un code simplifié (beaucoup plus intuitif). Le meilleur substitut avant que les logiciels externes ne fassent leur apparition. La documentation de référence est disponible en .ps sur http://latex.kps.fr.

IV-C-2-b - PsTricks

Un ensemble de packages encore plus puissants qui permettent de faire tout dans le domaine graphique. Cela passe bien sûr par l'apprentissage fastidieux des centaines de nouvelles commandes.

L'inconvénient majeur de PsTricks est qu'il ne fonctionne correctement qu'avec du ps, ce qui veut dire pas de liens hypertextes dans le document final, pas d'onglets, etc. Un package PdfTricks est disponible, mais malheureusement il n'est pas encore très au point.

IV-D - Ancres

IV-D-1 - Références dans le document

Lorsque l'on crée un long document, l'avantage de réside dans le fait qu'on peut créer facilement des ancres dynamiques dans le document. Les ancres servent pour les références internes, externes, les index et enfin les bibliographies.

IV-D-1-a - Références internes

Pour définir une ancre, le maître mot est \label{}. Vous pouvez référencer n'importe quel élément dans le document(14) :

Texte en plein milieu d'une phrase, ou d'un terme spécifique ;

Chapitre en ajoutant une référence de chapitre \label{sec:votre_chapitre} ;

Un flottant pour faire référence à une image ou un tableau flottant.

Pour faire appel de votre ancre par la suite dans le document, deux fonctions principales :

- \ref{votre_label} qui va préciser l'emplacement de votre ancre ;

- \pageref{votre_label} qui va renvoyer le numéro de la page dans lequel se situe votre ancre.

Un petit test pour essayer de jouer avec les ancres :

1. \section{Les roses}

2. \label{sec:roses}

4. Une rose est une fleur bien connue des amoureux\label{amoureux}.

6. \section{Les fleurs}

7. Comme précisé plus haut (cf. \ref{sec:roses}, p.\page{sec:roses}),

8. les roses sont plus belles lorsqu'elles sont offertes

9. (\ref{amoureux}).

IV-D-1-b - Références externes

Les références externes se transforment aussi en liens hypertextes et peuvent ouvrir des logiciels externes à Acrobat :

- \href{mailto:contact@kps.fr}{Kernel Panic Systems} permet de créer un lien mail ;

- \href{http://www.kps.fr}{Site Web KPS} permet de créer un lien Internet.

IV-D-2 - Indexation avec makeindex

L'indexation sous est extrêmement puissante, mais malheureusement fastidieuse à présenter. Il nous est impossible de le présenter en moins d'une heure, avec des fichiers exemple à l'appui. Un excellent site vous propose un tutoriel pas à pas avec des fichiers exemples à compiler.

http://www.tuteurs.ens.fr/logiciels/latex/makeindex.html

IV-E - Bibliographie avec BibTEX

Un des problèmes que trouvent les étudiants à l'ESIEA est bien sûr la partie bibliographique (ou webographique). Ne serait-ce que pour la présenter correctement. Je vous renvoie au document édité par Mme Charrière en annexe (cf. A, p.70). Avec plus besoin de se creuser la tête, tout est automatique. Que ce soit les références croisées dans le document ou l'impression de la bibliographie correctement typographiée.

IV-E-1 - Fonctionnement

Nous avons vu que la source d'un document TeX est un .tex qui peut être édité par n'importe quel éditeur de texte (Notepad) ou un éditeur plus spécialisé (cf. chap. II-B). Le compilatleur permet ensuite de mouliner le .tex en .dvi ou .ps ou .pdf, suivant le compilateur utilisé. Cependant pour créer une table des matières, une table des figures, ou une table de tableaux, nous avons besoin de compiler deux fois. Tout simplement parce qu'à la première compilation le compilateur génère un fichier .dvi, .ps ou .pdf avec un fichier .toc, .tof ou .tot comprenant respectivement les informations du chapitrage, des images ou des tables. En le recompilant une seconde fois le compilateur prend les fichiers .tex, .toc, .tof, .tot et les compile en un fichier de sortie .dvi, .ps, .pdf comprenant la table des matières, la table des figures et la table des tableaux.

Le procédé est le même pour la bibliographie, à une différence près :

- nous devons nous-mêmes écrire le fichier .bib (logique) ;

- compiler le fichier .bib avec le compilateur bibtex ;

- indiquer dans le fichier .tex que nous avons une bibliographie (localiser le fichier .bib) ;

- compiler le fichier .tex qui prendra en compte notre .bib compilé.

IV-E-2 - Écrire un fichier .bib

Il faut comprendre le .bib comme une base de données :

1. @BOOK{latex1,

3. author="\textsc{Rolland}",

5. title="LaTeX par lapratique CD-Rom inclus",

7. publisher="\textbf{O'Reilly}",

9. year="1999",

11. note="Des méthodes pour préparer des documents à partir de commandes

12. macros, en utilisant LaTeX. Résumé des commandes en annexe.", }

- latex1 représente l'ID qui nous avons choisi ;

- BOOK précise le type de document (ici un livre). Mais il y en a plusieurs au total :

1. article,

2. book,

3. booklet,

4. conference,

5. inbook,

6. incollection,

7. inproceedings,

8. manual,

9. mastersthesis,

10. misc,

11. phdthesis,

12. proceddings,

13. techreport,

14. unpublished.

Avec pour chacun d'eux, des champs spécifiques à entrer ou non.

Sauvegardez le fichier .bib, il ne reste plus qu'à le compiler.

IV-E-3 - Inclure le .bib dans le .tex

Pour afficher la bibliographie dans le fichier de sortie, il faut inclure le fichier .bib dans le .tex. Pour cela taper à la fin de votre fichier TeX

1. \bibliographystyle{plain}

2. \bibliography{nom_de_fichier}

Bien sûr il y a des dizaines de styles de présentation différents. Une qui gère webographie de manière correcte est la présentation ieee.

IV-E-4 - Références croisées

Maintenant que nous avons notre bibliographie incluse dans le fichier .tex. Nous devons l'afficher. La commande \cite{} permet cela. Dans notre exemple nous avons comme label pour le livre latex1, c'est ce label qu'il faudra utiliser (vous voyez le lien avec \label{}). Mettez donc dans votre fichier .tex d'exemple le texte suivant :

1. Pour comprendre pleinement la puissance de \rm\LaTeX{}, il faut

2. beaucoup pratiquer et avoir au moins un livre de référence

3. \cite{latex1}.

Nota : Par défaut, les éléments de la bibliographie n'apparaissent que lorsqu'ils ont été cités dans le document à l'aide de \cite{}. Pour afficher toute votre base de données contenue dans le fichier .bib il faut :

- inclure le package cite (\usepackage{cite} ;

- mettre dans le corps du texte \cite{*} — * pour all —.

IV-E-5 - JabRef

Devant le casse-tête de la gestion des bibliographies, certains ont développé des logiciels adaptés permettant de classer toutes les références et ainsi créer sa bibliothèque virtuelle une bonne fois pour toutes.

Plusieurs logiciels sont disponibles sur le Net, mais le plus efficace et le plus simple d'utilisation est JabRef (http://jabref.sourceforge.net/). Un minitutoriel a été réalisé par Stéphane Lefevre et est disponible sur son site http://stephlefevre.free.fr/logiciels/Jabref.php.

IV-F - Modèle de doc avancé

Maintenant que vous savez à quoi servent les packages, comment inclure une bibliographie, des fichiers .tex, jongler avec les images, nous vous proposons un modèle de doc le plus paramétrable possible.

IV-F-1 - Organisation des fichiers

Comme nous l'avons vu précédemment, nous pouvons inclure des fichiers .tex, des images — récents du type .jpg, .png ou anciens du type .ps ou .eps —, des fichiers PDF (avec le package pdfpages).

Tous ces fichiers dits externes doivent être inclus en disant à TeX de rechercher sur votre disque dur. Lorsque vous faites un document long, les fichiers s'entassent. Pour cela vous pouvez vous organiser comme suit :

/projet/

Votre dossier racine où ne figure que votre fichier 'main'

/projet/tex/

Vos autres fichiers .tex

/projet/eps/

Vos images eps,ps s'il y en a

/projet/pic/

Vos images jpg,png

/projet/pdf/

Vos PDF à inclure

/projet/bib/

Vos bibliographies

/projet/fig/

Vos figures créées en tex avec JpegEdit par ex.

/projet/tab/

Vos énormes tableaux dynamiques

Organisation d'un projet LaTeX

Plusieurs avantages à cela :

1. Plus de foutoir ;

2. Vous pouvez jongler avec une sortie DVI ou PDF sans soucis ;

3. La racine ne contiendra que votre modèle de doc et les fichiers de sorties (dvi ou PDF, log, aux, etc.) facilement supprimables.

IV-F-2 - Modèle de document type

Le modèle été conçu pour avoir deux types de sorties possibles :

DVI il faut créer un dossier /eps/ à la racine et mettre vos images postscripts dedans ;

PDF il faut créer un dossier /pic/ à la racine et mettre vos images jpg ou png.

DOCUMENT

1. \documentclass[] {}               % Type de document

2. \usepackage[french]{babel}        % Titres en français

3. \usepackage[T1]{fontenc}          % Correspondance clavier -> document

PACKAGE

1. %\usepackage{makeidx}             % Indexation du document

2. \usepackage[Lenny]{fncychap}      % beaux chapitres

3. %\usepackage{french}

4. %\usepackage{abstract}

5. \usepackage{fancyhdr}             % entete et pied de pages

6. \usepackage[outerbars]{changebar} % positionnement barre en marge externe

7. %\usepackage{slashbox}            % slashbox dans les tableaux

8. %\usepackage{makeidx}             % Indexation du document

9. %\usepackage{multicol}            % gestion plusieurs colonnes

10. %\usepackage{eurosym}             % symbole euro

11. %\usepackage{ams}                 % maths avancees

12. \usepackage{cite}                 % citations de la bibliographie

13. %\usepackage{lastpage}            % reference derniere page

14. %\usepackage{a4wide}              % utilisation de toute la page A4

15. \usepackage{openbib}              % gestion avancée de Bibtex

16. %\usepackage{minitoc}             % table des matieres dans les chapitres

17. %\usepackage{eiad}                % gestion du gaelic

18. \usepackage{here}                 % avoir ses figures a la suite du texte

19. %\usepackage{lastpage}            % avoir la derniere page

20. %\usepackage{draftcopy}           % mode brouillon

21. %\usepackage{moreverb}            % envir. verbatim suppl

22. %\usepackage{fancyvrb}            % envir. verbatim suppl

23. %\usepackage{listings}            % incl. code langages info

LAYOUT-PAGE

1. %Marges

2. \hoffset=            0cm          % marge gche = 2.54cm + X cm

3. \oddsidemargin=      0pt          % espace entre marge gche et corps

4. \marginparsep=       0cm          % espace entre marge à dte et corps

5. \marginparwidth=     0cm          % marge à droite

6. \voffset=            -1.5cm       % marge haut = 2.54 + X cm

8. %Corps

9. \textheight=         23cm         % longueur du corps

10. \textwidth=          16cm         % largeur du corps

12. %entete et pied de pages

13. \headheight=         2.1cm        % taille entete

14. \headsep=            0.5cm        % espace entre entete et corps

15. \topmargin=          0cm          % espace entre marge haut et entete

16. \footskip=           2.5cm        % taille pied de page

SORTIES

1. \newif\ifpdf

2. \ifx \pdfoutput \undefined \pdffalse \else \pdfoutput=1 \pdftrue \fi

3. \ifpdf

PDF

1. %Passage au PDF de qualité

2. \usepackage[pdftex]{graphicx, color}        % insertion images et couleurs

3. \graphicspath{{pic/}}

4. \DeclareGraphicsExtensions{.jpg,.png,.JPG}  % Formats d'images

5. %\pdfcompresslevel=9

6. %\usepackage{pslatex}                       % Polices PDF, moins lourdes et non bitmap

9. %\usepackage[pdftex]{thumbpdf}              % vignettes sur acrobat5.0 ou sup

10. %\usepackage[francais]{layout}

11. \usepackage[pdftex,                         % Paramétrage de la navigation

12. bookmarks         =true,                % Signets

13. bookmarksnumbered =true,                % Signetsnumérotés

14. pdfpagemode       =None,                % Signets/vignettes fermé à l'ouverture

15. pdfstartview      =FitH,                % La page prend toute la largeur

16. pdfpagelayout     =OneColumn,           % Vue par page

17. colorlinks        =false,               % Liens en couleur

18. urlcolor          =black,               % Couleur des liens externes

19. pdfborder         ={000}                % Style de bordure : ici, rien

20. ]{hyperref}%                            % Utilisation de HyperTeX

22. \hypersetup{                                % Information sur le document

23. pdfauthor={},                               % Auteurs

24. pdftitle={},                                % Titre du document

25. pdfsubject={},                              % Sujet

26. pdfkeywords={},                             % Mots-clefs

27. pdfcreator={},                              % Logiciel qui a crée le document

28. pdfproducer={}                              % Société avec produit le logiciel

29. plainpages=false}

30. \usepackage{pdfpages}                       % permet d'inclure des fichiers entiers pdf

DIV

1. \else

2. \usepackage{graphicx}

3. \graphicspath{{eps/}}

4. \newcommand{\url}[1]{\emph{#1}}

5. \newcommand{\href}[2]{\emph{#2}[1]}

6. \fi

ENTETE ET PIED DE PAGE

1. \renewcommand{\headrulewidth}{0pt}    % epaisseur du trait apres entete

2. \renewcommand{\footrulewidth}{0pt}    % epaisseur du trait avant pied de page

3. \pagestyle{fancy}

5. %\lhead{}                             % entete gauche perso

6. %\chead{}                             % entete centre perso

7. %\rhead{}                             % entete droit perso

8. %\lfoot{}                             % pied gauche perso

9. %\cfoot{}                             % pied centre perso

10. %\rfoot{}                             % pied droit perso

PAGE DE GARDE

1. \title{}                              % Titre

2. \authors{}                            % Auteur(s)

3. \date{}                               % Date (\today pour aujourd'hui)

DEBUT DU DOCUMENT

1. \begin{document}

2. \maketitle

3. \tableofcontents

4. \thispagestyle{fancy}        % forcer l'entete et pied

5. %\input{fichier}             % inclure fichier.tex

7. %\cite{*}                    % Cite All

8. \bibliographystyle{plain}    % Style bibli : ieee, plain

9. \bibliography{bib/}          % fichier .bib

10. \label{sec:bibli}

11. \end{document}

IV-G - Vers l'autonomie

À ce stade, vous pouvez réaliser tranquillement un rapport d'électronique, préparer votre TD ou écrire votre thèse. Il faudrait une bonne dizaine de milliers de pages pour expliciter toutes les possibilités de . Sachez qu'absolument tout est possible avec ce logiciel. Le plus important est d'apprendre à chercher par soi-même ce dont on a besoin à un moment précis. Trouver le bon package, qui vous permettra de faire ce que vous souhaitez. Un conseil : achetez un bouquin de référence sur (cf. chap.V) et l'ayez toujours à côté de vous lorsque vous faites du TeX.

IV-G-1 - Developpez.com

Cependant si vous avez des questions concernant ou la formation elle-même, vous pouvez toujours vous rendre sur latex.developpez.com, le site de référence français en ce qui concerne la programmation. Une rubrique a été spécialement créée récemment pour , alors profitez-en pour poser vos questions sur le forum (je tâcherai d'y répondre dans les plus brefs délais).

IV-G-2 - CTAN — Comprehensive Tex Archive Network

La bible des packages, classés par thèmes, par utilisation, par associations. Bref, le meilleur moyen de trouver de la documentation sur un package spécifique. N'hésitez pas à les télécharger et à les garder toujours sous la main.

V - Bibliographie

[1] Bernard Desgraupes.  : Apprentissage, guide et référence. Vuibert, 2003. 2e édition.

[2] Marc Guinot. Tex et pour l'apprenti mathématicien (par un néophyte). Aléas, 2002.

[3] Thomas Lachand-Robert. La maîtrise Tex et . Dunod, 1996. Du niveau débutant complet, jusqu'à celui d'expert. Il est plus particulièrement orienté vers la programmation de TeX.

[4] Paul Manneville. Débuter en Tex et . Dunod, 1997.

[5] Dominique Rodriguez. L'essentiel de et GNU-Emacs (+CD-Rom) : Manuel de réalisation de documents scientifiques. Dunod, 2000.

[6] Rolland. par la pratique CD-Rom inclus. O'Reilly, 1999. Des méthodes pour préparer des documents à partir de commandes macros, en utilisant LaTeX. Résumé des commandes en annexe.

VI - Liens Internet pratiques

Page Internet

Langue

Description

http://www.ac-poitiers.fr/math/tex/

FR

Site complet proposant les logiciels complémentaires à LaTeX.

http://merkel.zoneo.net/Latex/index.php ?lang=fr

FR-UK

Expérience d'une personne qui a fait sa thèse en pdflatex.

http://ltswww.epfl.ch/dsanta/resources/type1

UK

Description des commandes UNIX pour pdfLATEX.

http://www.ctan.org/search/?action=/index.html

UK

La bible des packages, documentations et installation.

http://www.framasoft.net/article1875.html

FR

Site de Framasoft avec une explication complète de logiciels d'édition de fichiers TEX.

http://www.grappa.univ-lille3.fr/FAQ-LaTeX/index.html

FR

La FAQ la plus développée sur LaTeX.

http://tex.loria.fr/apprends_latex/apprends_latex.html

FR

Très bonne documentation en ligne de LaTeX.

http://liberasoft.dyndns.org/l2h2/index.html

FR

Installer Latex2html sous MiKTeX.

http://www.tuteurs.ens.fr/logiciels/latex/

FR

Excellent site de nos amis normaliens qui propose des tutoriels vraiment bien faits.

http://tex.loria.fr/general.html

FR

vraie foire aux documentations et publications LaTeX.

(1)What you see is what you get

(2)Dis aussi LaTeX pour les nuls

(3)Cela sert également lorsque l'on veut importer ses propres bibliothèques de macros.

(4)Je vous laisse imaginer le foutoir que ça aurait été de faire ce poly sans la commande input

(5)Attention aux majuscules,minuscules

(6)Rappel : le dvi ne prend que des fichiers de type .ps et .eps, obsolètes.

(7)Il y a plein d'options bien sûr, comme la réduction de taille, le centrage de l'image, etc. Informations disponibles dans toutes les documentations présentes sur gforge.

(8)Une liste de (presque) tous les symboles accessibles avec LaTeX est maintenue à jour sur le CTAN, les fichiers symbols-*.* disponibles à l'adresse http://www.ctan.org/tex-archive/info/symbols/comprehensive/.

(9)Il est intéressant de remarquer la ressemblance avec l'environnement eqnarray

(10)On voit que l'environnement multicolumn permet de coller des lignes entre elles.

(11)Pour une utilisation avancée de pdfLATEX, je recommande vivement d'aller sur le site du CTAN et de télécharger le document sur pdfLATEX, toutes les options y sont décrites pour une utilisation optimale (ouverture d'un PDF personnalisée, blocage de l'impression, qualité d'impression, vignettes, etc.)

(12)On peut aussi créer ses propres environnements, ses propres numérotations, etc.

(13)Non présenté ici, car non testé.

(14)Avec pdfLATEX, les ancres se transforment en liens hypertextes