diff options
-rw-r--r-- | Master/texmf-doc/doc/french/FAQ-fr/docs-francaises | 332 | ||||
-rw-r--r-- | Master/texmf-doc/doc/french/FAQ-fr/part1 | 1852 | ||||
-rw-r--r-- | Master/texmf-doc/doc/french/FAQ-fr/part2 | 2956 | ||||
-rw-r--r-- | Master/texmf-doc/doc/french/FAQ-fr/part3 | 2487 | ||||
-rw-r--r-- | Master/texmf-doc/doc/french/FAQ-fr/part4 | 2906 | ||||
-rw-r--r-- | Master/texmf-doc/doc/french/FAQ-fr/part5 | 2443 | ||||
-rw-r--r-- | Master/texmf-doc/doc/french/FAQ-fr/part6 | 2261 | ||||
-rwxr-xr-x | Master/tlpkg/bin/ctan2tds | 1 |
8 files changed, 1 insertions, 15237 deletions
diff --git a/Master/texmf-doc/doc/french/FAQ-fr/docs-francaises b/Master/texmf-doc/doc/french/FAQ-fr/docs-francaises deleted file mode 100644 index cbe2e5ef261..00000000000 --- a/Master/texmf-doc/doc/french/FAQ-fr/docs-francaises +++ /dev/null @@ -1,332 +0,0 @@ -Path: tempo.univ-lyon1.fr!univ-lyon1.fr!news.imp.ch!fr.clara.net!heighliner.fr.clara.net!teaser.fr!fdn.fr!edgard.fdn.fr!not-for-mail -Date: 08 Jun 2001 13:31:19 +0200 -Newsgroups: fr.comp.text.tex,fr.usenet.reponses -Subject: [DOCFR] Liste des documents disponibles sur (La)TeX -Message-ID: <faq-fctt-/home/bayartb/docfr/Manifest20010608133119@edgard.fdn.fr> -X-Posted-By: poste.sh version 1.1 -From: bayartb@edgard.fdn.fr (Nono le robot) -Supersedes: <faq-fctt-/home/bayartb/docfr/Manifest20010501143417@edgard.fdn.fr> -Expires: 08 Jul 2001 13:31:17 +0200 -Followup-To: poster -Organization: French Data Network -Approved: bayartb@edgard.fdn.fr -Lines: 317 -Xref: tempo.univ-lyon1.fr fr.comp.text.tex:23522 fr.usenet.reponses:20388 - -Archive-name: fr/faq-latex-francaise/docs-francaises - -*********************************************************************** -* * -* Liste des documents actuellement disponible * -* * -* List of the documents available nowadays * -* * -*********************************************************************** - -Comment lire ce fichier / How to read this file - -macros/latex/contrib/supported/the-package : - Le titre du document - the-package (V. 1.23) - Author One <his mail if available> - Author two <his mail if available> - Trad. par: FMF, JPD - Relu par: BB - -Signifie / means: -- Position exacte du document: - Exact position of the document in the directory tree: - macros/latex/contrib/supported/the-package -- Titre français du document (pas encore renseigné): - French title of the document (not yet provided): - Le titre du document -- Les auteurs du package: - The authors of the package: - Author One <his mail if available> - Author two <his mail if available> -- Traduction en français par FMF et JPD (voir a la fin du fichier) - French translation by FMF and JPD (see and the end of the file) -- Relecture par BB - Proof-read by BB - -Les documents / The documents - -macros/latex/contrib/supported/caption : - Le package caption2 - caption2 (V. 2.0) - Harald Axel Sommerfeldt <axel@hp1.ang-physik.uni-kiel.de> - Trad. par : JPFD - Relu par : FMF - -macros/latex/contrib/supported/bizcard : - bizcard : Un package LaTeX2e pour les cartes de visite - bizcard (V. 1.1) - Sebastian Marius Kirsch <skirsch@t-online.de> - Trad. par : BB - Relu par : JM - -macros/latex/contrib/supported/multirow : - - multirow (V. 1.1) - Jerry Leichter <leichter@smarts.com,leichter@lrw.com> - Piet van Oostrum <piet@cs.uu.nl> - Trad. par : FMF - Relu par : BB - -/macros/latex/base : - Licence Publique du Projet LaTeX - LPPL (V. 1.2) - Projet LaTeX3 <www.latex-project.org> - Trad. par : NLN - Relu par : Aucun - -macros/latex/required/tools : - Une nouvelle écriture des environnements tabular et array de LaTeX - array (V. 2.3m) - Frank Mittelbach, - David Carlisle <carlisle@cs.man.ac.uk> - Trad. par : JPFD - Relu par : DB - -macros/latex/required/tools : - Le package calc - calc (V. 4.1b) - Kresten Krab Thorup <krab@daimi.aau.dk> - Frank Jensen <fj@hugin.dk> - Chris Rowley - Trad. par : JPFD - Relu par : DB - -/macros/latex/contrib/supported/natbib/ : - - natbib (V. 7.0a) - Patrick W Daly <daly@linmp.mpg.de> - Trad. par : JPFD,NLN - Relu par : Aucun - -macros/latex/required/tools : - Le package dcolumn - dcolumn (V. 1.05) - David Carlisle <carlisle@cs.man.ac.uk> - Trad. par : JPFD - Relu par : DB - -macros/latex/required/tools : - Le package delarray - delarray (V. 1.01) - David Carlisle <carlisle@cs.man.ac.uk> - Trad. par : JPFD - Relu par : JM - -macros/latex/required/tools : - Le package enumerate - enumerate (V. 3.00) - David Carlisle <carlisle@cs.man.ac.uk> - Trad. par : JPFD - Relu par : DB - -macros/latex/required/tools : - Notes de bas de page en mode multi-colonne - ftnright (V. 1.1d) - Frank Mittelbach - Trad. par : JPFD - Relu par : DB - -macros/latex/required/tools/ : - Le package hhline - hhline (V. 2.03) - David Carlisle <carlisle@cs.man.ac.uk> - Trad. par : JPFD - Relu par : JM - -macros/latex/required/tools : - Le package indentfirst - indentfirst (V. 1.03) - David Carlisle <carlisle@cs.man.ac.uk> - Trad. par : JPFD - Relu par : BB - -macros/latex/required/tools : - Afficher les variables de mise en page - layout (V. 1.1k) - Kent McPherson, - Johannes Braams - Trad. par : JPFD, BB - Relu par : SLC - -macros/latex/required/tools : - Le package longtable - longtable (V. 4.09) - David Carlisle <carlisle@cs.man.ac.uk> - Trad. par : JPFD - Relu par : FMF - -macros/latex/required/tools : - Le package showkeys - showkeys (V. 3.12) - David Carlisle <carlisle@cs.man.ac.uk> - Trad. par : JPFD - Relu par : DB - -macros/latex/required/tools : - Le package rawfonts - rawfonts (V. 0.01) - Alan Jeffrey - Trad. par : JPFD - Relu par : FMF - -macros/latex/required/tools : - Le package tabularx - tabularx (V. 2.07) - David Carlisle <carlisle@cs.man.ac.uk> - Trad. par : JPFD - Relu par : FMF - -macros/latex/required/tools : - Une extension de l'environnement theorem de LaTeX - theorem (V. 2.2c) - Frank Mittelbach - Trad. par : JPFD - Relu par : DB - -macros/latex/required/tools/ : - Le package varioref - varioref (V. 1.2a) - Frank Mittelbach - Trad. par : JPFD - Relu par : JM - -macros/latex/required/tools : - Une nouvelle définition des environnements LaTeX verbatim et verbatim* - verbatim (V. 1.5k) - Rainer Sch\"opf <Schoepf@Uni-Mainz.DE>, - Bernd Raichle <raichle@azu.Informatik.Uni-Stuttgart.DE>, - Chris Rowley <C.A.Rowley@open.ac.uk> - Trad. par : JPFD - Relu par : JPS - -macros/latex/required/tools : - Le package xr - xr (V. 5.02) - David Carlisle <carlisle@cs.man.ac.uk>, - Jean-Pierre Drucbert <Jean-Pierre.Drucbert@onecert.fr> - Trad. par : JPFD - Relu par : JPS - -macros/latex/required/tools : - Le package xspace - xspace (V. 1.06) - David Carlisle <carlisle@cs.man.ac.uk> - Trad. par : JPFD - Relu par : JPS - -macros/latex/contrib/supported/custom-bib : - - makebst (V. 4.0-beta1) - Patrick W. Daly <daly@linmp.mpg.de> - Trad. par : JPFD, NLN - Relu par : Aucun - -macros/latex/required/psnfss : - Le package PSNFSS \textsf{adobe} - adobe (V. 7.2) - Sebastian Rahtz <S.Rahtz@elsevier.co.uk> - Trad. par : SLC - Relu par : - -macros/latex/contrib/supported/a4 : - Une option de style pour adapter les styles standard de document \LaTeX\ - a4 (V. 1.2f) - Nico Poppelier <Poppelier@elsevier.nl> - Johannes Braams <JLBraams@cistron.nl> - Trad. par : SLC - Relu par : BB - -macros/latex/contrib/supported/SIunits : - Le package SIunits - SIunits (V. 0.06) - Marcel Heldoorn <m.heldoorn@physiology.medfac.leidenuniv.nl> - Trad. par : JPFD, NLN - Relu par : - -macros/latex/contrib/supported/Tabbing : - Le package Tabbing - Tabbing (V. 1.0) - Jean-Pierre F. Drucbert <drucbert@onecert.fr> - Trad. par : JPFD - Relu par : MG - -macros/latex/base : - \LaTeXe~pour les auteurs de classes et packages - clsguide (V. 1999.03.12) - LaTeX3 Project team - Trad. par : SLC - Relu par : BB - -macros/latex/base : - Options de configuration pour \LaTeXe - cfgguide (V. 1998.17.10) - LaTeX3 Project team - Trad. par : SLC - Relu par : FMF - -macros/latex/required/tools : - Un échantillonneur de polices - fontsmpl (V. 0.11) - Alan Jeffrey - Trad. par : DB - Relu par : Aucun - -macros/latex/base : - Modifier \LaTeX - modguide (V. modguide (V. 1995.12.12)) - LaTeX3 Project team - Trad. par : SLC - Relu par : FMF, BB - -macros/latex/required/tools : - Le package somedefs - somedefs (V. 0.03) - Alan Jeffrey - Trad. par : DB - Relu par : BB - -macros/latex/contrib/supported/answers : - Le package answers - answers (V. 2.10) - Mike Piff - Trad. par : JPFD - Relu par : MG - -macros/latex/contrib/supported/appendix : - Le package appendix - appendix (V. 1.0) - Peter Wilson <peter.r.wilson@boeing.com> - Trad. par : JPFD - Relu par : MG - -macros/latex/contrib/supported/bbm : - Utilisation des fontes bbm dans un environnement mathématique - bbm (V. 1.2) - Torsten Hilbrich <Torsten.Hilbrich@gmx.net> - Trad. par : JPFD - Relu par : DB - - -Équipe de traduction: -FMF = Françoise Marre-Fournier <marre-fournier@unilim.fr> -BB = Benjamin Bayart <bayartb@edgard.fdn.fr> -JM = Julien Mudry <zeiram@deathsdoor.com> -NLN = Nicolas Le Novère <nl223@cus.cam.ac.uk> -JPFD = Jean-Pierre Drucbert -JPS = Jean-Pierre Sutto -MG = Mathieu Goutelle <goutelle@mail.dotcom.fr> -DB = Denis Barbier <barbier@imacs.polytechnique.fr> -GM = Georges Mariano -SLC = Sebastien Le Callonnec <slecallo@eleve.emn.fr> -JCC = Jean-Come Charpentier <Jean-Come.Charpentier@wanadoo.fr> - -Contributeurs: --- -Benjamin Bayart -bayartb@edgard.fdn.fr diff --git a/Master/texmf-doc/doc/french/FAQ-fr/part1 b/Master/texmf-doc/doc/french/FAQ-fr/part1 deleted file mode 100644 index 0b4691598bb..00000000000 --- a/Master/texmf-doc/doc/french/FAQ-fr/part1 +++ /dev/null @@ -1,1852 +0,0 @@ -Path: tempo.univ-lyon1.fr!univ-lyon1.fr!oleane.net!oleane!teaser.fr!fdn.fr!edgard.fdn.fr!not-for-mail -Date: 08 Jun 2001 13:31:17 +0200 -Newsgroups: fr.comp.text.tex,fr.usenet.reponses -Subject: [FAQ] fr.comp.text.tex - parties 1 a 5 -Message-ID: <faq-fctt-p120010608133117@edgard.fdn.fr> -X-Posted-By: poste.sh version 1.1 -From: bayartb@edgard.fdn.fr (Nono le robot) -Supersedes: <faq-fctt-p120010501143415@edgard.fdn.fr> -Expires: 08 Jul 2001 13:31:17 +0200 -Followup-To: poster -Organization: French Data Network -Approved: bayartb@edgard.fdn.fr -Lines: 1844 -Xref: tempo.univ-lyon1.fr fr.comp.text.tex:23521 fr.usenet.reponses:20387 - -Archive-name: fr/faq-latex-francaise/part1 - -Author: Marie-Paule Kluth -Posting-Frequency: mensuel (monthly) -Version: 2.27 - -================================================================ - Cette FAQ, rédigée initialement par MP Kluth est maintenant - tenue à jour autant que possible par B. Bayart et - plusieurs volontaires (voir question [30]). -================================================================ - -fr.comp.text.tex est un forum français de discussion concernant -TeX et LaTeX. comp.text.tex est son équivalent anglophone. Cette -FAQ (recueil des questions les plus fréquentes) est -essentiellement composée à partir de messages postés dans ces -forums et de mon expérience personnelle. - -Je tiens à souligner que cette FAQ LaTeX ne prétend pas être -correcte sur tous les points qu'elle énonce (j'essaie toutefois -de tester un maximum de réponses mais je ne dispose pas -toujours de tous les packages), ni même complète. C'est -pourquoi, je vous invite tous à y contribuer par vos remarques. -En outre, des exemples concis susceptibles d'illustrer l'une ou -l'autre des réponses seront les bienvenus. - -Concernant l'évolution de LaTeX2.09 en LaTeX2e, sachant que -certains sites utilisent encore l'ancienne version (notamment -pour travailler sur d'anciens documents utilisant des styles ou -macros non compatibles avec LaTeX2e), cette FAQ présente encore -des aides pour LaTeX2.09. Cependant, il est entendu que ces -dernières seront amenées à disparaître. -################################################################ - - FAQ LaTeX version 2.27 (08/06/2001) - -################################################################ - (première version : FAQ LaTeX version 1.0 (30/04/96)) - (c) Copyright 1997 Marie-Paule Kluth - Tous droits réservés. - -Note (destinée aux puristes) : -Afin de ne pas tomber dans l'excès qui consiste à traduire -toutes les expressions anglo-saxonnes utilisées dans LaTeX, en -français, on parlera, entre autres, dans ce qui suit de package -et non d'extension, de viewer, du WEB, etc. - -Suite à de nombreuses demandes, les accents ont été ajoutés. Le -programme `recode' de GNU est capable d'en générer une version -sans les accents (recode latin1:flat faq_latex). Ceux qui ne -possèdent pas un tel programme peuvent me demander une version -sans accents par e-mail. - -................................................................ -Pour toutes remarques, commentaires ou ajouts, contactez le -mainteneur par e-mail : bayartb@edgard.fdn.fr -................................................................ - -Si vous désirez, distribuer ce document par FTP ou sur le WEB, -ou placer un pointeur vers ce dernier, merci de m'en informer -par e-mail et de me communiquer l'adresse correspondante. - - Redistribution for profit, or in altered content/format - prohibited without permission of the author. - Redistribution via printed book or CDROM expressly - prohibited without consent of the author. Any other - redistribution must include this copyright notice and - attribution. - -Bonne lecture. - -================================================================ -THÈMES ABORDES : -================================================================ - -[1] PRÉSENTATION ----------------- -# 1.1 # Quelle est l'histoire de (La)TeX ? -# 1.2 # Quels sont les principes de base de TeX ? -# 1.3 # Quels sont les principes de base de LaTeX ? -# 1.4 # Qu'est ce que le préambule du fichier source ? -# 1.5 # Comment faire ses premiers pas ? -# 1.6 # Comment sont gérées les options de package ? -# 1.7 # Quelle est la structure d'une page LaTeX ? -# 1.8 # Quelles sont les commandes de compilation LaTeX ? -# 1.9 # Quels sont les fichiers utilisés par LaTeX ? -# 1.10 # A quoi correspondent les messages Overfull ? - -[2] DOCUMENTATION ------------------ -# 2.1 # Que puis-je lire sur TeX ? -# 2.2 # Que puis-je lire sur LaTeX2.09 ? -# 2.3 # Que puis-je lire sur LaTeX2e ? -# 2.4 # Que puis-je lire sur AMS-LaTeX ? -# 2.5 # Que puis-je lire sur la typographie ? -# 2.6 # Où trouver une bibliographie complète ? -# 2.7 # Que puis-je lire sur les fontes ? - -[3] SITES WEB -------------- -# 3.1 # Où trouver des infos sur le WEB ? -# 3.2 # Où trouver cette FAQ ? -# 3.3 # Existe t'il des listes de discussion francophones ? -# 3.4 # Où trouver d'autres FAQs LaTeX ? - -[4] SOURCES TEX ET LATEX ------------------------- -# 4.1 # Où trouver les sources pour Unix ? -# 4.2 # Où trouver les sources pour VMS ? -# 4.3 # Où trouver les sources pour DOS, OS/2, Windows3.x/95/NT ? -# 4.4 # Où trouver les sources pour MacOS ? -# 4.5 # Où trouver d'autres sources ? - -[5] ÉDITER LATEX ----------------- - -[6] GESTION DE LA MISE EN PAGE ------------------------------- -# 6.1 # Comment modifier l'interligne d'un document ? -# 6.2 # Comment gérer un document recto-verso ? -# 6.3 # Comment modifier le style des titres ? -# 6.4 # Comment obtenir un document multicolonnes ? -# 6.5 # Comment composer une brochure ? -# 6.6 # Comment définir un format de document ? -# 6.7 # Comment redéfinir les marges d'un document ? -# 6.8 # Comment changer l'orientation d'un document ? -# 6.9 # Comment justifier verticalement un paragraphe ? -# 6.10 # Comment modifier la commande \caption ? -# 6.11 # Comment modifier un changement de page ? -# 6.12 # Comment obtenir des colonnes parallèles ? -# 6.13 # Comment définir l'espace de début de paragraphe ? -# 6.14 # Comment supprimer la date sur une page de titre ? -# 6.15 # Comment mettre en valeur la première lettre d'un chapitre ? -# 6.16 # Comment préserver les tabulations en mode verbatim ? -# 6.17 # Comment modifier les entêtes de chapitre ? -# 6.18 # Comment définir des tabulations ? -# 6.19 # Comment obtenir des lettres accentuées dans tabbing ? -# 6.20 # Comment encadrer du texte ? -# 6.21 # Comment gérer des URL WWW ? -# 6.22 # Comment mettre en page des exercices dont les solutions sont reportées dans un autre paragraphe ? -# 6.23 # Comment positionner un objet dans une page ? -# 6.24 # Comment lier le placement des flottants aux sections ? -# 6.25 # Comment griser le fond (background) d'un paragraphe ? -# 6.26 # Comment modifier l'espace inter-colonnes ? -# 6.27 # Comment modifier les environnements de liste ? -# 6.28 # Comment souligner plusieurs lignes ? -# 6.29 # Comment réaliser des onglets ? -# 6.30 # Comment réaliser des QCM ? -# 6.31 # Comment modifier l'orientation des flottants ? -# 6.32 # Comment faire référence plusieurs fois à la même note de bas de page ? -# 6.33 # Comment éviter les orphelins en début ou fin de page ? -# 6.34 # Comment définir de nouveaux flottants ? -# 6.35 # Comment utiliser la commande \caption hors d'un environnement flottant ? -# 6.36 # Comment encadrer un objet flottant ? -# 6.37 # Comment changer l'orientation d'un caption ? -# 6.38 # Comment mettre en page un programme ? -# 6.39 # Comment inclure le source d'un programme ? -# 6.40 # Comment obtenir un espace insécable ? -# 6.41 # Comment insérer une page blanche ? -# 6.42 # Comment supprimer l'indentation des paragraphes ? -# 6.43 # Comment modifier l'espacement entre caractères ? -# 6.44 # Comment supprimer certaines coupures de mots ? -# 6.45 # Comment mettre en forme des équations chimiques ? -# 6.46 # Comment mettre en page un calendrier ? -# 6.47 # Comment forcer un caption sur plusieurs lignes ? -# 6.48 # Comment générer des barres de modification dans un document ? -# 6.49 # Comment encadrer du texte verbatim ? -# 6.50 # Comment écrire du texte en forme de losange ou autre ? -# 6.51 # Comment isoler les flottants par un trait horizontal ? -# 6.52 # Comment insérer un espace vertical dans une page ? -# 6.53 # Comment insérer un espace horizontal dans un texte ? -# 6.54 # Comment définir un style de paragraphe ? -# 6.55 # À quoi sert la commande \stretch ? -# 6.56 # Comment justifier un paragraphe à gauche ou à droite ? -# 6.57 # Comment mettre en page des citations ? -# 6.58 # Comment insérer un texte sans que LaTeX le mette en forme ? -# 6.59 # Comment visualiser des espaces ? -# 6.60 # Comment insérer du code LaTeX dans un document LaTeX ? -# 6.61 # Comment écrire du texte en couleurs ? -# 6.62 # Comment construire un arbre ? -# 6.63 # Comment mettre en page un poème ? -# 6.64 # Comment aligner des paragraphes ? -# 6.65 # Comment construire une liste d'éléments ? -# 6.66 # Comment faire une note dans une marge ? -# 6.67 # Comment faire une page de garde ? -# 6.68 # Comment utiliser \thanks dans chaque titre de chapitre ? -# 6.69 # Comment mettre un résumé et un abstract dans un document ? -# 6.70 # Comment définir de nouvelles couleurs ? -# 6.71 # Comment placer des figures face à face en recto-verso ? -# 6.72 # Quelles sont les différences entre a4paper et letterpaper ? -# 6.73 # Comment couper une chaîne de caractères ? -# 6.74 # Comment modifier l'espace entre une figure et sa légende ? - -[7] GESTION DES TABLEAUX ------------------------- -# 7.1 # Comment faire un tableau ? -# 7.2 # Comment gérer les tableaux de plus d'une page ? -# 7.3 # Comment modifier l'orientation d'un tableau ? -# 7.4 # Comment nommer un tableau ? -# 7.5 # Comment modifier l'épaisseur des lignes d'un tableau ? -# 7.6 # Comment griser des cellules d'un tableau ? -# 7.7 # Comment changer la fonte d'une colonne ? -# 7.8 # Comment créer des notes de bas de page dans un tableau ? -# 7.9 # Comment écrire un texte sur plusieurs colonnes ? -# 7.10 # Comment passer certaines cellules en reverse vidéo ? -# 7.11 # Comment fixer la largeur d'une colonne ? -# 7.12 # Comment écrire un texte sur plusieurs lignes ? -# 7.13 # Comment diviser une cellule par une diagonale ? -# 7.14 # Comment définir une colonne en mode mathématique dans un tableau ? -# 7.15 # Comment modifier le nombre de tableaux par page ? -# 7.16 # Comment mettre deux tableaux côte à côte ? -# 7.17 # Comment définir un séparateur de colonne ? -# 7.18 # Comment obtenir des lignes partielles dans un tableau ? -# 7.19 # Comment éviter que du texte de grande taille n'atteigne le cadre des cellules ? -# 7.20 # Comment fixer la largeur d'un tableau ? -# 7.21 # Comment tracer des traits discontinus ? -# 7.22 # Comment fixer la taille et justifier une colonne ? -# 7.23 # Comment faire une liste de tableaux ? - -[8] GESTION DES FIGURES ------------------------ -# 8.1 # Comment inclure une figure ? -# 8.2 # Comment nommer une figure ? -# 8.3 # Comment placer des figures côte à côte ? -# 8.4 # Comment modifier le nombre de figures par page ? -# 8.5 # Comment superposer du texte sur des figures ? -# 8.6 # Comment réaliser des captures d'écran ? -# 8.7 # Comment tracer une courbe ? -# 8.8 # Comment est géré le positionnement des figures ? -# 8.9 # Comment placer une légende à côté d'une figure ? -# 8.10 # Comment insérer des figures dans multicol ? -# 8.11 # Comment faire apparaître toutes les figures en fin de document ? -# 8.12 # Comment insérer des images Mathematica ? -# 8.13 # Comment modifier la taille d'une bounding box ? -# 8.14 # Comment obtenir une figure avec un titre non numéroté ? -# 8.15 # Comment redéfinir le style de caption ? -# 8.16 # Comment fondre une image dans du texte ? -# 8.17 # Comment réaliser des diagrammes en bâtons ? -# 8.18 # Comment faire un organigramme ? -# 8.19 # Comment centrer une figure très large ? -# 8.20 # Comment passer de ps à eps ? -# 8.21 # Comment changer l'orientation d'une figure ? -# 8.22 # Comment gérer des sous-figures sur plusieurs pages ? -# 8.23 # Comment générer une liste des figures d'un document ? -# 8.24 # Comment faire une figure sous LaTeX ? -# 8.25 # Comment mettre un commentaire à côté d'une figure ? - -[9] INCLUSION DE FICHIERS -------------------------- -# 9.1 # Comment inclure des fichiers en mode verbatim ? -# 9.2 # Comment gérer un document par parties ? -# 9.3 # Comment isoler une partie d'un fichier ps ou dvi ? -# 9.4 # Comment inclure un fichier PICT ? -# 9.5 # Comment spécifier un chemin pour les fichiers à inclure ? - -[10] HAUTS ET BAS DE PAGES --------------------------- -# 10.1 # Comment définir les hauts et bas de page ? -# 10.2 # Comment obtenir une note de bas de page ? -# 10.3 # Comment mettre les notes de bas de page en fin de document ? -# 10.4 # Comment réduire les rappels de titres dans un haut ou bas de page ? -# 10.5 # Comment référencer une note de bas de page ? -# 10.6 # Comment supprimer la numérotation des pages ? -# 10.7 # Comment numéroter les pages par rapport à la dernière ? -# 10.8 # Comment supprimer le trait de séparation des notes de bas de page ? -# 10.9 # Comment modifier la numérotation des pages ? -# 10.10 # Comment supprimer les entêtes et bas de page de pages vierges ? -# 10.11 # Comment gérer des en-têtes avec des environnements verbatim multi-pages ? -# 10.12 # Comment utiliser \footnote dans un titre ? -# 10.13 # Comment placer les notes de bas de page les unes à côté des autres ? -# 10.14 # Comment réinitialiser le compteur de note de bas de page à chaque page ? -# 10.15 # Comment modifier le style des notes de bas de page ? -# 10.16 # Comment utiliser le mode verbatim dans une note de bas de page ? -# 10.17 # Comment éviter qu'une note de bas de page s'étale sur plusieurs pages ? - -[11] LATEX, LE FRANÇAIS ET LES AUTRES LANGUES ---------------------------------------------- -# 11.1 # Comment franciser un document LaTeX ? -# 11.2 # Comment corriger les coupures de mots accentués ? -# 11.3 # Comment utiliser les lettres accentuées ? -# 11.4 # Comment composer du texte en grec moderne ou classique ? -# 11.5 # Comment composer du texte en hébreu moderne ou classique ? -# 11.6 # Comment composer du texte en arabe ? -# 11.7 # Comment définir les césures de groupes de mots conjugués avec un trait d'union ? - -[12] MATHÉMATIQUES ------------------- -# 12.1 # Comment passer en mode mathématique ? -# 12.2 # Qu'est que AMS-LaTeX ? -# 12.3 # Comment écrire les symboles d'ensembles ? -# 12.4 # Comment numéroter les équations ? -# 12.5 # Comment aligner des équations ? -# 12.6 # Comment générer des vecteurs ? -# 12.7 # Comment écrire du texte en mode mathématique ? -# 12.8 # Comment ajuster la taille de délimiteurs ? -# 12.9 # Comment changer de fonte en mode mathématique ? -# 12.10 # Comment obtenir le L de la transformée de Laplace ? -# 12.11 # Comment réaliser un tableau en mode mathématique ? -# 12.12 # Comment obtenir d'autres symboles mathématiques ? -# 12.13 # Comment définir une fonction ? -# 12.14 # Comment définir une matrice ? -# 12.15 # Comment encadrer des formules ? -# 12.16 # Comment ajuster la longueur d'une flèche par rapport à un texte ? -# 12.17 # Comment obtenir des indices ou exposants à gauche ? -# 12.18 # Comment tracer des diagrammes commutatifs ? -# 12.19 # Comment ajuster la taille de certains opérateurs ? -# 12.20 # Comment mettre en page des algorithmes ? -# 12.21 # Comment mettre en page des formules longues ? -# 12.22 # Comment créer des unités de mesure ? -# 12.23 # Comment écrire proprement a/b ? -# 12.24 # Comment créer des notes de bas de page dans une formule mathématique ? -# 12.25 # Comment forcer le style d'un tableau à displaystyle ? -# 12.26 # Comment réduire les espaces gérés par eqnarray ? -# 12.27 # Comment réduire la taille des indices ? -# 12.28 # Comment aligner des indices ? -# 12.29 # Comment mettre en page des théorèmes ? -# 12.30 # Comment changer la taille de la fonte ? -# 12.31 # A quoi sert la commande \displaystyle ? -# 12.32 # Comment aligner des données sur le point décimal ? -# 12.33 # Comment gérer les espaces en mode mathématique ? -# 12.34 # Comment obtenir des accolades horizontales ? -# 12.35 # Comment obtenir des points de suspensions ? -# 12.36 # Comment mettre en page un système d'équations ? -# 12.37 # Comment mettre en page des diagrammes de Feynman ? -# 12.38 # Comment obtenir une fraction ? -# 12.39 # Comment obtenir une racine ? -# 12.40 # Quels sont les délimiteurs disponibles ? -# 12.41 # Comment appeler les lettres grecques ? -# 12.42 # Quels sont les accents mathématique standards ? -# 12.43 # Comment superposer deux symboles ? -# 12.44 # Comment définir un nouvel opérateur ou symbole ? -# 12.45 # Comment obtenir des lettres grecques en gras ? -# 12.46 # Comment tracer un tableau de variations ? - -[13] RÉFÉRENCES CROISÉES ------------------------- -# 13.1 # Quelles sont les commandes de base ? -# 13.2 # Comment obtenir un renvoi à une page ? -# 13.3 # Comment obtenir des références croisées à partir de plusieurs sources ? -# 13.4 # Comment définir des liens hypertexte sous LaTeX ? -# 13.5 # Comment faire référence à ses propres compteurs ? - -[14] TABLE DES MATIÈRES ------------------------ -# 14.1 # Comment générer une table des matières ? -# 14.2 # Comment générer plusieurs tables des matières ? -# 14.3 # Comment ajouter une entrée dans la table des matières ? -# 14.4 # Comment changer le titre de la table des matières ? -# 14.5 # Comment changer la profondeur de la table des matières ? -# 14.6 # Comment gérer des chapitres de préface, d'introduction, et de conclusion non numérotés ? -# 14.7 # Comment enlever le numérotation des pages de tdm ? - -[15] BIBLIOGRAPHIE SOUS LATEX ------------------------------ -# 15.1 # Comment construire une bibliographie ? -# 15.2 # Comment gérer plusieurs bibliographies ? -# 15.3 # Comment changer de langue dans une bibliographie ? -# 15.4 # Comment renvoyer une référence en note de bas de page ? -# 15.5 # Comment faire référence à un document ? -# 15.6 # Comment grouper des références multiples ? -# 15.7 # Comment changer le titre de la bibliographie ? -# 15.8 # Comment changer le style de la bibliographie ? -# 15.9 # Comment construire une bibliographie à partir de plusieurs fichiers .bib ? -# 15.10 # Comment utiliser la commande \cite dans un \caption ? -# 15.11 # Comment référencer une thèse française ou un mémoire ? -# 15.12 # Comment supprimer la virgule supplémentaire dans une liste d'auteurs ? -# 15.13 # Comment configurer la commande \cite ? -# 15.14 # Comment construire une liste d'auteurs ? -# 15.15 # Comment spécifier un tri dans une bibliographie ? -# 15.16 # Comment référencer les pages contenant des citations ? -# 15.17 # Où trouver des styles de bibliographie ? -# 15.18 # Comment faire des références croisées ? -# 15.19 # Comment citer une URL ? -# 15.20 # Comment définir des initiales à deux lettres ? -# 15.21 # Comment conserver les majuscules dans les titres ? -# 15.22 # Comment changer l'espace entre les item ? -# 15.23 # Comment réaliser des fiches de lecture ? -# 15.24 # Comment utiliser la commande \cite dans un item ? -# 15.25 # Comment générer l'expression et al automatiquement ? - -[16] INDEX ----------- -# 16.1 # Quelles sont les commandes de base ? -# 16.2 # Comment construire un index hiérarchique ? -# 16.3 # Quels sont les générateurs d'index ? -# 16.4 # Comment changer le style de certains mots indexés ? -# 16.5 # Comment changer le style des pages de référence ? -# 16.6 # Comment rappeler certains mots dans un haut de page ? -# 16.7 # Comment générer plusieurs index ? -# 16.8 # Qu'est ce que IdXTeX ? -# 16.9 # Qu'est ce que xindy ? - -[17] GLOSSAIRE --------------- -# 17.1 # Quelles sont les commandes de base ? -# 17.2 # Quels sont les générateurs de glossaire ? - -[18] STYLES PRÉDÉFINIS ----------------------- -# 18.1 # Où trouver un style de thèse ? -# 18.2 # Comment faire son CV en LaTeX ? -# 18.3 # Où trouver un format de publication ? -# 18.4 # Où trouver un style de manuel de référence ? -# 18.5 # Où trouver un style de poster ? -# 18.6 # Comment créer son propre style ? - -[19] CRÉATION DE TRANSPARENTS ------------------------------ -# 19.1 # Quels sont les packages et styles existants ? -# 19.2 # Comment définir un contour pour des transparents ? -# 19.3 # Comment inclure des commentaires dans les transparents ? -# 19.4 # Comment modifier l'interligne sous seminar ? -# 19.5 # Comment définir des en-têtes et pieds de pages ? -# 19.6 # Comment modifier la taille du cadre d'un transparent ? -# 19.7 # Comment empêcher les figures de flotter ? -# 19.8 # Comment gérer la couleur avec seminar ? -# 19.9 # Comment imprimer des transparents en miroir ? -# 19.10 # Comment inclure une image de fond ? -# 19.11 # Comment imprimer plusieurs transparents par page ? - -[20] LETTRES, MAILING ET FAXS ------------------------------ -# 20.1 # Comment structurer une lettre ? -# 20.2 # Comment préparer un mailing ? -# 20.3 # Comment faire des références dans une lettre ? -# 20.4 # Comment mettre en page un fax ? -# 20.5 # Comment positionner une adresse pour une enveloppe à fenêtre ? -# 20.6 # Comment suppprimer la date sur une lettre ? -# 20.7 # Comment inclure une figure dans une lettre ? - -[21] SYMBOLES ET LOGOS ----------------------- -# 21.1 # Où trouver des symboles électroniques ? -# 21.2 # Comment dessiner des circuits électroniques ? -# 21.3 # Quelles sont les polices de symboles sous LaTeX ? -# 21.4 # Comment obtenir les symboles mâle et femelle ? -# 21.5 # Comment obtenir le symbole degré ? -# 21.6 # Où trouver des symboles astronomiques ? -# 21.7 # Où trouver une police de symboles phonétiques ? -# 21.8 # Où trouver des opérateurs de logique floue ? -# 21.9 # Comment obtenir le symbole de paragraphe ? -# 21.10 # Comment obtenir le caractère 'registered' ? -# 21.11 # Où trouver le symbole trade-mark ? -# 21.12 # Comment obtenir un underscore ? -# 21.13 # Où trouver le symbole radioactif ? -# 21.14 # Comment obtenir le logo LaTeX ? -# 21.15 # Comment obtenir le logo LaTeX2e ? -# 21.16 # Où trouver des chiffres entourés ? -# 21.17 # Comment obtenir le symbole numéro ? -# 21.18 # Comment obtenir les symboles pourcent et pourmille ? -# 21.19 # Comment obtenir un e dans l'o ? -# 21.20 # Quels sont les symboles réservés dans LaTeX ? -# 21.21 # Comment obtenir des lettres cursives ? -# 21.22 # Comment obtenir le logo AMS-(La)TeX ? -# 21.23 # Quels sont les symboles par défaut de LaTeX ? -# 21.24 # Quels sont les différents tirets ? -# 21.25 # Comment obtenir le symbole arobasse ? -# 21.26 # Comment obtenir un backslash ? -# 21.27 # Comment faire un carré plain de fin de démonstration ? - -[22] MUSIQUE ------------- -# 22.1 # Comment écrire de la musique sous LaTeX ? -# 22.2 # Comment convertir du midifile en MusicTeX ? -# 22.3 # Existe-t'il une liste de discussion de musique ? -# 22.4 # Comment éditer un livre de chants ? -# 22.5 # Comment mettre en page un programme de concert ? - -[23] CONVERSIONS DE FICHIERS ----------------------------- -# 23.1 # Comment générer un fichier .ps à partir d'un .dvi ? -# 23.2 # Qu'est ce que le "Literate Programming" ? -# 23.3 # Comment convertir du LaTeX en word ? -# 23.4 # Comment convertir du word en LaTeX ? -# 23.5 # Comment convertir du scribe en LaTeX ? -# 23.6 # Comment convertir du WordPerfect en LaTeX ? -# 23.7 # Comment convertir du LaTeX en RTF ? -# 23.8 # Comment convertir du RTF en (La)TeX ? -# 23.9 # Comment convertir du Excel en LaTeX ? -# 23.10 # Comment convertir du HTML en LaTeX ? -# 23.11 # Comment convertir du LaTeX en HTML ? -# 23.12 # Comment convertir un fichier dvi en ascii ? -# 23.13 # Comment convertir du WEB en LaTeX ? -# 23.14 # Comment convertir du TeX en Framemaker ? -# 23.15 # Comment enlever les balises LaTeX d'un document ? -# 23.16 # Comment convertir du SGML en (La)TeX ? -# 23.17 # Comment convertir du WinWord en LaTeX ? -# 23.18 # Comment convertir un fichier 8 bits en fichier 7 bits ? -# 23.19 # Comment convertir un fichier ChiWriter en TeX ? -# 23.20 # Où trouver une FAQ de convertisseurs (La)TeX/Traitement de texte ? -# 23.21 # Comment convertir une image en police metafont ? -# 23.22 # Comment convertir un fichier postscript en ascii ? -# 23.23 # Comment convertir un fichier pdf en ascii ? -# 23.24 # Comment convertir du LaTeX en PDF ? -# 23.25 # Comment définir son propre format de sortie ? - -[24] PRÉVIEWERS ET VIEWERS --------------------------- -# 24.1 # Où trouver un previewer ? -# 24.2 # Où trouver un viewer ? -# 24.3 # Comment visualiser des fichiers non postscript sous xdvi ? - -[25] LOGICIELS DE DESSINS -------------------------- -# 25.1 # Où trouver un logiciel de dessin ? -# 25.2 # Comment inclure des formules Latex dans Xfig ? -# 25.3 # Comment gérer différents formats de figures ? - -[26] CORRECTEUR ---------------- -# 26.1 # Où trouver un correcteur orthographique ? -# 26.2 # Où trouver un vérificateur de syntaxe LaTeX ? - -[27] ASSOCIATIONS ------------------ -# 27.1 # Qu'est ce que l'association GUTenberg ? -# 27.2 # Qu'est ce que l'association TUG ? -# 27.3 # Qu'est ce que l'association AsTeX ? - -[28] FONTES ------------ -# 28.1 # Que signifient les sigles T1, mf, fd etc. ? -# 28.2 # Quels sont les attributs d'une fonte ? -# 28.3 # Comment utiliser une fonte ? -# 28.4 # Comment changer la forme d'une fonte ? -# 28.5 # Comment changer la taille d'une fonte ? -# 28.6 # Comment modifier la fonte des numéros de paragraphe ? -# 28.7 # Comment modifier la fonte du mode verbatim ? -# 28.8 # Comment réaliser des changements de fontes relatifs ? -# 28.9 # Comment mettre en évidence une portion de texte ? -# 28.10 # Où trouver des fontes ? -# 28.11 # Comment suivre le chargement des fontes ? -# 28.12 # Pourquoi MakeTeXPK est lancé alors que la fonte existe ? -# 28.13 # Comment utiliser \textsc dans un titre en conservant le gras ? -# 28.14 # Comment utiliser des fontes TrueType? - -[29] DIVERS ------------ -# 29.1 # A quoi sert la commande \par ? -# 29.2 # Comment commenter une partie d'un source LaTeX ? -# 29.3 # Comment utiliser LaTeX sur des petites machines ? -# 29.4 # Comment visualiser des paramètres ? -# 29.5 # Comment visualiser des compteurs ? -# 29.6 # A quoi servent \makeatletter et \makeatother ? -# 29.7 # Comment numéroter les lignes d'un document ? -# 29.8 # A quoi sert la commande \special ? -# 29.9 # Comment réaliser des calculs avec les variables LaTeX ? -# 29.10 # Où trouver une fonte 9pt ? -# 29.11 # Comment automatiser les compilations LaTeX ? -# 29.12 # Comment obtenir des cadres gris ? -# 29.13 # Comment obtenir certaines abréviations ? -# 29.14 # Comment gérer les espaces après une macro ? -# 29.15 # Où trouver les notices d'utilisation des packages ? -# 29.16 # Comment obtenir des listes d'objets flottants ? -# 29.17 # Comment connaître les versions des fichiers utilisés lors d'une compilation ? -# 29.18 # Pourquoi certaines commandes sont elles indépendantes ? -# 29.19 # Comment installer un package ? -# 29.20 # Comment générer des codes barres ? -# 29.21 # Comment gérer des abbréviations ? -# 29.22 # Comment imprimer un fichier postscript sur une imprimante non postscript ? -# 29.23 # Comment surcharger une commande déjà existante ? -# 29.24 # Comment reporter l'exécution d'une commande à la fin d'une page ? -# 29.25 # Comment définir des scripts interactifs ? -# 29.26 # Comment identifier une version provisoire ? -# 29.27 # Comment obtenir des caractères barrés ? -# 29.28 # A quoi sert la commande \ensuremath ? -# 29.29 # A quoi servent les commandes \(re)newcommand ? -# 29.30 # Où trouver des hirondelles ? -# 29.31 # Comment tracer des lignes ? -# 29.32 # Comment imprimer le caractère ~ ? -# 29.33 # Comment visualiser tous les caractères d'une fonte ? -# 29.34 # A quoi sert % dans les macros ? -# 29.35 # Comment inclure l'heure dans un document ? -# 29.36 # Comment compter le nombre de mots d'un fichier ? -# 29.37 # Comment rendre inactif un caractère ? -# 29.38 # Comment utiliser le mode verbatim dans une commande ? -# 29.39 # Comment redéfinir la commande \year ? -# 29.40 # Qu'est ce que la magnification ? -# 29.41 # Comment sont gérés les postscripts dans LaTeX ? -# 29.42 # Pourquoi LaTeX n'accepte-t'il pas tous les formats d'image ? -# 29.43 # A quoi sert la commande \(re)newenvironment ? -# 29.44 # Comment récupérer le nom du fichier compilé ? -# 29.45 # Comment gérer des conditions de traitement dans un style ? -# 29.46 # A quoi servent les commandes \setlength et \addtolength ? -# 29.47 # Quelles sont les unités de mesure de TeX ? -# 29.48 # A quoi sert la commande \mbox ? -# 29.49 # Comment obtenir des points de suspension ? -# 29.50 # Comment désactiver une ligature ? -# 29.51 # Comment gérer les versions d'un document ? -# 29.52 # Comment changer certains titres ? -# 29.53 # Comment insérer un code source dans un document ? -# 29.54 # Comment tracer une ligne horizontale ? -# 29.55 # Comment générer un espace invisible de taille donnée ? -# 29.56 # Qu'est ce qu'une correction italique ? -# 29.57 # Quels sont les accents accessibles sous LaTeX ? -# 29.58 # Comment écrire dans un fichier pendant une compilation ? -# 29.59 # Comment gérer des compteurs ? -# 29.60 # Quels sont les différents styles de compteurs ? -# 29.61 # Comment programmer un traitement itératif ? -# 29.62 # A quoi servent les commandes savebox ? -# 29.63 # Comment résoudre certaines incompatibilités de packages ? -# 29.64 # Qu'est ce que Lollipop ? -# 29.65 # J'ai un problème avec babel ! -# 29.66 # Qu'est ce que cette FAQ ? - -[30] REMERCIEMENTS ET CONTRIBUTIONS ------------------------------------ - -================================================================ -[1] PRÉSENTATION -================================================================ - -# 1.1 # Quelle est l'histoire de (La)TeX ? ------------------------------------------- -TeX (1978) est le formateur de texte de D. E. Knuth. A -l'origine, Knuth a développé TeX (en WEB cf. paragraphe 23.2) -notamment pour réaliser de beaux documents et écrire des -formules mathématiques. - -LaTeX, écrit par L. Lamport (1982), est un jeu de macros -au-dessus de TeX, plus facile à utiliser que ce dernier. Il -propose notamment différents styles de document auxquels -correspondent des classes de document et une grande diversité -de macros qui répondent à divers besoins des auteurs. LaTeX a -été conçu pour rédiger des articles, des rapports, des thèses ou -des livres ou pour préparer des transparents. On peut insérer -dans le texte, des dessins, des tableaux, des formules -mathématiques et des images sans avoir à se soucier (ou presque) -de leur mise en page. Les documents produits avec LaTeX et TeX -sont d'une excellente qualité typographique. - -Plain TeX écrit également par D. E. Knuth, était le premier jeu -(minimal) de macros par dessus TeX. De même Eplain, de K. Berry, -est un jeu de macros intermédiaire entre TeX et LaTeX. - -Suite à une large diffusion de LaTeX beaucoup d'extensions ont -été créées par différents utilisateurs. Grâce à Murphy, ces -extensions ont introduit un certain nombre d'incompatibilités -et ont porté atteinte à la portabilité de LaTeX. C'est de cette -situation qu'est né le projet de normalisation LaTeX3, sous la -direction des gurus LaTeX : L. Lamport, F. Mittelbach, C. -Rowley, R. Schopf et tant d'autres... Pour plus de détails, -consulter : -http://www.latex-project.org/ - -Toutefois, pour ne pas perturber les actuels utilisateurs de -LaTeX, la version provisoire normalisée s'appelle LaTeX2e (1994) -et elle est compatible (dans la mesure du possible) avec les -anciens standards. Ainsi tous les documents écrits pour -LaTeX2.09 peuvent être compilés sous LaTeX2e en mode "LaTeX2.09 -compatibility mode". - -Remarque : cette compatibilité sera amenée à disparaître au fur - et à mesure des évolutions vers LaTeX3. - -Les membres du projet LaTeX3 travaillent actuellement sur le -futur LaTeX3. Autrement dit, LaTeX2e ne devrait plus beaucoup -évoluer. - -Il existe aussi omega, une extension 16 bits de TeX qui utilise -unicode comme représentation interne et autorise ainsi la -composition de textes multi-lingues dans les langues telles que -l'arabe, le chinois ou les langues du continent indien. Pour -plus de renseignements, vous pouvez consulter : les cahiers -GUTenbeg, TUGboat, ftp://ftp.ens.fr/pub/tex/yannis/omega/, -ftp://ftp.ens.fr/pub/tex/yannis/omega-babel/, ... - -Signalons également NTS, un projet à très long terme qui vise -d'abord à enrichir TeX mais qui à terme, n'en gardera que les -concepts. - -# 1.2 # Quels sont les principes de base de TeX ? -------------------------------------------------- -Le principe de base de TeX est la boîte ! TeX met tout dans des -boîtes et l'assemblage de ces boîtes suivant des règles données -permet de mettre en page des documents. - -A l'origine, TeX a été conçu aussi bien pour créer des documents -d'une page de texte, que des documents de plusieurs centaines de -pages contenant des formules mathématiques, des tableaux, des -figures, etc. TeX travaille donc comme un imprimeur sans subir -les contraintes mécaniques inhérentes aux outils de ce dernier. -Sa précision est sans limite puisque son unité de base est le -point et que les calculs qu'il suscite sont effectués par les -ordinateurs. - -Un des avantages de TeX est qu'il possède une vision globale des -choses. TeX ne se place pas uniquement au niveau du caractère -que l'auteur frappe mais aussi au niveau du mot, de la ligne, du -paragraphe, de la page ou du document dans son entier pour -évaluer ses critères de beauté. La dimension esthétique du -document est ainsi prise en compte et gérée de manière à ce -qu'elle soit maximale. - -Les critères de beauté utilisés dépendent le plus souvent des -règles typographiques attachées à la langue ou au langage -employé (mathématiques par exemple), mais il peut également, à -tout moment, prendre en compte les goûts de l'auteur. TeX gère -ainsi la ponctuation, les ligatures, les coupures de mots et -les justifications verticales et horizontales. - -Un autre avantage de TeX est la facilité avec laquelle il donne -accès à toutes ces possibilités de composition. En mathématiques -par exemple, il offre une quantité incroyable de symboles et -connaît leurs conventions de mise en page (taille, fonte, -espacement, etc). - -Un dernier avantage couvre tous les problèmes de numérotation -des paragraphes, de tables des matières, des figures, de -références croisées, de bibliographie, d'index, etc, etc. Toutes -ces aides de lecture sont gérées automatiquement par TeX. -L'auteur a peu à s'en soucier, il n'a qu'à les déclarer. - -En conclusion, vous n'avez qu'à penser au contenu de votre -document, TeX se charge du reste. - -# 1.3 # Quels sont les principes de base de LaTeX ? ---------------------------------------------------- -LaTeX peut être considéré comme un langage de programmation -évolué dans le sens où il s'appuie sur TeX qui est un langage de -plus bas niveau. Langage de programmation signifie également que -le document que l'on veut créer doit être décrit dans un fichier -source (.tex) puis doit être compilé. Ainsi, le compilateur -LaTeX prend en entrée un fichier source écrit en LaTeX et -produit en sortie un fichier .dvi (device independent). Ce -fichier peut ensuite être converti en fichier postscript avant -d'être imprimé. Les fichiers dvi et postscript peuvent être -visualisés à l'écran à l'aide de (pre)viewers. - -L'intérêt du format dvi est qu'il permet à TeX et LaTeX d'être -indépendants du matériel qui sera utilisé pour la visualisation -ou l'impression finale du document. - -Le fichier source (fichier.tex) doit comprendre un certain -nombre de commandes (balises) LaTeX qui vont permettre au -compilateur LaTeX de construire un fichier "device independent" -(.dvi). La plupart des commandes LaTeX se caractérisent par le -fait qu'elles commencent par un "backslash", que leurs -arguments obligatoires apparaissent entre accolades ({ et }) et -que leurs arguments optionnels apparaissent entre crochets ([ et -]). La structure minimale d'un rapport est en LaTeX2e est la -suivante : - -Exemple : -\documentclass{classe} -\begin{document} - Votre texte... -\end{document} -%%%% fin exemple %%%% - -Remarque : Le passage de LaTeX2.09 à LaTeX2e se traduit dans - l'en-tête des documents par : - - \documentclass[options]{class} - \usepackage{style} - \usepackage{package} - - au lieu de : - - \documentstyle[options,styles,packages]{class} - -ATTENTION toutefois, certains styles LaTeX2.09 ne seront pas -reconnus par LaTeX2e. - -Les commandes LaTeX décrivent ainsi la classe d'un document, sa -structure, etc. Les principales classes de document disponibles -sont : 'article', 'report', 'book', 'letter' et 'slides'. Il -existe également un certain nombre d'options qui permettent de -modifier le style par défaut d'une classe (le format a4, la -taille de la fonte 12pt, etc). Ces classes et options -permettent de disposer d'une structure de base pour un -document, mais libre à vous ensuite de définir vos propres -structures grâce aux styles offerts, aux packages disponibles -notamment sur les sites CTAN (cf. paragraphe 3.1) et/ou à vos -propres macros TeX et LaTeX. - -L'intérieur d'un document de classe 'article', 'report' ou -'book' est ensuite structuré grâce aux balises disponibles de -type : -\part{}, \chapter{}, \(sub)*section{}, etc. Les lettres et -les transparents font appel à d'autres structures particulières -(cf. chapitres 19 et 20). - -Les informations présentées dans ces structures peuvent être -mises sous différentes formes grâce à des environnements tels -que tabular ou itemize. - -Exemple : -\documentclass[12pt]{report} -\usepackage{french} - -\title{Mon premier document {\LaTeX} \\ - Qu'il est beau ! !} -\author{C'est moi l'auteur.} - -\begin{document} - -\maketitle -\tableofcontents - -\part{Une partie.} - \chapter{Un chapitre.} - Texte... - \section{Une section.} - Texte... - \section{Une autre section.} - Texte... - \subsubsection{Avec une sous-section.} - Texte... - \subsubsection{Plus une autre.} - \begin{table}[htbp] - \begin{center} - \begin{tabular}{|c||c|} - \hline - donn\'ees & donn\'ees \\ - \hline - \end{tabular} - \caption{Titre table. \label{table-}} - \end{center} - \end{table} -\part{Une courte deuxi\`eme partie.} -Texte... -\appendix -\chapter{Et une annexe pour finir.} -Texte... -\begin{itemize} - \item bla bla 1 - \item bla bla 2 -\end{itemize} -\end{document} -%%%% fin exemple %%%% - -# 1.4 # Qu'est ce que le préambule du fichier source ? ------------------------------------------------------- -Les appels à des packages ainsi que les définitions de -nouvelles commandes sont placés dans le préambule du document -LaTeX (i.e. entre les balises \documentstyle (LaTeX2.09) ou -\documentclass (LaTeX2e) et la commande \begin{document}). - -# 1.5 # Comment faire ses premiers pas ? ----------------------------------------- -En plus de la présentation faite ci-dessus quelques notions -supplémentaires sont utiles à la compréhension de LaTeX. -Celles-ci concernent essentiellement la saisie d'un texte. - -Lors que l'on désire travailler dans une langue comportant des -caractères accentués LaTeX propose des saisies un peu barbares -surtout aux yeux des débutants (\'{e} pour é par exemple) mais -qui permettent de conserver la portabilité du document ainsi -saisi sur tous systèmes (caractères codés sur 7 bits). En -revanche l'utilisation de fontes contenant des caractères -accentués (codées sur 8 bits) réduit cette portabilité (pour -plus de détails lire les questions 11.3 et 28.1). - -Autre remarque importante du point de vue de la gestion des -espaces et des retours chariot inclus dans le fichier -source (.tex) d'un document. LaTeX gère tout seul les espaces : -il est inutile de taper plusieurs espaces de suite entre deux -mots, ils seront transformés en un seul dans le fichier .dvi. - -En outre, UN retour chariot est considéré comme un espace, sauf -s'il est suivi d'un deuxième, il marque alors la fin d'un -paragraphe et le prochain sera indenté. On peut alors sauter -autant de lignes que l'on veut dans le texte, cela n'a aucun -effet supplémentaire. Un passage à la ligne peut être forcé par -\\ ou par \newline mais dans ce cas, la première ligne du -nouveau paragraphe ne sera pas indentée. \\* empêche un saut -de page après le saut de ligne demandé. La commande \par permet -de commencer un nouveau paragraphe en laissant un espace -vertical plus important et en indentant. - -Remarque : la commande \\[lgr]{} peut prendre comme paramètre une - longueur lgr pour augmenter localement un interligne. - -En LaTeX, tout ce qui suit un % n'est pas lu, jusqu'au prochain -retour chariot. (Au passage le caractère % peut alors être -obtenu par \%.) - -# 1.6 # Comment sont gérées les options de package ? ----------------------------------------------------- -Quand on utilise plusieurs packages : -\usepackage{package1,package2} -et que l'on veut utiliser une option du package1 qui n'existe -pas pour le package2, on peut écrire : -\usepackage[option1]{package1} -\usepackage{pckge2} -Cela évite un message du type "unknown option1 for pckge2" qui -peut apparaître quand on écrit -\usepackage[option1]{package1,package2}. - -On peut également écrire : -\documentclass[option1,gnagna]{article} -\usepackage{pckge1,pckge2} -qui permet de conserver l'ordre de chargement des packages mais -pas celui dans lequel seront exécutées les options par tel -package. Les options de classe sont globales et descendent à -toutes les extensions chargées si elles sont définies pour ces -extensions (certaines options sont par nature globales comme -draft, final, french, a4paper, dvips...). - -# 1.7 # Quelle est la structure d'une page LaTeX ? --------------------------------------------------- -La commande \layout du package 'layout' permet de visualiser la -structure d'une page et ses différents paramètres. Globalement -elle est composée du corps du texte, d'une entête et d'un pied -de page. Des marges sont également définies de chaque côté du -corps du texte. - -Exemple : -\documentclass{report} -\usepackage{layout} -\begin{document} -\layout -\end{document} -%%%% fin exemple %%%% - -A chaque classe de documents sont associées différentes valeurs -aux paramètres de mise en page. L'utilisateur peut également -redéfinir ces valeurs de paramètres. Cela lui permet de gérer sa -propre mise en page. Cette FAQ donne un certain nombre de moyens -dans ce but. - -Pour les documents devant être imprimés en recto-verso, -\oddsidemargin définit la marge gauche des pages impaires -(recto), et \evensidemargin la marge gauche des pages paires -(verso). Pour les documents simple face, la commande -\oddsidemargin suffit. - -Les principaux paramètres d'une page sont les suivants : -+ \textheight définit hauteur du texte. -+ \textwidth définit la largeur du texte. -+ \columnsep définit l'espace entre colonnes pour un document -multi-colonnes. -+ \columnseprule définit la largeur de la ligne qui sépare les -colonnes d'un document multi-colonnes (par défaut ce paramètre -vaut 0pt i.e. pas de ligne). -+ \columnwidth définit la largeur d'une colonne. Ce paramètre -est calculé automatiquement par LateX d'après \textwidth et -\columnsep. -+ \linewidth définit la longueur de la ligne courante. Ce -paramètre est généralement utilisé dans des environnements qui -redéfinissent les marges. -+ \evensidemargin définit un espace supplémentaire dans la marge -gauche des pages paires des documents recto-verso. -+ \oddsidemargin définit cet espace pour les pages impaires d'un -document recto-verso ou pour toutes les pages dans le cas d'un -document recto uniquement. -+ \footskip définit la distance entre la dernière ligne du texte -et la première ligne du bas de page. -+ \headheight définit la hauteur de l'entête. -+ \headsep définit la distance entre la dernière ligne d'entête -et la première ligne du corps du document. -+ \topmargin définit un espace supplémentaire au dessus de -l'entête. -+ \marginparpush définit l'espace vertical minimum entre deux -notes de marge. -+ \marginparsep définit l'espace horizontal entre entre le corps -du document et les notes de marge. -+ \marginparwidth définit la largeur des notes de marge. -+ \paperheight définit la hauteur du papier sur lequel le -document sera imprimé. -+ \paperwidth définit sa largeur. - -# 1.8 # Quelles sont les commandes de compilation LaTeX ? ---------------------------------------------------------- -A partir d'un fichier source fichier.tex, pour générer un -fichier fichier.dvi, il faut appliquer : - latex fichier.tex -Lorsqu'une compilation échoue sur une erreur, la ligne où est -située l'erreur est indiquée. L'emplacement de l'erreur dans la -ligne est précisé par un retour à la ligne. Une explication -succincte de l'erreur est également fournie. - -+ La commande ? permet alors d'avoir un menu d'aide. -+ La commande h peut permettre d'avoir une explication plus -détaillée de l'erreur sur laquelle LaTeX s'est arrêté. -+ La commande return peut permettre de forcer la suite de la -compilation. -+ La commande s permet de visualiser les messages d'erreur -suivants. -+ La commande r permet de poursuivre la compilation sans arrêt. -+ La commande q permet de continuer la compilation sans -messages. -+ La commande i permet d'insérer quelque chose (une balise -oubliée par exemple) pour pouvoir poursuivre la compilation. -+ La commande e permet d'éditer le fichier source. -+ La commande x permet d'abandonner la compilation. -+ Un chiffre de 1 à 9 permet d'ignorer les x prochains -caractères du source. - -Lorsque la compilation se termine normalement, elle produit un -fichier fichier.dvi qui peut être visualisé par un utilitaire -tel que : - (UNIX) xdvi fichier.dvi - -A partir d'un fichier fichier.dvi, pour générer un fichier -postscript, il faut utiliser un utilitaire tel que : - (UNIX) dvips fichier.dvi - -Le fichier fichier.ps alors généré peut être imprimé. Par -exemple : (UNIX) lpr -Pimprimante fichier.ps - -# 1.9 # Quels sont les fichiers utilisés par LaTeX ? ----------------------------------------------------- -Il en existe différentes sortes : -+ les fichiers de compilation sont des .tex, .ltx, .toc, .lof, -.lot, .idx, .ilg, .ind, .ist, .bbl, .bib, .blg, .bst, .aux, -.dvi, .log, .texlog, .lis, .list, .ps, -+ les styles où macros sont définis dans des fichiers .cls, -.clo, .dtx, .sty, .fmt, -+ les caractères sont décrits dans des fichiers .tfm, .mf, .fd, -.pk. - -# 1.10 # A quoi correspondent les messages Overfull ? ------------------------------------------------------ -Lorsque LaTeX n'arrive pas à satisfaire tous ses critères de -beauté, il peut avoir à en violer un. Cette entorse est alors -indiquée par un message de type : - Overfull \hbox (4.02349pt too wide) in paragraph at - lines 95-98 -qui précise le type de dépassement, sa valeur et sa -localisation. - -================================================================ -[2] DOCUMENTATION -================================================================ - -# 2.1 # Que puis-je lire sur TeX ? ----------------------------------- -* "The TeXbook", de D. E. Knuth (Addison Wesley, 1984) - -* "Le petit livre de TeX", de R. Seroul, (Interéditions, 1989) - -* "Introduction to TeX", de N. Schwarz (Addison Wesley, 1989) - -* "TeX for the beginner", de W. Snow (Addison Wesley, 1992) - -* "TeX for the impatient", de P. Abrahams, K. Berry et K. -Hargreaves (Addison Wesley, 1990) - -* "The advanced TeX book", de D. Salomon (Springer Verlag, -1995) - -* "La maîtrise de TeX et LaTeX", de T. Lachand-Robert (Masson, -1995). Ce document peut être très utile à ceux qui veulent -programmer/comprendre/adapter des macros/packages TeX. Principalement -orienté vers TeX, quelques rares et courts passages à propos -de LaTeX. - -* "A TeX Primer for Scientists", de S. Sawyer et S. Krantz (CRC -Press,1995) - -* "TeX by example: A Beginner's Guide", de A. Borde (Academic -Press, 1992). - -* "TeX: The Program", de D. E. Knuth (Addison Wesley, 1986) - -* "TeX by Topic" de V. Eijkhout est complémentaire au TeX book. -Il est disponible sur -http://www.cs.utk.edu/~eijkhout/tbt.html. - -# 2.2 # Que puis-je lire sur LaTeX2.09 ? ----------------------------------------- -* "LaTeX, a Document Preparation System", de L. Lamport -(Addison Wesley, 1ère édition) - -* "LaTeX reference manual", de L. Lamport (Addison Wesley) - -* "LaTeX, Manuel utilisateur simplifié", de C. Simian (CNRS) - -* "La maîtrise de TeX et LaTeX", de T. Lachand-Robert (Masson, -1995) - -# 2.3 # Que puis-je lire sur LaTeX2e ? --------------------------------------- -* Le fichier usrguide.tex de la distribution LaTeX décrit les -changements entre LaTeX2.09 et LaTeX2e. - -* "LaTeX, a Document Preparation System", de L. Lamport -(Addison Wesley, 1994- 2nde édition) - -* "The LaTeX companion", de M. Goossens, F. Mittelbach, et A. -Samarin (Addison Wesley, 1994). Pour une présentation plus -complète, consulter : http://www.awl.com/cseng/ - -* "A Guide to LaTeX2e, document preparation for beginners and -advanced users", de H. Kopla & P.W. Daly (Addison Wesley, 1995) - -Remarque : très bien pour qui cherche un guide très complet. En - particulier, il met en permanence l'accent sur ce qui - est différent/spécifique entre LaTeX2e et LaTeX2.09. - -Une nouvelle version existe : -"A Guide to LaTeX: Third Edition - Document Preparation For -Beginners And Advanced Users", de H. Kopla & P.W. Daly -(Addison Wesley, 1999). Pour une présentation plus complète, -consulter : http://www.awl.com/cseng/ - -* "LaTeX guide pratique - version 2e", de C. Rolland, (Addison -Wesley, 1995) - -Une nouvelle version existe : -"LaTeX par la pratique", de C. Rolland (O'Reilly, 1999) -Pour une présentation plus complète, -consulter : http://www.editions-oreilly.fr/catalogue/latex.html - -* "Joli manuel pour LaTeX2e", de B. Bayart. Ce -manuel est disponible sur ftp://ftp.fdn.org/pub/CTAN/info/JMPL.ps.gz. - -* "LaTeX2e, un aperçu", de M. Goossens au CERN disponible sur -http://www.loria.fr/services/tex/. - -* "Apprends LaTeX", de M. Baudoin (manuel de l'ENSTA). Cette -documentation est disponible sur le WEB par ftp sur -ftp://ftp.agm-ita.ensta.fr/pub/babafou/. - -* "Essential LaTeX", de J. Warbrick. Ce document très -pédagogique permet de réaliser un document LaTeX en quelques -minutes. Il est disponible sur CTAN (cf. paragraphe 3.1). - -* M. Herrb a traduit en français "The not so short introduction -to LaTeX2e" de T. Oetiker. La version française est disponible -par ftp sur ftp://ftp.laas.fr/pub/Logiciels/latex/flshort/ ou sur -http://www.laas.fr/~matthieu/cours/latex2e/. Elle comprend -quelque compléments français spécifiques. - -On y trouve: -flshort2e.dvi.gz Le fichier DVI -flshort2e.ps.gz Le fichier PostScript -flshort2e.tar.gz Les sources LaTeX2e - -* "Objectif LaTeX", de V. Gramet et J.P. Regourd (Masson, 1995) - -* "The LaTeX Graphics Companion" de M. Goossens, S. Rahtz et F. -Mittelbach (Addison Wesley, 1997). Pour une présentation plus -complète, consulter : http://www.awl.com/cseng/. - -* "The LaTeX Web Companion", de M. Goossens, S. Rahtz, E. Gurari -et R. Moore (Addison Wesley, 1999). Pour une présentation plus -complète, consulter : http://www.awl.com/cseng/ - -* TeX est intégralement documenté dans le TeX book. Quand on -connaît le TeXbook sur le bout des doigts, on peut lire source2e -disponible à l'adresse : -http://www-fourier.ujf-grenoble.fr/~bouche/PDFtex/source2e.pdf. - -# 2.4 # Que puis-je lire sur AMS-LaTeX ? ----------------------------------------- -* "Math into LaTeX: An Introduction to LaTeX and AMS-LaTeX" de -G. Gratzer (Birkhauser, Boston, 1996). - -* Il existe également une documentation "amsldoc.tex" -disponible sur ftp://ftp.fdn.org/pub/CTAN/latex/packages/amslatex/math/. - -# 2.5 # Que puis-je lire sur la typographie ? ---------------------------------------------- -* "Le développement des caractères", de H. E. Meier, (Syntax -Press, Cham, Suisse). - -* "Pour une sémiologie de la typographie", de G. Blanchard, -(édité par Remy Magermans en Belgique, vendu par "Rencontres de -Lure", BP 533 71010 Macon cedex). -Il s'agit de la partie "illustrations" de la thèse de G. -Blanchard avec quand même un peu de texte... Le texte complet -n'est disponible qu'en italien: "L'eredita Gutenberg", -(Gianfranco Altieri Editore). Ouvrage fondamental... - -* "Manuel de typographie élémentaire", de Y. Perousseaux, -(1995). - -* "La chose imprimée", de Dreyfus et Richaudeau, (Retz, 1985). - -* Lexiques des règles typographiques en usage à l'imprimerie -nationale, ISBN 2-11-081075-0 3ème édition novembre 1990. - -* Voir également les sites : -http://www.csd.uwo.ca/staff/drraymon/typesetting.htm -http://ksi.cpsc.ucalgary.ca/articles/DigitalJ/DigitalJc.html -http://www.ucc.ie/info/TeX/papers/aston.html -http://www.typearts.com/ -http://www.monotype.com/ -http://www.rwsa.com/menu.html - -* Il existe également la lettre "The Newsletter of Digital -Typography". Elle est disponible gratuitement par e-mail à -imprint@macline.com (mettre IMPRINT comme sujet). - -* "The Elements of Typographic Style" de R. Bringhurst. - -# 2.6 # Où trouver une bibliographie complète ? ------------------------------------------------ -http://www.loria.fr/tex/texbib.html propose une bibliographie -tenue à jour. - -# 2.7 # Que puis-je lire sur les fontes ? ------------------------------------------ -* Il existe une FAQ comp.fonts disponible sur : -http://www.ora.com/homepages/comp.fonts/FAQ/. - -* "Metafont", de Knuth D.E. (Addison Wesley Longman). - -* Voir également la note sur les fontes PostScript sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/psnfss/psnfss2e.tex. -================================================================ -[3] SITES WEB -================================================================ - -# 3.1 # Où trouver des infos sur le WEB ? ------------------------------------------ -* CTAN ou Comprehensive TeX Archive Network -Le système CTAN se propose de rassembler diverses informations -concernant TeX et son environnement suivant une organisation -commune. En particulier, tous les sites dits CTAN ou leurs -miroirs essaient de se synchroniser pour offrir des -informations cohérentes. En voici quelques uns : - -+ France : -par ftp sur \ctan{} ou -par ftp sur ftp://ftp.loria.fr/pub/ctan/ ou -par ftp sur ftp://ftp.oleane.net/pub/CTAN/ (pas d'accès -web. Supporte le "quote site exec" et le tar+gz en ligne) -sur http://www.loria.fr/services/tex/ ou -sur http://www.ens.fr/gut/. - -+ Allemagne : -par ftp sur ftp://ftp.dante.de/tex-archive/ ou -par mail à mail-server@ftp.dante.de ou -sur http://www.dante.de/. - -+ Grande-Bretagne -par ftp sur ftp://ftp.tex.ac.uk/tex-archive/ ou -par mail à texserver@tex.ac.uk ou -sur http://www.tex.ac.uk/UKTUG/home.html. - -+ Pays-Bas : -sur http://www.ntg.nl/ntg/ntg.html. - -+ Espagne : -sur http://gordo.us.es/Actividades/GUTH/. - -+ États-Unis : -par ftp sur ftp://ftp.cdrom.com/pub/tex/ctan/ ou -sur http://www.cdrom.com/pub/tex/ctan/. - -Une liste complète des sites CTAN peut être trouvée sur -ftp://ftp.fdn.org/pub/CTAN/usergrps/info/usergrps.tex. - -ATTENTION (08/96) : Le serveur d'archives (La)TeX aux États-Unis, - ftp.shsu.edu, n'étant plus à jour par défaut de - maintenance, il est fortement déconseillé désormais d'y - récupérer des utilitaires (La)TeX. Il reste donc les 2 - serveurs CTAN << de base >>, l'anglais et l'allemand, - ainsi que leurs fidèles copies en France dont celle du - LORIA-CNRS à Nancy : ftp://ftp.loria.fr. - -La plupart des sites CTAN offrent une fonctionnalité QUOTE -SITE INDEX qui permet d'accéder plus rapidement à l'information -que l'on recherche sous forme d'expression régulière. En -France, le mieux est de consulter : -http://www.loria.fr/cgi-bin/ctan-index. - -Remarque : il existe une liste de diffusion des annonces CTAN : - CTAN-Ann@SHSU.edu. Pour s'y abonner, il faut envoyer - un mail à listserv@SHSU.edu. - -* http://www.loria.fr/services/tex/ présente le (La)TeX Navigator. On -peut y trouver de nombreux pointeurs (sur des docs dont cette -FAQ, des personnes, des packages, des outils LaTeX, des sites -ftp, CTAN, ...) et de nombreuses informations concernant Tex, -LaTeX, LaTeX2e, LaTeX3, AMS-LaTeX, BibTeX, SliTeX, .... - -* ftp://ftp.gutenberg.eu.org/pub/gut/ et -http://www.gutenberg.eu.org/ proposent -également de nombreuses informations dont un certain nombre de -distributions pour Mac, PC et stations. Ce site présente -également un certain nombre d'archives et de publications dont -notamment les lettres et les cahiers GUTenberg. - -* Le TeX macro index de D. M. Jones disponible par ftp -anonyme sur ftp://theory.lcs.mit.edu/pub/tex/TeX-index -recense un certain nombre de macros et styles LaTeX -actuellement existants. - -* Autres sources d'informations (résumés de commandes, guides) : -+ http://www.sd.monash.edu.au/~timm/pub/guides/lshort2e.dvi -présente un guide rapide. -+ http://molscat.giss.nasa.gov/LaTeX/ présente un sommaire des -commandes LaTeX -+ http://www.tug.org/interest.html donne des pointeurs sur TeX, -LaTeX et consorts. -+ Sur ftp://ftp.fdn.org/pub/CTAN/info/latex2e-help-texinfo. - -* Un catalogue des outils TeX et LaTeX, mis à jour régulièrement -est disponible sur : -http://www.dit.csiro.au/~gjw/texpkgs.html. - -Ce catalogue présente une liste des packages disponibles avec -une courte description de chacun. Il est mirroré par les sites -CTAN sur ftp://ftp.fdn.org/pub/CTAN/help/Catalogue/. Une version gzip de ce catalogue -est disponible sur : -http://www.cdrom.com/pub/tex/ctan/help/Catalogue/catalogue.html.gz. - -Voici quelques exemples de sites : -+ CTAN américain : -http://www.cdrom.com/pub/tex/ctan/help/Catalogue/catalogue.html. -+ Noeud CTAN britannique : -http://www.tex.ac.uk/tex-archive/help/Catalogue/catalogue.html. -+ Allemagne : -ftp://ftp.dante.de/tex-archive/help/Catalogue/catalogue.html. - -* http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/LaTeX_intro.html -présente une introduction à LaTeX2e et aux mathématiques. - -# 3.2 # Où trouver cette FAQ ? ------------------------------- -* Cette FAQ sera mensuellement postée dans fr.comp.text.tex, dans -fr.usenet.reponses et dans news.answers. Sa parution sera juste -mentionnée dans comp.text.tex. - -* Diverses versions de cette FAQ existent en html ou en -postscript. Notez cependant que ce ne sont _pas_ les dernières -versions. Référez vous au LaTeX Navigator : -http://www.loria.fr/services/tex/divers.html et à : -http://www.limsi.fr/Individu/lebourqu/latex/FAQ-LaTeX.fr.txt. - -* Des versions html sont également disponibles, sans être à jour, -un grand merci à leurs auteurs : -+ P. Girard -http://www.crt.umontreal.ca/~lab_info/latex/faq-francaise/faq.html. -+ F. Torre -http://www.lri.fr/Francais/Recherche/ia/stuff/FAQ-LaTeX. -+ R. Metrich -http://www-ensimag.imag.fr/eleves/Renaud.Metrich/Unix/LaTeX.fr.html. - -* Elle est disponible sur ftp://ftp.fdn.org/pub/CTAN/help/LaTeX-FAQ-francaise/. - -* Elle est également accessible sur le WEB : -+ http://www.loria.fr/tex/divers.html (LaTeX Navigator) -+ http://www.ams.org/tex/ (American Mathematical Society's TeX -Resources pages) -+ par ftp sur ftp://ftp.inria.fr/faq/fr.comp.text.tex/ -(ce site possède entre autres un miroir du site rtfm.mit.edu) -+ par ftp sur -ftp://ftp.univ-lyon1.fr/pub/faq/by-name/fr/faq-latex-francaise/ -+ http://diwww.epfl.ch/~jmonzani/FAQ_LaTeX.html site de l'Ecole -Polytechnique Federale de Lausanne -+ http://www.info.ucl.ac.be/~fp/texfaqfr.html. - -* Par ailleurs, elle est incluse dans certaines distributions -Linux et aussi sur le CD-ROM AsTeX. - -# 3.3 # Existe t'il des listes de discussion francophones ? ------------------------------------------------------------ -* Il existe la liste gut@ens.fr (de l'association GUTenberg) -dont les archives sont stockées sur : -http://www.univ-rennes1.fr/LISTES/gut@ens.fr/arc/maillist.html -et sur lesquelles on peut faire des recherches par auteurs, -sujets, etc. - -+ Pour s'inscrire, envoyer un mail: -To: listserv@ens.fr -From: votre_nom_d'utilisateur@votre.site -Subject: - -subscribe gut Votre_Nom Votre_institution - -+ Pour se désabonner : -mailto:listserv@ens.fr -Subject: -unsubscribe gut - -Voir aussi le site Web de GUTenberg, http://www.gutenberg.eu.org/. - -* Il existe également la liste omega@ens.fr. Cette liste de -diffusion concerne Omega, une extension de TeX développée par -John Plaice et Yannis Haralambous. Pour vous abonner, envoyer un -courrier électronique à listserv@ens.fr, sans sujet ni -signature, dont le corps du message contient exclusivement la -ligne : subscribe omega PRENOM NOM - -* La liste de diffusion « typographie » est consacrée aux -problèmes de composition, de typographie - française ou -étrangère - et de mise en pages, sans exclusive des techniques -employées : du lettrage à la main à la composition numérique en -passant par le plomb, du support papier à la page écran, du -« bon usage » du Code typographique jusqu'aux normalisations du -codage des caractères. - -Ses abonnés ont en commun l'amour de la chose imprimée, y -compris sous ses formes modernes. -Pour s'inscrire, envoyez à - listserv@irisa.fr -le message suivant : - SUBSCRIBE typographie - -# 3.4 # Où trouver d'autres FAQs LaTeX ? ----------------------------------------- -* http://www.cogs.susx.ac.uk/cgi-bin/texfaq2html -* ftp://rtfm.mit.edu/pub/usenet-by-hierarchy/comp/text/tex/ -* sur : -ftp://ftp.fdn.org/pub/CTAN/usergrps/uktug/faq/ -ftp://ftp.fdn.org/pub/CTAN/usergrps/dante/de-tex-faq/ -ftp://ftp.fdn.org/pub/CTAN/help/comp-fonts-FAQ/ -* Le cahier GUTenberg numéro 23 - -================================================================ -[4] SOURCES TEX ET LATEX -================================================================ - -# 4.1 # Où trouver les sources pour Unix ? ------------------------------------------- -* La distribution GUTenberg est disponible par ftp sur -ftp://ftp.gutenberg.eu.org/pub/gut/. Elle est basée sur -MlTeX (adapté à LaTeX2e), TeX, Metafont. Les binaires -sont disponibles pour : -+ Sun4 sous solaris 2.x et SunOS 4.1.x -+ IBM RS6000 sous AIX 3 et 4 -+ Silicon graphics sous irix4, 5 et 6 -+ HP7xx sous Hpux9 et 10 -+ HP9000 en Hpux 10 -+ DECalpha sous OSF/1 -+ DECstation 3100 sous Ultrix -+ PC sous Linux -+ PC i86 en Solaris 2 - -* Différentes distributions source Unix de TeX sont disponibles -sur ftp://ftp.fdn.org/pub/CTAN/systems/unix/. - -* La distribution teTeX pour Unix, Linux ou Irix est disponible -sur ftp://ftp.fdn.org/pub/CTAN/systems/unix/teTeX/distrib/. A l'origine, -cette distribution a été développée pour Linux. Il -existe également un package 'config' qui offre des fichiers de -configuration de cette distribution disponibles sur -ftp://ftp.fdn.org/pub/CTAN/systems/unix/teTeX/contrib/. - -# 4.2 # Où trouver les sources pour VMS ? ------------------------------------------ -* TeX pour VMS est disponible sur ftp://ftp.fdn.org/pub/CTAN/systems/vms/ puis Alpha/ -ou VAX/ suivant l'architecture utilisée. - -* La distribution OpenVMS VAX et AXP de GUTenberg est disponible -par ftp sur ftp://ftp.gutenberg.eu.org/pub/gut/. Elle -s'appuie sur TeX et LaTeX2e. - -# 4.3 # Où trouver les sources pour DOS, OS/2, Windows3.x/95/NT ? ------------------------------------------------------------------ -* Une distribution TeX pour PC, incluant LaTeX, BibTeX, -previewers, et drivers est disponible par ftp anonyme sur -ftp://vax.eedsp.gatech.edu/pub/TeX/. - -* emTeX de E. Mattes, pour PC sous MS-DOS, Windows ou OS/2, est -disponible par ftp anonyme sur ftp://ftp.fdn.org/pub/CTAN/systems/msdos/emtex. -Cette distribution inclut LaTeX, METAFONT, BibTeX, TeXcad... Il -existe également emtexgi sur -ftp://ftp.fdn.org/pub/CTAN/systems/msdos/emtex-contrib/emtexgi/ qui est une interface -Windows pour emTeX. Il existe une liste de discussion emTeX : -majordomo@physik.tu-berlin.de. - -* Une version emTeX francisée de M. Lavaud -(Michel.Lavaud@univ-orleans.fr), distribuée par AsTeX (cf. -question 27.3) est disponible par ftp sur -ftp://ftp.univ-orleans.fr/astex/ ou sur -ftp://ftp.fdn.org/pub/CTAN/PC/AsTeX/. L'installation de la nouvelle version 2.2 est -entièrement automatisée, ainsi que la configuration des pilotes -(dviscr, dviwin, dvips), GSview, Gnuplot et les interfaces -TeXShell, MicroEmacs et MenuTeX. Il y a une fonction -d'installation / desinstallation sélective avec une vingtaine de -types d'installation différents pour installer tout ou partie de -la distribution, et plusieurs modes d'installation (ajouter, -écraser, mettre à jour, désinstaller, module par module). - -Il existe même une liste de discussion AsTeX : -astex@univ-orleans.fr. Pour s'inscrire, il faut envoyer le -message HELP à listserv@univ-orleans.fr. - -* 4AllTeX, très complet, nécessite 4DOS (un remplacement de -command.com) pour l'utilisation de ses .btm (.bat améliorés). -4AllTeX inclut une interface (TeXelmExtel) sous windows (TeX, -LaTeX2e, BibTeX, makeindex, ...) Vous trouverez l'ensemble -sur ftp://ftp.fdn.org/pub/CTAN/systems/. - -* gTeX sous MS-DOS et windows est disponible sur -ftp://ftp.fdn.org/pub/CTAN/systems/msdos/gtex/. Son avantage est de fonctionner en 32bits -à la fois sous Windows (3.x, 95 et NT) et sous Dos via un -extender fourni. Cette distribution comprend micro-emacs, -dviwin, etc. - -* Win32 MiKTeX de C. Schenk, pour windows 95 et NT, est -une version compilée de LaTeX2e (il supporte même les longs -noms de fichiers). MiKTeX est disponible par ftp sur -ftp://ftp.fdn.org/pub/CTAN/systems/win32/miktex/. - -* DOS-GUT (distribution francisée par GUTenberg) est disponible -par ftp sur ftp://ftp.gutenberg.eu.org/pub/gut/PC/DOS-GUT/. -Cette distribution est basée sur gtex et web2c. Elle comprend -l'éditeur TeXshell, TeX, TeX-XeT, plain, LaTeX, babel, -ArabicTeX, dviscr, dvips, metafont et GhostScript. - -Remarque : la distribution DOS-GUT n'est plus activement - développée. Elle a été remplacée par WIN-GUT. - -* WIN-GUT est une version intégrée pour windows 3.1, 95 et NT -par P. Legrand. Elle permet la composition de textes français -(soit avec babel, soit avec french), américain et arabe -(ArabicTeX). Elle comprend DVIWIN, dvips, micro-emacs - -* Il existe également Y&Y TeX System pour Windows. Pour plus -d'informations, vous pouvez consulter le site -http://www.YandY.com/. - -* PCTeX pour DOS, Windows3.1 et Windows95/NT, qui est moins -puissant que le précédent mais qui est très simple à mettre en -place. Pour plus de détails, consulter http://www.pctex.com/. - -* EMTEXGI de A. Cottrell est une nouvelle distribution -disponible à -http://www.wfu.edu/Academic-departments/Economics/ftp/emtexgi.html. - -* F. Popineau a porté la version Unix de TeX (web2c 7, utilisé -par teTeX) sous Win32. Le but final étant de créer une -distribution windows la plus proche possible de teTeX. Cette -distribution s'appelle fpTeX. -Pour plus de détails, consultez: http://www.ese-metz.fr/~popineau/fptex/. - -Cette distribution est native Win32, un peu plus rapide que -MikTeX, moins simple à installer (encore que...), dispose d'un -magnifique pré-visualiseur, windvi, et comporte e-TeX, PDFTeX, -makeindex et latex2html (en bêta). - -# 4.4 # Où trouver les sources pour MacOS ? -------------------------------------------- - -* La "Macintosh TeX/LaTeX Software Page" : -http://www.esm.psu.edu/mac-tex/ est la page de référence pour -les utilisateurs de TeX sous MacOS: les versions les plus -récentes de CMacTeX, OzTex, Direct-TeX Pro et de nombreux -utilitaires (BibTex, MakeIndex, Excalibur (un correcteur -orthographique pour LaTeX), Alpha...) sont disponibles sur cette -page, qui est mise à jour très régulièrement. - -* Texture 2.1 est une version commerciale de TeX, développée par -Blue Sky Research. Pour plus d'informations, vous pouvez consulter -le site http://www.bluesky.com/. - -* CMacTeX 3.3 shareware de de T. Kiffe, comprend TeX, Omega, -pdftex, e-TeX, BibTeX, makeindex, metafont, metapost, deux -previewer dvi, dvips, ps2pdf, un driver PostScript et quelques -utilitaires de gestion de fontes. CMacTeX est disponible sur -ftp://ftp.fdn.org/pub/CTAN/systems/mac/cmactex/. -Pour plus de renseignements, consulter : -http://www.kiffe.com/cmactex.html. - -* OzTex 4.0 de A. Trevorrow, est disponible par ftp sur -ftp://ftp.fdn.org/pub/CTAN/systems/mac/oztex/. -Cette distribution shareware nécessite 3,5 Mo de mémoire vive. -Elle intègre un previewer dvi, BibTeX, makeindex, metafont, -metapost, dvips ainsi que TtH (TeX to html, d'Hutchinson). Une -version shareware de pdfTeX pour OzTeX a été développée par -T. Kiffe. PdfTeX pour OxTeX est disponible à l'adresse -http://www.kiffe.com/pdftexoz.html. - -* Direct-TeX Pro 2.1.2 de W. Ricken, est une distribution -shareware qui possède un environnement intégré et multi-fenêtre -très pratique, modulable de surcroît. Elle intègre TeX--XeT -3.14159 ainsi que Metafont 2.718, et tous les utilitaires qui -permettent de passer en une passe d'un source (La)TeX au .ps -final. Il y a même un éditeur intégré, quoique petit. -Direct-TeX est disponible sur -ftp://ftp.fdn.org/pub/CTAN/systems/mac/directtex/. -Elle nécessite le système 7 et 8Mo de mémoire vive. - -* Euro-Oztex de Y. Haralambous, est la distribution -proposée par GUTenberg. Cette version francisée appelle une -contribution shareware à Trevorrow et Ricken. Elle est -disponible par ftp sur -ftp://ftp.gutenberg.eu.org/pub/gut/MAC/Euro-OzTeX/. - -Remarque : Euro-Oztex est une vieille version de la distribution - de GUTenberg. Elle utilisait OzTeX 1.7. Elle a été - remplacée récemment par Mac-GUT, qui elle utilise - CMacTeX. - -* Mac-GUT, basée sur CMacTeX, est la distribution shareware -proposée par GUTenberg (donc francisée). Elle n'est disponible -à l'heure actuelle que sur le cd-rom TeX-Live distribué par -GUTenberg à ses adhérents. Pour plus de détails, consulter : -http://www.tug.org/texlive.html. - -# 4.5 # Où trouver d'autres sources ? -------------------------------------- -* Atari -TeX pour Atari ST est disponible par ftp sur -ftp://atari.archive.umich.edu/atari/tex/ ou sur -ftp://ifi.informatik.uni-stuttgart.de/pub/atari.st/tex/ ou sur -ftp://ftp.fdn.org/pub/CTAN/systems/atari/. Pour tous renseignements contacter -atari@atari.archive.umich.edu par un mail "help". - -* Amiga -+ PasTeX, implémentation de TeX 3.1 et METAFONT 2.7 sont -disponibles par ftp anonyme sur ftp://merlin.etsu.edu/ab20/AMIGA/ -ou sur ftp://forwiss.uni-passau.de/pub/amiga/tex/ ou sur -ftp://ftp.fdn.org/pub/CTAN/systems/amiga/. - -+ On peut trouver également PasTeX 1.4 sur les miroirs FTP -aminet (sunsite.cnam.fr. ftp.grolier.fr, ftp.netnet.net, ...) -dans le répertoire /pub/aminet/text/tex/. PasTeX 1.4 est le -portage de LaTeX2e. La distribution comprend également dvips. - -+ XFig est disponible dans /pub/aminet/gfx/edit/. - -+ Ghostscript est disponible dans /pub/aminet/gfx/show/. - -+ Une version LaTeX2e a également été développée à l'ESIEE -http://www.esiee.fr/~tex/Install/Amiga/index.html. - -* Tandy 6000 -Pour tous renseignements contacter Ken Yap -(ken@syd.dit.csiro.au). - -* TOPS-20 -Une distribution TeX sur TOPS-20 est disponible par ftp -anonyme sur ftp://ftp.math.utah.edu/pub/tex/pub/web/. - -================================================================ -[5] ÉDITER LATEX -================================================================ - -Les éditeurs ci-dessous sont classés par ordre alphabétique sur -le nom, afin d'éviter toute dispute sur la place de l'un ou -l'autre. - -* Alpha est un éditeur Macintosh shareware assez proche d'emacs. -Il est disponible entre autres par ftp sur -ftp://alpha.olm.net/pub/. - -Cet éditeur est hautement configurable grâce à un langage de -programmation intégré, Tcl. Il possède entre autres un mode -LaTeX très convivial. Alpha permet aussi une interaction avec le -compilateur (Texture (commercial), CMACTEX, OzTex ou Direct-Tex) -en lançant la compilation d'une combinaison de touches. La -dernière version d'Alpha est la 7.2. Elle comprend la version 3.2 -des macros freeware Alpha LaTeX de T. Scavo. - -Pour plus de renseignements, voir http://alpha.olm.net/. - -* Cicero est un traitement de texte sous X11R6 et Motif2.0. Le -package comprend des fontes X postscript, ghostscript, TeX -(dvips) et Cicero. Pour plus de renseignements, consulter : -http://zeus.informatik.uni-frankfurt.de/~weis/cicero.html. - -* Eddi4TeX, sous MS-DOS ou OS/2, est un éditeur spécifiquement -conçu pour TeX, il offre la couleur, vérifie la syntaxe. Il -est disponible sur ftp://ftp.fdn.org/pub/CTAN/systems/msdos/e4t/ ou dans -ftp://ftp.fdn.org/pub/CTAN/systems/OS2/epmtex/. - -* (X-)Emacs est un éditeur sous Unix qui offre en standard un -mode d'édition, un peu fruste mais néanmoins pratique, -facilitant la composition de documents (La)TeX. Une extension à -emacs, AUC-TeX (disponible sur ftp://ftp.fdn.org/pub/CTAN/support/auctex/ ou sur -http://sunsite.auc.dk/auctex/), fournit de nombreuses facilités -supplémentaires (indentation automatique, messages d'erreur en -anglais compréhensible, gestion des documents multi-fichiers, -etc.) - -Emacs reconnaît automatiquement certaines extensions -(tex,sty...) dans un nom de fichier, et active le mode en -question automatiquement. Si votre fichier n'est pas reconnu -comme un document (La)TeX, vous pouvez spécifier sur la première -ligne de votre fichier : % -*-latex-*- - -Les packages 'font-lock' et 'hilit19' ('hilit319' pour Xemacs) -ou plus récent 'font-latex' (basé sur font-lock), permettant de -choisir les couleurs et les polices mettant en évidence la -syntaxe d'un fichier, sont utilisables avec les modes (La)TeX. -Pour plus de détails, voir: ftp://ftp.fdn.org/pub/CTAN/support/ultratex/. - -Le package (standard) 'imenu' donne accès à un menu listant les -en-têtes de section du document, et permet de retrouver -celles-ci facilement dans un grand document. Une extension à ce -mécanisme permet de mieux visualiser la structure du document, -en indentant les sous-sections. - -* Funtek, de V. Vidal, sous X-Windows system et Motif, est un -éditeur texte orienté LaTeX; il traite le source LaTeX page à -page, permet un accès aux symboles spéciaux, et une construction -de tableaux automatique. La version actuelle est une bêta. - -* GNU emacs et AUCTeX peuvent également être utilisés sous -MS-DOS ou OS/2. - -* JED est un clone multi-plateformes proche d'emacs. JED est en -fait un emacs allégé qui offre des facilités dans l'édition de -fichier (La)TeX. Il tourne sous Unix/VMS/Dos/Win. Il est -disponible à http://space.mit.edu/~davis/. - -* LyX est un traitement de texte sous X11 qui offre une sortie -LaTeX2e. Il est presque WYSIWYG. LyX présente les avantages -d'être petit, rapide et gratuit. LyX est encore en développement. -Une version NON définitive est disponible à http://www.lyx.org/ ou -par ftp sur ftp://ftp.lip6.fr/pub/linux/sunsite/X11/xapps/editors/ ou -par ftp sur ftp://ftp.lyx.org/pub/lyx/ ou sur le web par -http://www.lehigh.edu/~dlj0/LyriX.html. -Il existe également une liste de discussion : lyx@lyx.org. - -Parmi les fonctionnalités, on trouve: -- éditeur d'équations, -- éditeur de tables, -- inclusion d'images au format EPS, -- correction d'orthographe, -- etc. - -Les dernières docs sont disponibles par ftp sur -ftp://ftp.lyx.org/pub/lyx/doc/. - -* MicroEmacs (inclu dans la distribution DOS-GUT), sous windows, -permet d'éditer et de gérer des documents TeX. - -* NEdit est un éditeur entièrement conçu sous X dès le début. -Il offre des "look and feel" semblables aux éditeurs qu'on -trouve sur Windows et Mac, par ex, les touches de raccourcis -standards sont Ctrl+X pour couper, Ctrl+C pour copier, Ctrl+V -pour coller. Ainsi, les nouveaux utilisateurs immigrés des -autres système d'exploitation n'auront pas trop de mal à -réadapter facilement NEdit. C'est un éditeur très -configurable, par ex la police des caractères, les couleurs -(enfin, parfois il faut être un peu bidouilleur aussi :) ). -C'est un éditeur à usage général. Il n'est pas seulement -utile pour LaTeX. - -L'origine de cette discussion est de trouver un remplaçant -de Kedit pour Dos. Je suppose que ce programme a pas mal de -fonctions qu'on ne trouve pas ailleurs, ni sous NEdit. Mais il -est possible de programmer la plupart (si ce n'est pas tout) de -ces fonctions sous NEdit à l'aide de macro. - -(Ce message, de Seak Teng-Fong, seak.teng-fong@iname.com, a été -abrégé, pour le message complet, référez vous à Message-ID: -<3881E519.437B2409@iname.com>). - -Pour plus de détails sur NEdit: http://www.nedit.org. -NEdit est sous licence GPL. - -* Scientific Word pour windows est un éditeur qui permet presque -de visualiser un document LaTeX en WYSIWYG (What You See Is What -You Get). Il facilite l'édition d'un document LaTeX en -permettant une insertion aisée des symboles, l'édition de -tableaux, ... par le "mulot" ou par raccourcis clavier. Pour -l'utiliser pleinement, il vaut mieux connaître LaTeX. - -Remarque : ce produit est commercial et cher. - -* STEAD "Sympathetic Tk-based Editor for Average Dummies" -est un éditeur de texte convivial pour Unix (ressemble -à Alpha sur mac). Il est simple d'utilisation, contextuel et -configurable. -Recherche/remplacement pouvant utiliser les expressions régulières - -undo/redo multiniveau - colorisation - transformation possible de la -sélection (y compris rectangulaire) par une commande Unix - ... - -La particularité de cet éditeur est qu'il est entièrement interprété ! -En effet, il est écrit en langage TCL et TK. -Necessite l'ancienne version wish3.6 (sources et binaire fournis). - -Disponible sur : http://www.ensta.fr/~diam/stead/ -Contact: Maurice DIAMANTINI <diam@ensta.fr> - -* TeXnicCenter, écrit par Sven Wiegand, est disponible sur -ftp://ftp.fdn.org/pub/CTAN/systems/win32/TeXnicCenter/. C'est un environnement -de développement intégré (IDE en anglais) LaTeX pour Windows -distribué sous liscence GPL. L'interface est très proche de celle -que l'on peut trouver dans des outils du style de MS Visual Studio. -Bien qu'encore à l'état de bêta, il offre la coloration des mots clés, -une gestion aisée de larges projets, une vue structurée des fichiers, -des sections du document, des flottants et plein d'autres fonctionnalités -fort intéressantes. Le correcteur orthographique est prévu pour la -prochaine bêta. Pour plus d'infos, vous pouvez consulter sa page web : -http://www.toolscenter.org/texniccenter/index.html. - -* TeXShell, écrit par J. Schlegelmilch, est disponible sur -ftp://ftp.fdn.org/pub/CTAN/systems/msdos/texshell/ts271.zip. C'est un éditeur Windows -sous dos qui offre une coloration des mots clés LaTeX, une aide -en ligne et d'autres petites fonctionnalités telles que les -compilations associées à des boutons. La distribution DOS-GUT -utilise TeXshell et offre un MicroEmacs francisé. - -Il existe également TeXShell pour X Window system (Tcl/Tk) -disponible par ftp sur -ftp://sunsite.unc.edu/pub/Linux/apps/tex/. - -* ViM, développé par Bram Moolenaar, dispose dans sa dernière -version de la coloration syntaxique, à l'instar d'emacs; à noter -cependant la légèreté de ViM par rapport à l'usine à gaz -GNUienne. Vous trouverez plus d'infos sur ViM sur -http://www.vim.org/ ou par ftp sur ftp://ftp.vim.org/pub/vim/ -(également reflété par ftp.lip6.fr). - -* WINEDT95,logiciel Shareware pour Windows 95, est un éditeur -avec menu TeX/LaTeX qui permet de repérer les commandes LaTeX et -de compter les délimiteurs. Il est disponible sur -ftp://ftp.fdn.org/pub/CTAN/support/winedt/. Il est pourvu d'un correcteur -orthographique. - -* wintex95 disponible sur ftp://ftp.fdn.org/pub/CTAN/systems/win32/wtex95/ est -un éditeur flexible offrant un coloriage automatique de la -syntaxe LaTeX. Il offre également une complétion automatique, -et des palettes de symboles, un éditeur de tableaux, des -touches de raccourci, le lancement de programmes externes, etc. -C'est un shareware. - -* Xcoral, éditeur sous Unix offre des fonctionnalités de même -type que emacs mais non interactives. Il est disponible par ftp -sur ftp://ftp.inria.fr/X/contrib-R5/clients/ ou sur -ftp://ftp.x.org/contrib/. - -Xcoral est un éditeur multi-fenêtres pour X Window System, -offrant un certain nombre de facilités notamment pour écrire -des programmes perl, ada, fortran, C, C++, java ainsi que des -documents LaTex ou HTML. - -Cet éditeur comprend un interpréteur Ansi C 'built-in' qui -permet aux utilisateurs d'étendre ses fonctionnalités -facilement. Un manuel d'aide complet indexé est disponible -on-line. - -* X-Window Shell pour TeX (OpenLook ou Xaw/Xaw3d) disponible sur -http://www.tm.bi.ruhr-uni-bochum.de/personal/marc/xtexshell.html. - -* xtem: une interface graphique offrant des fonctionnalités -TeX/LaTeX disponible sur -http://ftp.lrw.uni-bremen.de/xtem/xtem_texmenu.html. - -* D'autres éditeurs sous dos, Mac et windows95 sont présentés -dans http://www.jumbo.com/. - --- -Benjamin Bayart -bayartb@edgard.fdn.fr diff --git a/Master/texmf-doc/doc/french/FAQ-fr/part2 b/Master/texmf-doc/doc/french/FAQ-fr/part2 deleted file mode 100644 index 6cec50fa9f2..00000000000 --- a/Master/texmf-doc/doc/french/FAQ-fr/part2 +++ /dev/null @@ -1,2956 +0,0 @@ -Path: tempo.univ-lyon1.fr!univ-lyon1.fr!howland.erols.net!dispose.news.demon.net!demon!grolier!fr.usenet-edu.net!usenet-edu.net!teaser.fr!fdn.fr!edgard.fdn.fr!not-for-mail -Date: 08 Jun 2001 13:31:17 +0200 -Newsgroups: fr.comp.text.tex,fr.usenet.reponses -Subject: [FAQ] fr.comp.text.tex - partie 6 -Message-ID: <faq-fctt-p220010608133117@edgard.fdn.fr> -X-Posted-By: poste.sh version 1.1 -From: bayartb@edgard.fdn.fr (Nono le robot) -Supersedes: <faq-fctt-p220010501143416@edgard.fdn.fr> -Expires: 08 Jul 2001 13:31:17 +0200 -Followup-To: poster -Organization: French Data Network -Approved: bayartb@edgard.fdn.fr -Lines: 2947 -Xref: tempo.univ-lyon1.fr fr.comp.text.tex:23525 fr.usenet.reponses:20391 - -Archive-name: fr/faq-latex-francaise/part2 - -Author: Marie-Paule Kluth -Posting-Frequency: mensuel (monthly) -Version: 2.27 - -================================================================ - Cette FAQ, rédigée initialement par MP Kluth est maintenant - tenue à jour autant que possible par B. Bayart et - plusieurs volontaires (voir question [30]). -================================================================ - -================================================================ -[6] GESTION DE LA MISE EN PAGE -================================================================ - -# 6.1 # Comment modifier l'interligne d'un document ? ------------------------------------------------------ -* Pour modifier l'espace interligne d'un document on peut -utiliser la commande \linespread (solution non recommandée). -Par exemple, \linespread{1.6} permet de doubler l'intervalle -par défaut. - -* \renewcommand{\baselinestretch}{1.2} placé dans le -préambule permet d'obtenir le même résultat pour tout le -document. - -* Il existe également les packages 'doublespace' (pour -LaTeX2.09) et 'setspace' (pour LaTeX2e) disponibles sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex2.09/contrib/misc/ pour l'un et -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/ ou -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/setspace/ pour l'autre. -setspace.sty définit les environnements singlespace, -onehalfspace et doublespace. L'utilisation de ces styles est -recommandée parce que plus robuste (gestion des tableaux, des -notes de bas de page, ...). - -* Pour réduire l'interligne d'un paragraphe (à celui de small -par exemple) sans modifier la taille de la fonte on peut -utiliser \small{\normalsize texte à interligne réduit}\par ou -encore {\advance\baselineskip -1pt le texte \par}. - -* Localement, on peut également utiliser la commande -\baselineskip de la manière suivante : - -Exemple : -{\setlength{\baselineskip}{1.2\baselineskip} -Texte affecté -\par} %%% <= terminer le paragraphe -%%%% fin exemple %%%% - -# 6.2 # Comment gérer un document recto-verso ? ------------------------------------------------ -* LaTeX2e prévoit directement les options de classe twoside et -openright. - -Exemple : -\documentclass[twoside,openright]{report} -%%%% fin exemple %%%% - -* En LaTeX 2.09 il faut passer twoside comme option de la -commande documentstyle. Ensuite, pour forcer les entêtes de -chapitre à commencer sur une page impaire, il faut inclure la -commande \cleardoublepage avant chaque début de chapitre. - -Exemple : -\documentstyle[twoside]{report} - -\begin{document} -\cleardoublepage -\chapter{Introduction.} - Texte. - -\cleardoublepage -\chapter{Thèse.} - Texte. - -\end{document} -%%%% fin exemple %%%% - -* Il existe également la macro suivante qui redéfinit la -commande \cleardoublepage pour que les pages insérées soient -vides (i.e. sans entête ni bas de page). -%%%% debut macro %%%% -% whitecdp (formerly schulzrinne.sty) --provide for blank pages -% between chapters -% This redefinition of the \cleardoublepage command provides -% for a special pagestyle for the "extra" pages which are generated -% to ensure that the chapter opener is on a recto page. -% The pagestyle is "chapterverso"; for many publishers, this should be -% identical to "empty", so that's the default. -\def\cleardoublepage{\clearpage - \if@twoside - \ifodd\c@page\else - \null\thispagestyle{chapterverso}\newpage - \if@twocolumn\null\newpage\fi - \fi - \fi - }% -\def\ps@chapterverso{\ps@empty}% -%%%% fin macro %%%% - -# 6.3 # Comment modifier le style des titres ? ----------------------------------------------- -* Les définitions de \section, \sub(sub)section, etc, se -trouvent dans les fichiers .cls (report.cls, article.cls, -book.cls). - -ATTENTION : Il est vivement conseillé de ne pas modifier - directement ces classes mais de redéfinir - un fichier.sty avec les nouvelles commandes ou - d'utiliser \makeatletter et \makeatother. - -Exemple : -La syntaxe de définition d'une nouvelle section est : -\renewcommand\section{\@startsection {section}{1}{\z@}% - {-3.5ex \@plus -1ex \@minus -.2ex}% - {2.3ex \@plus.2ex}% - {\reset@font\Large\bfseries}} - -Explication : -+ La commande \@startsection permet de gérer : la table des - matières, la numérotation des titres, les références, - les titres des sections dans l'en-tête, etc... -+ {section} indique qu'il s'agit d'une section -+ {1} indique son niveau dans la table des matières -+ {\z@} indique son niveau d'indentation (zéro) -+ {-3.5ex \@plus -1ex \@minus -.2ex} définit l'espace qui sera - ajouté au dessus du titre -+ {2.3ex \@plus.2ex} définit l'espace qui sera ajouté en dessous - du titre. Si ce nombre est négatif alors il s'agit d'un - espacement horizontal, pour avoir des titres "en ligne", - comme ça : - Titre de ma section. Nous allons parler... bla, - bla, bla... -+ \@plus et \@minus permettent de jouer sur l'élasticité de ces - espaces -+ {\reset@font\Large\bfseries} sont les commandes de mises en - forme du titre. -%%%% fin exemple %%%% - -* Pour augmenter l'espace avant une section il suffit, par -exemple, d'écrire, dans le préambule du document : - -%%%% debut macro %%%% -\makeatletter -\renewcommand\section{\@startsection{section}{1}{\z@}% - {2cm \@plus -1ex \@minus -.2ex}% - {2.3ex \@plus.2ex}% - {\reset@font\Large\bfseries}} -\makeatother -%%%% fin macro %%%% - -* Le package 'sfheaders' de M. Loreti, ci dessous met les titres -dans une fonte sans serif quelle que soit la classe de -document utilisée. Pour l'utiliser, il suffit de sauvegarder les -macros suivantes dans un fichier SFheaders.sty et d'appeler -\usepackage{SFheaders}. - -%%%% debut macro %%%% -% Package: SFheaders.sty -% Sans-Serif headers; modified from {book|report|article}.cls -% defaults. -% Last modified: MLO 1997-05-06 -% -% Author: Maurizio Loreti, aka MLO or (HAM) I3NOO -% Work: University of Padova - Department of Physics -% Via F. Marzolo, 8 - 35131 PADOVA - Italy -% EMail: loreti@padova.infn.it -% WWW: http://wwwcdf.pd.infn.it/~loreti/mlo.html - -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{sfheaders}[1997/05/06 Sans-Serif headers] - -\@ifclassloaded{article}{ -% Here if \documentclass{article} - \def\@part[#1]#2{% - \ifnum \c@secnumdepth >\m@ne - \refstepcounter{part}% - \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% - \else - \addcontentsline{toc}{part}{#1}% - \fi - {\parindent \z@ \raggedright - \interlinepenalty \@M - \normalfont - \ifnum \c@secnumdepth >\m@ne - \Large \sffamily \bfseries \partname~\thepart - \par\nobreak - \fi - \huge \sffamily \bfseries #2% - \markboth{}{}\par}% - \nobreak - \vskip 3ex - \@afterheading} - \def\@spart#1{% - {\parindent \z@ \raggedright - \interlinepenalty \@M - \normalfont - \huge \sffamily \bfseries #1\par}% - \nobreak - \vskip 3ex - \@afterheading}} -{\@ifclassloaded{book}{ -% Here if \documentclass{book} - \def\@part[#1]#2{% - \ifnum \c@secnumdepth >-2\relax - \refstepcounter{part}% - \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% - \else - \addcontentsline{toc}{part}{#1}% - \fi - \markboth{}{}% - {\centering - \interlinepenalty \@M - \normalfont - \ifnum \c@secnumdepth >-2\relax - \huge \sffamily \bfseries \partname~\thepart - \par - \vskip 20\p@ - \fi - \Huge \sffamily \bfseries #2\par}% - \@endpart} - - \def\@spart#1{% - {\centering - \interlinepenalty \@M - \normalfont - \Huge \sffamily \bfseries #1\par}% - \@endpart} - - \def\@makechapterhead#1{% - \vspace*{50\p@}% - {\parindent \z@ \raggedright \normalfont - \ifnum \c@secnumdepth >\m@ne - \if@mainmatter - \huge \sffamily \bfseries \@chapapp\space \thechapter - \par\nobreak - \vskip 20\p@ - \fi - \fi - \interlinepenalty\@M - \Huge \sffamily\ bfseries #1\par\nobreak - \vskip 40\p@ - }} - - \def\@makeschapterhead#1{% - \vspace*{50\p@}% - {\parindent \z@ \raggedright - \normalfont - \interlinepenalty\@M - \Huge \sffamily \bfseries #1\par\nobreak - \vskip 40\p@ - }} -}{ -% Here if none of the above (\documentclass{report} ?) - \def\@part[#1]#2{% - \ifnum \c@secnumdepth >-2\relax - \refstepcounter{part}% - \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% - \else - \addcontentsline{toc}{part}{#1}% - \fi - \markboth{}{}% - {\centering - \interlinepenalty \@M - \normalfont - \ifnum \c@secnumdepth >-2\relax - \huge \sffamily \bfseries \partname~\thepart - \par - \vskip 20\p@ - \fi - \Huge \sffamily \bfseries #2\par}% - \@endpart} - - \def\@spart#1{% - {\centering - \interlinepenalty \@M - \normalfont - \Huge \sffamily \bfseries #1\par}% - \@endpart} - - \def\@makechapterhead#1{% - \vspace*{50\p@}% - {\parindent \z@ \raggedright \normalfont - \ifnum \c@secnumdepth >\m@ne - \huge \sffamily \bfseries \@chapapp\space \thechapter - \par\nobreak - \vskip 20\p@ - \fi - \interlinepenalty\@M - \Huge \sffamily \bfseries #1\par\nobreak - \vskip 40\p@ - }} - - \def\@makeschapterhead#1{% - \vspace*{50\p@}% - {\parindent \z@ \raggedright - \normalfont - \interlinepenalty\@M - \Huge \sffamily \bfseries #1\par\nobreak - \vskip 40\p@ - }} -}} - -\renewcommand{\section}{\@startsection {section}{1}{\z@}% - {-3.5ex \@plus -1ex \@minus -.2ex}% - {2.3ex \@plus.2ex}% - {\normalfont\Large\sffamily\bfseries}} - -\renewcommand{\subsection}{\@startsection{subsection}{2}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\normalfont\large\sffamily\bfseries}} - -\renewcommand{\subsubsection}{\@startsection{subsubsection}{3}% - {\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\normalfont\normalsize\sffamily\bfseries}} - -\renewcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}% - {3.25ex \@plus1ex \@minus.2ex}% - {-1em}% - {normalfont\normalsize\sffamily\bfseries}} - -\renewcommand{\subparagraph}{\@startsection{subparagraph}{5}% - {\parindent}% - {3.25ex \@plus1ex \@minus .2ex}% - {-1em}% - {\normalfont\normalsize\sffamily\bfseries}} -\endinput - -%% -%% End of `SFheaders.sty'. -%%%% fin macro %%%% - -* Le package 'fncychap' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/fncychap/ propose un -ensemble d'entêtes de chapitre prédéfinies. - -# 6.4 # Comment obtenir un document multicolonnes ? ---------------------------------------------------- -* L'option standard twocolumn permet de présenter un texte sur -deux colonnes verticales. - -Exemple : -\documentclass[twocolumn]{article} -\usepackage{french} - -\begin{document} - -Voici un texte sur deux colonnes que \LaTeX n'équilibre pas -par lui-même (il remplit les colonnes les unes après les -autres). L'espace entre les colonnes peut être modifié comme -indiqué plus loin. Une ligne de séparation des colonnes peut -également être insérée. - -\end{document} -%%%% fin exemple %%%% - -* Pour agir localement, on peut utiliser les commandes : -\twocolumn[texte sur une colonne]{texte sur deux colonnes} -puis \onecolumn{Texte sur une colonne} ou plus généralement -\twocolumn et \onecolumn. - -Pour une meilleure lisibilité du source, on peut également -utiliser les environnements correspondants. - -Exemple : -\documentclass{article} -\usepackage{french} - -\begin{document} - -Dans la classe article, le texte est, par défaut, mis en page -sur une seule colonne. Il est toutefois possible de passer -temporairement sur deux colonnes. - -\twocolumn[Un titre sur une colonne, un peu long pour le -prouver.]{Et voici enfin un texte sur deux colonnes~; comme -promis~! Encore une fois, \LaTeX n'équilibre pas le -remplissage des deux colonnes si bien qu'il est obligé pour -chaque changement de colonnage de changer de page.} - -\onecolumn -Ceci permet de repasser sur une colonne pour la suite du -document. - -\begin{twocolumn} - Encore quelques mots sur deux colonnes. Même si le texte est - trop court pour voir apparaître la deuxième colonne. -\end{twocolumn} -\end{document} -%%%% fin exemple %%%% - -* Le package 'multicol', disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/tools/, définit l'environnement -multicols qui permet de redéfinir localement le nombre de -colonnes désirées (10 maximum). Lorsqu'une page n'est pas -complète, le texte apparaît réparti sur toutes les colonnes. -Ainsi chaque changement de colonnage n'entraîne plus un -changement de page. - -Exemple : -\documentclass{article} -\usepackage{multicol} -\usepackage{french} -\setlength{\columnseprule}{0.5pt} -\begin{document} - -\begin{multicols}{3}[Titre sur une seule colonne.] - 3~colonnes équilibrées, 3~colonnes équilibrées, 3~colonnes - équilibrées, 3~colonnes équilibrées -\end{multicols} - -\begin{multicols}{2}[\section{Titre numéroté.}] - blabla sur deux colonnes, c'est plus sérieux. C'est le - style qui est généralement utilisé pour écrire des - articles. -\end{multicols} -\end{document} -%%%% fin exemple %%%% - -Pour ajouter un titre numéroté qui apparaisse sur toute la -largeur de la page, il faut utiliser l'option [\section{Titre.}] -juste après \begin{multicols}{nb-col}. - -Remarques : -+ Pour qu'une ligne de séparation apparaisse entre les -colonnes, il faut utiliser : \setlength{\columnseprule}{1pt}. - -+ Pour redéfinir la largeur de l'espace inter-colonnes, il faut -utiliser \setlength{\columnsep}{30pt}. - -# 6.5 # Comment composer une brochure ? ---------------------------------------- -* Pour redéfinir un format de page, (par exemple un A4 plié en -trois), il faut utiliser la commande \setlength. Il suffit de -savoir quelles sont les longueurs à préciser, le meilleur moyen -pour ce faire est de les visualiser avec la commande \layout -(définie par le package 'layout' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/tools/). - -%%%% debut macro %%%% -% (Th. Bouche) -\ProvidesPackage{a6size} -% rien a voir avec la taille : ajustement du \baselineskip -\renewcommand\normalsize{% - \@setfontsize\normalsize\@xiipt{13.5}% - \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@ - \abovedisplayshortskip \z@ \@plus3\p@ - \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@ - \belowdisplayskip \abovedisplayskip - \let\@listi\@listI} -\renewcommand\small{% - \@setfontsize\small\@xipt{12.4}% - \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@ - \abovedisplayshortskip \z@ \@plus3\p@ - \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@ - \def\@listi{\leftmargin\leftmargini - \topsep 9\p@ \@plus3\p@ \@minus5\p@ - \parsep 4.5\p@ \@plus2\p@ \@minus\p@ - \itemsep \parsep}% - \belowdisplayskip \abovedisplayskip} -\normalsize - -\setlength\paperheight {148mm}% -\setlength\paperwidth {105mm}% -%\voffset-1cm -%\hoffset-2cm -\setlength{\topmargin}{-1.3cm}% -\setlength{\oddsidemargin}{-.5cm}% -\setlength{\evensidemargin}{-1cm}% -\setlength{\marginparsep}{0\p@}% -\setlength{\headsep}{0\p@}% -% calcule la hauteur du texte en fonction du \baselineskip, pour -% que les lignes soient placées au même niveau sur toutes les pages -\setlength{\textheight}{\topskip} -\addtolength{\textheight}{22\baselineskip}% -\setlength{\textwidth}{7cm}% -\setlength{\footskip}{23\p@}% (originellement : 48) -%\setlength{\baselineskip}{13\p@}% -%\setlength{\marginparwidth}{0\p@} % -%\addtolength{\baselineskip}{.2\baselineskip}% -\setlength{\parindent}{0\p@} -%\addtolength{\headsep}{\headsep} -%\setlength{\push@skip}{.2\textwidth} -\newenvironment{page}{\vspace*{\stretch{1}}} -{\vspace*{\stretch{2.5}}\newpage} -\pagestyle{plain} -%%%% fin macro %%%% - -Il faut ensuite opérer ce que les imprimeurs appellent une -imposition : imprimer la page tant à tel endroit de la x-ième -feuille de telle sorte qu'il n'y ait plus qu'à plier la liasse -pour obtenir un livre prêt à être relié. Cette étape est facile -à réaliser soit à l'aide de dvidvi (mais qui n'autorise pas les -rotations, ce qui peut en limiter l'intérêt pour des formats -spéciaux) soit avec pstops : -pstops "2:0L@.7(21cm,0)+1L@.7(21cm,14.85cm)" un.ps deux.ps -disponible sur ftp://ftp.fdn.org/pub/CTAN/support/psutils/. - -* L'option a5paper de LaTeX2e permet également de faire cela. -Il faut ensuite utiliser dvidvi et dvips en -t landscape. dvips -est disponible entre autres par ftp sur -ftp://ftp.gutenberg.eu.org/pub/gut/sources/. - -* Le package 'a5booklet' est disponible sur -ftp://ftp.fdn.org/pub/CTAN/dviware/a5booklet/. - -* Consulter également le package '2up' pour LaTeX2e. - -* Le package 'poligraf' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/TeX-PS/cmyk-hax/ permet d'agir sur la mise en page -d'un document avant impression. - -* psnup et psbook peuvent également permettre de faire de la -composition mais il vaut alors mieux travailler avec des polices -postscript. Ces utilitaires sont accessibles via : -http://www.dcs.ed.ac.uk/home/ajcd/psutils/. - -Exemple (J.A. Ferrez) : -=================SNIP -#!/bin/sh -# -# Turn a (clean) PS file into a booklet -# -# input on stdin or file in arg -# -# psbook -- reorder the pages -# see -s option for _very_ large files -# psnup -- scale and place two pages onto one -# pstops -- reverse the odd pages for duplex printing -# -# outup on stdout -# -psbook $1 | psnup -2 | pstops "2:0,1U(21cm,29.7cm)" -=================SNIP -%%%% fin exemple %%%% - -* Le résultat est possible également en ne travaillant que sur -le postscript : dvips -h twoup -t landscape fichier.dvi. - -* Sur PC on peut utiliser dvidrv. - -* Pour PC twoup fait cela, mais ce n'est pas du domaine public. - -# 6.6 # Comment définir un format de document ? ------------------------------------------------ -La structure d'une page LaTeX permet de nombreux ajustements : -+ \setlength{\textwidth}{??cm} permet de fixer la largeur du -texte -+ \setlength{\textheight}{??cm} permet de fixer la hauteur du -texte -+ \setlength{\oddsidemargin}{(-)??cm} permet de définir la -marge gauche des pages impaires -+ \setlength{\evensidemargin}{(-)??cm} permet de définir la -marge gauche des pages paires -+ \setlength{\topskip}{??cm} laisse un espace en haut de page -+ \setlength{\footskip}{??cm} laisse un espace en bas de page -+ \setlength{\headheight}{??cm} fixe la hauteur de l'entête -+ \addtolength{\topmargin}{(-)??cm} -+ \addtolength{\textheight}{(-)??cm} - -* Il existe également les packages 'a4' et 'a4wide' disponibles -respectivement sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/ntgclass/ et dans -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/ qui permettent de -redéfinir les marges et largeur de texte. - -* Le package 'geometry' est plus flexible que les précédents -pour définir son propre format de page. Il définit de -nouvelles variables de structure de la page. Il propose en -outre un ensemble de formats par défaut (a0paper, b5paper, -legalpaper, ...). - -# 6.7 # Comment redéfinir les marges d'un document ? ----------------------------------------------------- -* Le package 'vmargin', de V. Kuhlmann, est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/. Il permet facilement de -redéfinir globalement (pour tout le document) les marges d'un -document par la commande : -\setmarginsrb{1}{2}{3}{4}{5}{6}{7}{8} -1 est la marge gauche -2 est la marge en haut -3 est la marge droite -4 est la marge en bas -5 fixe la hauteur de l'entête -6 fixe la distance entre l'entête et le texte -7 fixe la hauteur du pied de page -8 fixe la distance entre le texte et le pied de page - -Vous pouvez également utiliser des valeurs par défaut en rapport -avec le papier utilisé, par exemple: -\setpapersize{A4} - -* L'environnement changemargin décrit ci-dessous permet de -modifier localement les marges d'un document. Il prend deux -arguments, la marge gauche et la marge droite (ces arguments -peuvent prendre des valeurs négatives). - -%%%% debut macro %%%% -\newenvironment{changemargin}[2]{\begin{list}{}{% -\setlength{\topsep}{0pt}% -\setlength{\leftmargin}{0pt}% -\setlength{\rightmargin}{0pt}% -\setlength{\listparindent}{\parindent}% -\setlength{\itemindent}{\parindent}% -\setlength{\parsep}{0pt plus 1pt}% -\addtolength{\leftmargin}{#1}% -\addtolength{\rightmargin}{#2}% -}\item }{\end{list}} -%%%% fin macro %%%% - -Exemple : -\begin{changemargin}{2cm}{-1cm} - Ceci permet d'augmenter la marge gauche de 2cm et de diminuer - celle de droite de 1cm. -\end{changemargin} -A comparer avec un texte qui occupe toute la largeur de la page, -comme celui-ci. -%%%% fin exemple %%%% - -* Le package 'geometry' permet de redéfinir les marges d'un -document ou de définir le layout de la page. - -Exemple 1 : -\geometry{margin=5pt} -équivalent à -\geometry{hmargin=5pt, vmargin=5pt} -équivalent à -\geometry{margin={5pt,5pt}} -%%%% fin exemple %%%% - -Exemple 2 : -\documentclass{report} -\usepackage{french} -\usepackage{geometry} -\geometry{scale=1.0, nohead} -\begin{document} -Ainsi, le texte apparaît beaucoup plus haut dans une page. -\end{document} -%%%% fin exemple %%%% - -Exemple 3 : -\documentclass{report} -\usepackage{french} -\begin{document} -Voici une page normale pour comparer. -\end{document} -%%%% fin exemple %%%% - -* Le package 'truncate' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/ permet de fixer la -largeur d'un texte. - -* Il existe également le package 'typearea' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/script/. - -* L'environnement narrow, de K. Reckdahl, ci-dessous permet -d'encapsuler des paragraphes de largeurs différentes. -%%%% debut macro %%%% -%----------------------------------------------------------------- -% \begin{narrow}{1.0in}{0.5in} produces text which is narrowed -% by 1.0 on left margin and 0.5 inches on right margin -% \begin{narrow}{-1.0in}{-0.5in} produces text which is widened -% by 1.0 on left margin and 0.5 inches on right margin -% Narrow environments can be nested and are ended by \end{narrow} -%----------------------------------------------------------------- -\newenvironment{narrow}[2]{% - \begin{list}{}{% - \setlength{\topsep}{0pt}% - \setlength{\leftmargin}{#1}% - \setlength{\rightmargin}{#2}% - \setlength{\listparindent}{\parindent}% - \setlength{\itemindent}{\parindent}% - \setlength{\parsep}{\parskip}% - }% -\item[]}{\end{list}} -%%%% fin macro %%%% - -# 6.8 # Comment changer l'orientation d'un document ? ------------------------------------------------------ -* Globalement, pour passer en orientation paysage, il suffit de -mettre l'option landscape dans \documentclass (LaTeX2e) ou dans -\documentstyle (LaTeX2.09). - -Exemple : -\documentclass[landscape]{report} -\usepackage{french} -\begin{document} -Voici un document écrit dans un sens non conventionnel. -\end{document} -%%%% fin exemple %%%% - -* Le package 'lscape' de D. Carlisle (LaTeX2e), disponible -sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/graphics/, permet de changer -localement d'orientation portrait vers paysage et vice versa. Il -définit l'environnement landscape. - -Exemple : -\documentclass[11pt]{report} -\usepackage{lscape} - -\begin{document} - -\begin{landscape} - Un petit tour à la campagne,~\ldots -\end{landscape} - -et nous voici de retour dans la galerie, après un changement de -page bien évidemment. - -\end{document} -%%%% fin exemple %%%% - -* Il existe également le package 'rotating' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/rotating/. - -Exemple (tiré de la doc) : -\newcount\wang -\newsavebox{\wangtext} -\newdimen\wangspace -\def\wheel#1{\savebox{\wangtext}{#1}% -\wangspace\wd\wangtext -\advance\wangspace by 1cm% -\centerline{% -\rule{0pt}{\wangspace}% -\rule[-\wangspace]{0pt}{\wangspace}% -\wang=-180\loop\ifnum\wang<180 -\rlap{\begin{rotate}{\the\wang}% -\rule{1cm}{0pt}#1\end{rotate}}% -\advance\wang by 10 \repeat}} -\wheel{Save the whale} -%%%% fin exemple %%%% - -* Il existe aussi le programme docstrip disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/unpacked/docstrip.tex. - -* Pour le cas où vous auriez un fichier dvi en landscape, vous -pouvez obtenir un fichier postscript propre en utilisant la -commande: - -Exemple : -dvips -t a4 -t landscape -o tmp.ps toto.dvi -%%%% fin exemple %%%% - -# 6.9 # Comment justifier verticalement un paragraphe ? -------------------------------------------------------- -L'environnement vcenterpage ci-dessous permet de centrer -verticalement un texte sur une page seule. - -%%%% debut macro %%%% -\newenvironment{vcenterpage} -{\newpage\vspace*{\fill}} -{\vspace*{\fill}\par\pagebreak} -%%%% fin macro %%%% - -Exemple : -\begin{vcenterpage} - Texte qui apparait au milieu de la page. -\end{vcenterpage} -%%%% fin exemple %%%% - -# 6.10 # Comment modifier la commande \caption ? ------------------------------------------------- -* Le package 'hangcaption', disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/misc/, dans lequel la commande -\isucaption remplace la commande \caption, permet de modifier la -mise en page de cette dernière. En particulier, il permet de -définir \captionwidth. - -* Il existe également les packages 'caption' et 'caption2' -disponibles sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/caption/ qui permettent de -modifier la commande \caption classique (largeur, style, -fonte, ...). - -Exemples : -\usepackage[small,hang]{caption2} -\renewcommand{\captionfont}{\it \small} -\renewcommand{\captionlabelfont}{\it \bf \small} -\renewcommand{\captionlabeldelim}{ :} -%%%% fin exemple %%%% - -Remarque : il est recommandé d'utiliser 'caption2' plutôt que - 'caption'. - -* Le package 'topcapt' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/misc/ définit la commande \topcaption qui -permet de placer le texte de la commande caption au dessus du -flottant auquel elle est rattachée. - -* Le package 'french' de B. Gaulle propose la commande -\unnumberedcaptions qui permet de supprimer la numérotation des -flottants. - -* Pour avoir une présentation du type : -Figure 1. Voici le texte de la légende d'une figure. Mais - lorsque la légende est longue, elle se présente - comme ceci. - -au lieu de : -Figure 1. Voici le texte de la légende d'une figure. Mais -lorsque la légende est longue, elle se présente comme -ceci. - -on peut utiliser \caption[texte]{\protect\parbox[t]{wd}{texte}} -où wd est la largeur de la boîte (cette largeur peut être adaptée -à la taille de la figure automatiquement si la figure est -elle-même dans une boite dont on récupère la largeur). \protect -est absolument nécessaire pour éviter une erreur. Le texte au -début [texte] est celui qui apparaîtra dans la table des figures -(il peut éventuellement être plus court). - -Plus simplement, le package 'caption2' permet de faire la même -chose avec l'option hang. - -* La variable \figurename permet de redéfinir le nom du titre de -la figure. De même pour \tablename et les tableaux. - -Exemple : -\def\figurename{Croquis} -%%%% fin exemple %%%% - -# 6.11 # Comment modifier un changement de page ? -------------------------------------------------- -* \newpage impose un changement brutal de page. - -* \pagebreak[n] où n représente l'autorité avec laquelle on veut -changer de page (n compris entre 1 et 5). Cette commande garde -la justification, 1 impose une contrainte faible, 5 impose une -contrainte sévère. - -* \nopagebreak[n] idem pour empêcher une coupure de page. - -* \clearpage agit comme un \newpage mais libère le buffer de -flottants. - -* \cleardoublepage fait la même chose et force un redémmarrage -sur une page impaire. - -* \enlargethispage{lgr} impose à LaTeX2e de comprimer (lgr -négatif) ou d'expanser (lgr positif) le contenu d'une page. -Ceci pour éviter que la page suivante contienne trop peu de -texte. - -Exemples : -\enlargethispage{1cm} % ajoute un cm -\enlargethispage{-2\baselineskip} % supprime deux lignes dans la - % page -%%%% fin exemple %%%% - -Remarque : \enlargethispage*{lgr} donne une autorité plus grande - à la commande \enlargethispage en l'obligeant à agir - sur les espacements élastiques verticaux contenus - dans la page courante. - -* J.P. Drucbert donne ci-dessous un petit papier décrivant un -style block.sty bricolé à partir de macro de diverses origines -(dont D. Arseneau, assez connu). Si vous passez LaTeX sur ce -papier, block.sty sera créé. Les macros les plus intéressantes -sont \need{dim} et \lneed{N}, qui provoquent un saut de page -s'il reste moins que la dimension dim (ou N fois \baselinskip) -verticalement sur la page. Ce n'est pas parfait, mais cela m'a -rendu des services. - -%%%% debut macro %%%% -\begin{filecontents}{block.sty} -\ifx\endBlock\undefined -\def\block{\begingroup% -\def\endblock{\egroup\endgroup}% -\vbox\bgroup}% -\long\def\Block{\begingroup% -\def\endBlock{\unskip\egroup\endgroup}% -\pagebreak[2]\vspace*{\parskip}\vbox\bgroup% -\par\noindent\ignorespaces} -\long\def\IBlock{\begingroup% -\def\endIBlock{\unskip\egroup\endgroup}% -\pagebreak[2]\vspace*{\parskip}\vbox\bgroup\par\ignorespaces} -\def\need#1{\ifhmode\unskip\par\fi \penalty-100 \begingroup -% preserve \dimen@, \dimen@i - \ifdim\prevdepth>\maxdepth \dimen@i\maxdepth - \else \dimen@i\prevdepth\fi - \kern-\dimen@i - \dimen@\pagegoal \advance\dimen@-\pagetotal % space left - \ifdim #1>\dimen@ - \vfill\eject\typeout{WARNING- EJECT BY NEED} - \fi - \kern\dimen@i - \endgroup} -\def\lneed#1{\need{#1\baselineskip}} -% \begin{block} ... \end{block} delimite un bloc qui restera, -% si possible, sur une seule page. -\long\def\TBlock{\begingroup% -\def\endTBlock{\unskip\egroup\endgroup}% -\pagebreak[2]\vspace*{\parskip}\vtop\bgroup% -\par\noindent\ignorespaces} -\else -\typeout{block.sty already loaded} -\fi -\endinput - -\def\need#1{\par \penalty-100 \begingroup -% preserve \dimen@, \dimen@i - \ifdim\prevdepth>\maxdepth \dimen@i\maxdepth - \else \dimen@i\prevdepth\fi - \kern-\dimen@i - \dimen@\pagegoal \advance\dimen@-\pagetotal % space left - \ifdim #1>\dimen@ \vfil \eject \fi - \kern\dimen@i - \endgroup} -\end{filecontents} - -\documentclass[12pt,a4paper]{article} -\def\bs{\texttt{\char'134}} -\parskip=12pt plus1pt minus0.5pt -\usepackage[english,francais]{babel} -\usepackage[T1]{fontenc} -\usepackage[isolatin]{inputenc} -\begin{document} -\clearpage -\section{Paquetage \texttt{block}}\label{BLOCK+} -Ce paquetage offre divers outils permettant d'empêcher qu'une -rupture de page se produise à un certain endroit. - -\subsection{Blocs Protégés} - -Vous pouvez protéger une zone contre la rupture de page. Il -suffit pour cela de la placer dans un environnement -\texttt{Block} ou dans un environnement \texttt{IBlock}. Dans le -premier cas (\texttt{Block}), le premier paragraphe se trouvant -dans la zone ne sera pas indenté, mais le sera dans le second -cas (\texttt{IBlock}). Ceci est utile en particulier pour -éviter de séparer un texte et un exemple qui l'accompagne. Les blocs ainsi -protégés doivent, bien entendu, rester assez petits. La syntaxe -est (vous pouvez remplacer \texttt{Block} par \texttt{IBlock}): -\begin{quote}\tt -%\begin{tabular}{l} -\bs begin\{Block\}\\ -\qquad\ldots\\ -zone protégée\\ -\qquad\ldots\\ -\bs end\{Block\} -%\end{tabular} -\end{quote} - -Cette méthode, très simple, a l'inconvénient de ne pas pouvoir -s'appliquer lorsque la zone à protéger doit contenir une -commande de sectionnement (c'est-à-dire du même type que -\verb|\section|), une note en bas de page, une note marginale ou -un corps mobile (figure ou table). Dans ce cas, il faudra -utiliser une des commandes du paragraphe suivant. - -\subsection{Réservations Verticales} -Vous pouvez aussi demander de changer de page (ou de colonne, si votre -document est sur deux colonnes) s'il ne reste pas verticalement assez -de place sur la page. Deux commandes de réservation verticale sont -disponibles: \verb|\need{|{\em dimension\/}\verb|}|, dont le paramètre est une -longueur, et \verb|\lneed{|{\em nombre\/}\verb|}|, dont le paramètre est -le nombre de lignes équivalant à l'espace vertical demandé (avec cette forme -le paramètre est plus facile à estimer). - -\end{document} -%%%% fin macro %%%% - -* Pour éviter les coupures de page (ou les coupures de colonnes -avec multicol.sty) à l'intérieur des \item dans une description -(et d'ailleurs dans toute liste), solution simple sortie du -TeXbook: -\begin{description}\interlinepenalty 10000 - -# 6.12 # Comment obtenir des colonnes parallèles ? --------------------------------------------------- -Le package 'parallel' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/parallel/ permet d'obtenir -deux colonnes dont l'une peut contenir la traduction de l'autre. - -# 6.13 # Comment définir l'espace de début de paragraphe ? ----------------------------------------------------------- -* Il faut valoriser la variable \parindent. - -Exemple : -\setlength{\parindent}{1cm} -%%%% fin exemple %%%% - -* Pour agir localement, on peut utiliser \hspace*{lgr}. - -* Le package 'indentfirst' permet de forcer LaTeX à indenter le -premier paragraphe après une nouvelle section (indentation -normalement non utilisée en typographie française). - -# 6.14 # Comment supprimer la date sur une page de titre ? ----------------------------------------------------------- -Il faut ajouter la commande \date{} dans le préambule du -document. - -# 6.15 # Comment mettre en valeur la première lettre d'un chapitre ? --------------------------------------------------------------------- -* Il faut utiliser le package 'dropcaps' de F. Lauwers. -Il est disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/dropcaps/. -Ce package est utilisable avec LaTeX2.09 et LaTeX2e. - -* Les packages 'initial' et 'initials' pour LaTeX2e sont -disponibles sur CTAN. Le second que l'on peut trouver dans -ftp://ftp.fdn.org/pub/CTAN/fonts/gothic/yinit/ fait appel à des fontes yinit particulières. - -* Il existe également un package 'drop' pour LaTeX2.09, mais -compatible LaTeX2e, disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/misc/. - -Exemple : -\documentclass[12pt,a4paper]{article} -\usepackage{drop} -\font\largefont=yinitas % fontes yinit -begin{document} -\drop{D}OES THERE EXIST a field with 4 elements? -\end{document} -%%%% fin exemple %%%% - -* 'bigdrop' accessible sur CTAN dans/CTAN/digests/ttn est une -macro TeX compatible LaTeX. - -* Le package 'bigstart' pour LaTeX2.09 et LaTeX2e permet -également de faire cela. - -* Il existe également le package 'picinpar' pour LaTeX2.09 -disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/picinpar/ et -ftp://ftp.fdn.org/pub/CTAN/systems/msdos/4alltex/disk04/. - -* On peut également définir sa propre macro : -%%%% debut macro %%%% -\font\capfont=cmbx12 at 24.87 pt % or yinit, or...? -\newbox\capbox \newcount\capl \def\a{A} -\def\docappar{\medbreak\noindent\setbox\capbox\hbox{% -\capfont\a\hskip0.15em}\hangindent=\wd\capbox% -\capl=\ht\capbox\divide\capl by\baselineskip\advance\capl by1% -\hangafter=-\capl% -\hbox{\vbox to8pt{\hbox to0pt{\hss\box\capbox}\vss}}} -\def\cappar{\afterassignment\docappar\noexpand\let\a } -%%%% fin macro %%%% - -Exemple : -\cappar Il était une fois un petit chaperon rouge qui avait une -grand-mère qui habitait de l'autre côté de la foret. Un jour, -alors que sa grand-mère était malade, le petit chaperon rouge -décida de lui rendre visite~\ldots -%%%% fin exemple %%%% - -* Un petit dernier, le package 'dropping' qui étend le -package 'dropcaps' est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/dropping/. - -Exemple : -\dropping{3}{\itshape{} Voici} un exemple de ce que permet de -faire le magnifique package dropping de M. Dahlgren. La commande -\texttt{\\dropping} peut prendre en argument un mot comme c'est le cas ici -ou une simple lettre. -%%%% fin exemple %%%% - -* Le package 'french' de B. Gaulle propose également la commande -\lettrine. - -Exemple : -\lettrine{UN jour,} mon prince~\ldots -%%%% fin exemple %%%% - -* Le paquetage 'lettrine' de Daniel Flipo propose lui aussi la commande -\lettrine, mais avec une diversité d'options inconnues à french (nombre de -lignes, forme, etc.) Tiré de la doc: - -Exemple : -\lettrine[lines=4, slope=-0.5em, lhang=0.5, nindent=0pt]{V}{oici} -%%%% fin exemple %%%% - -* Le paquetage 'lettrine' de Daniel Flipo propose lui aussi la commande -\lettrine, mais avec une diversité d'options inconnues à french (nombre de -lignes, forme, etc.) Tiré de la doc: - -Exemple : -\lettrine[lines=4, slope=-0.5em, lhang=0.5, nindent=0pt]{V}{oici} -%%%% fin exemple %%%% - -# 6.16 # Comment préserver les tabulations en mode verbatim ? -------------------------------------------------------------- -* Le package 'moreverb' est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/. Il propose notamment un -environnement verbatimtab qui permet de conserver des -tabulations. - -Exemple : -\begin{verbatimtab} -int pattern(char *p, int n, int m) -{ - int orig = current_position(); - int new_pos; - - goto_line(n); - - if(p && forward_search(p) && (current_line()<m)){ - new_pos = current_position(); - goto_char(orig); - return(new_pos); - } - return(-1); -} -\end{verbatimtab} -%%%% fin exemple %%%% - -* Il existe également le package 'verbasef' (verbatim automatic -segmentation of external files) disponible sur CTAN. Il utilise -l'environnement figure. - -* On peut également inclure les lignes suivantes dans le -préambule du document : -%%%% debut macro %%%% -\makeatletter -{\catcode`\^^I=\active -\gdef\verbatim{\catcode`\^^I=\active\def^^I{\hspace*{4em}}% -\@verbatim \frenchspacing\@vobeyspaces \@xverbatim}} -\makeatother -%%%% fin macro %%%% - -# 6.17 # Comment modifier les entêtes de chapitre ? ---------------------------------------------------- -Il faut modifier la macro makechapterhead. - -Ajouter, par exemple, dans le preambule : -%%%% debut macro %%%% -\makeatletter -\def\@makechapterhead#1{% - \vspace*{50\p@}% - {\parindent \z@ \raggedright \normalfont - \interlinepenalty\@M - \ifnum \c@secnumdepth >\m@ne - \Huge\bfseries \thechapter\quad - \fi - \Huge \bfseries #1\par\nobreak - \vskip 40\p@ - }} - -\def\@makeschapterhead#1{% - \vspace*{50\p@}% - {\parindent \z@ \raggedright - \normalfont - \interlinepenalty\@M - \Huge \bfseries #1\par\nobreak - \vskip 40\p@ - }} -\makeatother -%%%% fin macro %%%% - -# 6.18 # Comment définir des tabulations ? ------------------------------------------- -Il faut utiliser l'environnement tabbing qui permet de placer -des marques d'alignement dans un texte. - -Exemple : -\begin{tabbing} - Voici \= des \= marques \= de tabulation \\ - \> la je m'aligne sur la première \\ - \> \> \> la sur la troisième \\ - \hspace{3cm} \= \hspace{2cm} \= \kill - un \> autre \> exemple. -\end{tabbing} -%%%% fin exemple %%%% - -# 6.19 # Comment obtenir des lettres accentuées dans tabbing ? --------------------------------------------------------------- -* Pour produire un \'{e} dans un environnement tabbing où la -commande \' a été redéfinie, il faut utiliser \a'{e} ou \a'e - -* Le style suivant de J.P. Drucbert permet de remplacer -l'environnement standard tabbing par l'environnement Tabbing -dans lequel les commandes \` \' \> \< \= \+ \- sont remplacées -par \TAB` \TAB' \TAB> \TAB< \TAB= \TAB+ \TAB- ce qui permet de -préserver les commandes d'accent (\' \` ou \=). - -%%%% debut macro %%%% -\ProvidesPackage{Tabbing}[1996/01/16] -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\gdef\Tabbing{\lineskip \z@skip -% \let\>\@rtab -% \let\<\@ltab -% \let\=\@settab -% \let\+\@tabplus -% \let\-\@tabminus -% \let\`\@tabrj -% \let\'\@tablab -\def\TAB##1{\ifx ##1>\@rtab\else - \ifx ##1<\@ltab\else - \ifx ##1=\@settab\else - \ifx ##1+\@tabplus\else - \ifx ##1-\@tabminus\else - \ifx ##1`\@tabrj\else - \ifx ##1'\@tablab\else - \PackageError{Tabbing}% - {Bad argument ##1 for Tabbing - specification} \fi\fi\fi\fi\fi\fi\fi} - \let\\=\@tabcr - \global\@hightab\@firsttab - \global\@nxttabmar\@firsttab - \dimen\@firsttab\@totalleftmargin - \global\@tabpush\z@ \global\@rjfieldfalse - \trivlist \item\relax - \if@minipage\else\vskip\parskip\fi - \setbox\@tabfbox\hbox{\rlap{\indent\hskip\@totalleftmargin - \the\everypar}}\def\@itemfudge{\box\@tabfbox}% - \@startline\ignorespaces} -\gdef\endTabbing{% - \@stopline\ifnum\@tabpush >\z@ \@badpoptabs \fi\endtrivlist} -\endinput -%%%% fin macro %%%% - -# 6.20 # Comment encadrer du texte ? ------------------------------------- -* Une solution consiste à définir un tableau d'une seule -cellule. - -* On peut aussi utiliser : -\fbox{ -\begin{minipage}{0.7\textwidth} - Texte... -\end{minipage} -} - -* On peut également se définir son propre environnement. - -Exemple : -\newsavebox{\fmbox} -\newenvironment{fmpage}[1] - {\begin{lrbox}{\fmbox}\begin{minipage}{#1}} - {\end{minipage}\end{lrbox}\fbox{\usebox{\fmbox}}} - -Utilisation : -\begin{fmpage}{3cm} - Texte à encadrer dans une boîte ne dépassant pas 3 - centimètres de large. -\end{fmpage} -%%%% fin exemple %%%% - -* Il existe également le package 'fancybox', disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/others/seminar/inputs/, qui définit -des fonctions telles que \shadowbox, \doublebox, \ovalbox,... - -Exemple : -\shadowbox{Texte ombré.} -\doublebox{Texte doublement encadré.} -\ovalbox{Texte dans un cadre aux coins arrondis.} -%%%% fin exemple %%%% - -* Le package 'boxedminipage' est un vieux style LaTeX2.09 -disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/misc/. - -* Voir également le package 'hh' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/hh/. - -* Le package 'niceframe' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/niceframe/ permet de -définir des cadres pleine page. - -* Pour encadrer un texte pouvant s'étendre sur plusieurs pages, -il existe le package 'eclbkbox' : -%%%% debut macro %%%% -% eclbkbox.sty by Hideki Isozaki, 1992 -% Date: May 28, 1993 - -\newbox\bk@bxb -\newbox\bk@bxa -\newif\if@bkcont -\newif\ifbkcount -\newcount\bk@lcnt - -\def\breakboxskip{2pt} -\def\breakboxparindent{1.8em} - -\def\breakbox{\vskip\breakboxskip\relax -\setbox\bk@bxb\vbox\bgroup -\advance\linewidth -2\fboxrule -\advance\linewidth -2\fboxsep -\hsize\linewidth\@parboxrestore -\parindent\breakboxparindent\relax} - -% \@tempdimb: amount of vertical skip -% between the first line (\bk@bxa) and the rest (\bk@bxb) -\def\bk@split{% -\@tempdimb\ht\bk@bxb % height of original box -\advance\@tempdimb\dp\bk@bxb -\setbox\bk@bxa\vsplit\bk@bxb to\z@ % split it -\setbox\bk@bxa\vbox{\unvbox\bk@bxa}% recover height & depth of \bk@bxa -\setbox\@tempboxa\vbox{\copy\bk@bxa\copy\bk@bxb}% naive concatenation -\advance\@tempdimb-\ht\@tempboxa -\advance\@tempdimb-\dp\@tempboxa}% gap between two boxes - -% \@tempdima: height of the first line (\bk@bxa) + fboxsep -\def\bk@addfsepht{% - \setbox\bk@bxa\vbox{\vskip\fboxsep\box\bk@bxa}} - -\def\bk@addskipht{% - \setbox\bk@bxa\vbox{\vskip\@tempdimb\box\bk@bxa}} - -% \@tempdima: depth of the first line (\bk@bxa) + fboxsep -\def\bk@addfsepdp{% - \@tempdima\dp\bk@bxa - \advance\@tempdima\fboxsep - \dp\bk@bxa\@tempdima} - -% \@tempdima: depth of the first line (\bk@bxa) + vertical skip -\def\bk@addskipdp{% - \@tempdima\dp\bk@bxa - \advance\@tempdima\@tempdimb - \dp\bk@bxa\@tempdima} - -\def\bk@line{% - \hbox to \linewidth{\ifbkcount\smash{\llap{\the\bk@lcnt\ }}\fi - \vrule \@width\fboxrule\hskip\fboxsep - \box\bk@bxa\hfil - \hskip\fboxsep\vrule \@width\fboxrule}} - -\def\endbreakbox{\egroup -\ifhmode\par\fi{\noindent\bk@lcnt\@ne -\@bkconttrue\baselineskip\z@\lineskiplimit\z@ -\lineskip\z@\vfuzz\maxdimen -\bk@split\bk@addfsepht\bk@addskipdp -\ifvoid\bk@bxb % Only one line -\def\bk@fstln{\bk@addfsepdp -\vbox{\hrule\@height\fboxrule\bk@line\hrule\@height\fboxrule}}% -\else % More than one line -\def\bk@fstln{\vbox{\hrule\@height\fboxrule\bk@line}\hfil -\advance\bk@lcnt\@ne -\loop - \bk@split\bk@addskipdp\leavevmode -\ifvoid\bk@bxb % The last line - \@bkcontfalse\bk@addfsepdp - \vtop{\bk@line\hrule\@height\fboxrule}% -\else % 2,...,(n-1) - \bk@line -\fi - \hfil\advance\bk@lcnt\@ne -\if@bkcont\repeat}% -\fi -\leavevmode\bk@fstln\par}\vskip\breakboxskip\relax} - -\bkcountfalse -%%%% fin macro %%%% - -L'encadrement du texte est obtenu par l'environnement breakbox. - -\bkcounttrue : les lignes sont numérotées. -\bkcountfalse : elles ne le sont pas (défaut). - -On peut emboîter des environnements breakbox. - -# 6.21 # Comment gérer des URL WWW ? ------------------------------------- -* Il existe le package 'url' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/ qui permet de gérer les -coupures des URL WWW un peu longues. Il est également capable de -gérer les adresses e-mail, les liens hypertexte, les noms de -directories. En outre, cet outil est paramètrable. - -Exemple : -\usepackage{url} -\urlstyle{sf} -.. -\url{http://hostname/~username} -%%%% fin exemple %%%% - -* Le package 'path' disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/eplain/ -offre les mêmes possibilités. - -* La macro \discretionary permet également de dire comment -couper une chaîne de caractères : -\discretionary{Avant la coupure}{après}{s'il n'y en a pas} - -Remarque : \- est défini comme \discretionary {-}{}{} - -# 6.22 # Comment mettre en page des exercices dont les solutions sont reportées dans un autre paragraphe ? ----------------------------------------------------------------------------------------------------------- -L'objectif ici est de pouvoir saisir dans le fichier source les -textes des exercices suivis de leurs solutions, alors qu'au -niveau de la mise en page du document, les solutions -apparaîssent groupées dans un autre paragraphe/chapitre. - -* Le package 'answers', de M. Piff, disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/answers/ permet également de -réaliser ce genre d'exercice. Il permet entre autres : -+ d'avoir plusieurs types de solutions (ex: réponse numérique -seule ou détail), -+ d'inclure les solutions (l'une, l'autre ou les deux dans -le cas précité) dans le texte (après une marque spécifique -si désiré), -+ mettre les solutions à la fin, -+ ne pas mettre les solutions. - -Exemple : -%% -%% This is file `ansexam2.tex', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% answers.dtx (with options: `ex2') -%% -\documentclass[12pt,a4paper]{article} -\usepackage{answers}%\usepackage[nosolutionfiles]{answers} -% def d'un environnement Exercise numerote -\newtheorem{Exc}{Exercise} -\newenvironment{Ex}{\begin{Exc}\normalfont}{\end{Exc}} -% Trois types de solutions sont proposes -\Newassociation{solution}{Soln}{test} -\Newassociation{hint}{Hint}{test} -\Newassociation{Solution}{sSol}{testtwo} -\newcommand{\prehint}{~[Hint]} -\newcommand{\presolution}{~[Solution]} -\newcommand{\preSolution}{~[Homework]} -% test -\newcommand{\Opentesthook}[2]% - {\Writetofile{#1}{\protect\section{#1: #2}}} -% introduction de la solution -\renewcommand{\Solnlabel}[1]{\emph{Solution #1}} -\renewcommand{\Hintlabel}[1]{\emph{Hint #1}} -\renewcommand{\sSollabel}[1]{\emph{Solution to #1}} - -\begin{document} -% gestion des fichiers contenant les solutions - \Opensolutionfile{test}[ans2]{Solutions} - \Writetofile{test}{\protect\subsection{Some Solutions}} - \Opensolutionfile{testtwo}[ans2x] - \Writetofile{testtwo}{% - \protect\subsection{Extra Solutions}} - - % Exercices - \section{Exercises} - \begin{Ex} - An exercise with a solution. - \begin{solution} - This is a solution. - \relax{} - \end{solution} - \end{Ex} - \begin{Ex} - An exercise with a hint and a secret solution. - \begin{hint} - This is a hint. - \end{hint} - \begin{Solution} - This is a secret solution. - \end{Solution} - \end{Ex} - \begin{Ex} - An exercise with a hint. - \begin{hint} - This is a hint. - \end{hint} - \end{Ex} - % gestion des fichiers contenant les solutions - \Closesolutionfile{test} - \Readsolutionfile{test} - % \clearpage - \hrule - \Closesolutionfile{testtwo} - \Readsolutionfile{testtwo} -\end{document} -%% -%% End of file `ansexam2.tex'. - -%%%% fin exemple %%%% - -* On peut également trouver le package 'exam' sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/exams/. - -# 6.23 # Comment positionner un objet dans une page ? ------------------------------------------------------ -* Pour pouvoir positionner un objet aux coordonnées x,y par -rapport au coin supérieur gauche d'une page, il suffit d'utiliser -le package 'atxy' disponible par ftp sur -ftp://ftp.univ-orleans.fr/pub/tex/PC/AsTeX/Paq_Base/ dans -le fichier l209misc.zip. - -Exemple : -\atxy(3cm,2.5cm) {toto adresse toto} -\atxy(3cm,4cm) {date} -%%%% fin exemple %%%% - -Remarque : petit défaut, si le document ne contient que des - commandes \atxy il n'y a pas de dvi généré. Il faut - donc ajouter n'importe quoi au début du document, ~ - par exemple, pour que ça marche. - -# 6.24 # Comment lier le placement des flottants aux sections ? ---------------------------------------------------------------- -Pour lier la position des éléments flottants aux limites de -sections, D. Arseneau a développé le package 'placeins' -disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/. Ce -package définit la commande \FloatBarrier qui force le placement -des flottants avant son appel. - -# 6.25 # Comment griser le fond (background) d'un paragraphe ? --------------------------------------------------------------- -* Le package 'psboxit', disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex2.09/contrib/misc/ et en particulier -l'environnement "boxitpara" permet de faire cela. - -* Le package 'shadbox' disponible sur CTAN dans -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/shadbox/ permet de griser toute -boîte, texte, figure, .... - -* Le package 'shading' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/shading/ permet de griser un -paragraphe. - -* De même, le package 'shade', de P. Schmitt, est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/generic/. - -* On peut également utiliser le package 'color'. - -Exemple : -\colorbox[gray]{0.5}{some words} -%%%% fin exemple %%%% - -# 6.26 # Comment modifier l'espace inter-colonnes ? ---------------------------------------------------- -Il faut modifier la variable \columnsep. - -Exemple : -\addtolength{\columnsep}{5mm} -%%%% fin exemple %%%% - -# 6.27 # Comment modifier les environnements de liste ? -------------------------------------------------------- -* L'environnement list permet de définir son propre style de -liste. Sa syntaxe est la suivante : -\begin{list}{label}{mep}\end{list} -+ l'argument label permet de définir le symbole qui sera -associé à chaque élément de la liste. -+ mep permet de définir la mise en page des éléments de la -liste. Les paramètres utilisés pour définir cette mise en page -sont les suivants : -\topsep espace vertical supplémentaire (ajoute à \parskip) - inséré entre le texte précédant la liste et le 1er objet - de la liste -\partosep espace vertical supplémentaire inséré devant la liste - si celle-ci est précédée d'une ligne blanche -\itemsep espace vertical supplémentaire (ajouté à \parsep) - inséré entre les éléments d'une liste. - -Exemple : -\newenvironment{maliste}% -{ \begin{list}% - {$\bullet$}% - {\setlength{\labelwidth}{30pt}% - \setlength{\leftmargin}{35pt}% - \setlength{\itemsep}{\parsep}}}% -{ \end{list} } - -Utilisation : -\begin{maliste} - \item premier élément - \item deuxième élément - \begin{maliste} - \item petit 1 - \item petit 2 - \end{maliste} -\end{maliste} -%%%% fin exemple %%%% - -* Le petit bout de code ci-dessous, de M. Boyer -(mboyer@robot.ireq.ca), définit les commandes : -+ \noitemsep pour supprimer tout espacement vertical entre les -items des environnements \itemize, \enumerate et \description. -+ \doitemsep pour les remettre. -Pour l'utiliser, il suffit de le sauvegarder dans un fichier -.sty et de l'inclure dans son document par une commande -\usepackage. - -%%%% debut macro %%%% -%% ---------------------------------------------------- -%% Copyright (c) 1993 Hydro-Quebec mboyer@robot.ireq.ca -%% ---------------------------------------------------- - -%% Bring items closer together in list environments -% Prevent infinite loops -\let\orig@Itemize =\itemize -\let\orig@Enumerate =\enumerate -\let\orig@Description =\description -% Zero the vertical spacing parameters -\def\Nospacing{\itemsep=0pt\topsep=0pt\partopsep=0pt% -\parskip=0pt\parsep=0pt} -% Redefinition de art12.sty pour commencer a la marge de gauche -%\leftmargini 1.2em % 2.5em - -\def\noitemsep{ -% Redefine the environments in terms of the original values -\renewenvironment{itemize}{\orig@Itemize\Nospacing}{\endlist} -\renewenvironment{enumerate}{\orig@Enumerate\Nospacing}{\endlist} -\renewenvironment{description}{\orig@Description\Nospacing}% -{\endlist} -} - -\def\doitemsep{ -% Redefine the environments to the original values -\renewenvironment{itemize}{\orig@Itemize}{\endlist} -\renewenvironment{enumerate}{\orig@Enumerate}{\endlist} -\renewenvironment{description}{\orig@Description}{\endlist} -} -%%%% fin macro %%%% - -* La macro ci-dessous de T. Murphy permet de remplacer les -numéros de l'environnement enumerate par des caractères grecs : -%%%% debut macro %%%% -\makeatletter -\def\greek#1{\expandafter\@greek\csname c@#1\endcsname} -\def\@greek#1{\ifcase#1\or$\alpha$\or$\beta$\fi}% as many as you -% need -\renewcommand{\theenumi}{\greek{enumi}} -\makeatother -%%%% fin macro %%%% - -* Les définitions suivantes : -\renewcommand{\labelitemi}{\textbullet} -\renewcommand{\labelitemii}{---} -\renewcommand{\labelitemiii}{votre-label-pour-le-niveau-iii} -\renewcommand{\labelitemiv}{votre-label-pour-le-niveau-iv} -permettent de redéfinir les caractères utilisés par -l'environnement itemize pour ces différents niveaux -d'encapsulation. - -Remarque : avec certains packages comme french, il faut placer - ces nouvelles définitions de commande après le - \begin{document}. - -De même, utilisez \descriptionlabel pour changer le style des -étiquettes de l'environment description. - -Exemple : -\renewcommand\descriptionlabel[1]{\hspace\labelsep\normalfont% -\itshape #1:} -produit des étiquettes en italique, avec deux points : -\begin{description} - \item[Carte maîtresse] As - \item[Carte maîtresse à l'atout] Valet -\end{description} -%%%% fin exemple %%%% - -* Pour réduire globalement l'espace entre les items d'une liste -on peut également utiliser le bout de code suivant de M. Wooding -%%%% debut macro %%%% -\makeatletter -\toks@\expandafter{\@listI} -\edef\@listI{\the\toks@\setlength{\parsep}{1pt}} -\makeatother -%%%% fin macro %%%% - -* Le package 'mdwlist', de M. Wooding, disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/mdwtools/ permet de -redéfinir certains paramètres de mise en page des listes qui ne -sont pas faciles d'accès sous LaTeX. - -# 6.28 # Comment souligner plusieurs lignes ? ---------------------------------------------- -Pour souligner un texte qui comprend des retours à la ligne, il -faut utiliser le package 'ulem' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/. Ce package redéfinit en -fait le mode emphasize. Les commandes \normalem et \ULforem -permettent de passer du mode \emph classique au mode \emph -souligné. En mode souligné, la commande devient paramétrable pour -changer le style du souligné ou biffer des mots. - -Exemple : -\documentclass{report} -\usepackage{french} -\usepackage[normalem]{ulem} -\pagestyle{empty} -\begin{document} - -\normalem -Voici le mode "\emph{emphasize}" classique. - -\ULforem -Voici le mode "\emph{emphasize}" souligné. \emph{Il permet -également de gérer les retours à la ligne tout en restant dans -le style emphasize.} - -Les autres possibilités sont les suivantes~: -\begin{itemize} - \item vagues~: \uwave{texte} - \item barré~: \sout{texte} - \item rayé~: \xout{texte} -\end{itemize} - -\end{document} -%%%% fin exemple %%%% - -Remarque : \underline ne permet pas de gérer les retours à la - ligne du fait qu'il encapsule le texte passé en - argument dans une boîte. - -# 6.29 # Comment réaliser des onglets ? ---------------------------------------- -* Pour insérer un carré noir, décalé vers le bas à chaque -nouveau chapitre, le long de la marge des pages de droite d'un -document, on peut utiliser le package 'fancyhdr' ou -'fancyheadings'. Ces packages sont disponibles sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/fancyhdr/ et -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/. - -Remarque : On note toutefois qu'il est peu probable qu'une - imprimante puisse accéder au ras de la marge. La - solution consiste alors à définir un format de - document plus petit et utiliser le massicot. - Attention dans ce cas lors de la définition des - marges. - -* On peut également utiliser le package 'onglet' défini -ci-dessous par B. Bayart. Celui-ci nécessite le package -'everyshi' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/everyshi/. - -%%%% debut macro %%%% -\ProvidesPackage{onglet}[1996/07/25 B. Bayart] -\RequirePackage{everyshi} - -\newcounter{maxchapter} -\newcounter{tmpa} -\newlength{\basehauteur} -\setlength{\basehauteur}{1cm} -\newlength{\ajoutdroite} -\newlength{\htcclv} -\def\concatener{% - \setlength{\ajoutdroite}{\textheight} - \divide\ajoutdroite by \basehauteur - \setcounter{maxchapter}{\number\ajoutdroite} - \setcounter{tmpa}{\value{chapter}} - \addtocounter{tmpa}{-1} - \divide\value{tmpa} by\value{maxchapter} - \multiply\value{tmpa} by\value{maxchapter} - \advance\value{tmpa} by -\value{chapter} - \addtocounter{tmpa}{-1} - \setlength{\ajoutdroite}{\paperwidth} - \setlength{\htcclv}{\ht255} - \addtolength{\ajoutdroite}{-\wd255} - \addtolength{\ajoutdroite}{-1in} - \addtolength{\ajoutdroite}{-1.5cm} - \setbox255=\vbox{\hbox to \wd255{% - \box255%\relax - \rlap{\vbox to \htcclv{% - \vskip-\value{tmpa}\basehauteur - \hbox{% - \hskip\ajoutdroite\relax - \usebox{\laboite}% - }% - \vfill - }}% - \hfill}}% -} -\newsavebox{\laboite} -\def\faireboite{\sbox{\laboite}% -{\hbox to 1.5cm{\let\protect\relax -\huge\thechapter\hfill\vrule height 1em depth 0pt width 5mm}}} - -\AtBeginDocument{\EveryShipout{\faireboite\concatener}} -\endinput -%%%% fin macro %%%% - -# 6.30 # Comment réaliser des QCM ? ------------------------------------ -Il existe le package 'exam' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/exams/. Ce package permet -entre autres de paramétrer les questions de manière à ce que les -propositions apparaîssent dans un ordre aléatoire. - -Exemple : -Combien le cheval possède t'il de pattes ? -\begin{choice}[\random] - \baditem{deux pattes} - \baditem{quatres pattes} - \baditem{zéro patte} -\end{choice} -%%%% fin exemple %%%% - -# 6.31 # Comment modifier l'orientation des flottants ? -------------------------------------------------------- -* Le package 'rotating' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/rotating/ offre deux -environnements sidewaysfigure pour les figures et sidewaystable -pour les tableaux. Les figures ou tableaux sont alors insérés sur -une page séparée. - -Exemple : -\begin{sidewaystable} - \begin{tabular}{|c|c|} - \hline - Un & Deux \\ - Trois & Quatre \\ - \hline - \end{tabular} -\end{sidewaystable} -%%%% fin exemple %%%% - -* On peut également utiliser l'environnement sideways du -package 'rotating'. De la même manière cet environnement génère -une page séparée. - -Exemple : -\begin{figure} - \begin{sideways} - \includegraphics{foobar.ps} - \end{sideways} -\end{figure} -%%%% fin exemple %%%% - -Remarque : il est fréquent que les visualiseurs de fichiers dvi - ne sachent pas gérer les changements d'orientation à - l'intérieur d'un document. Il faut pour voir le - résultat définitif utiliser un visualiseur de - postscript. - -# 6.32 # Comment faire référence plusieurs fois à la même note de bas de page ? -------------------------------------------------------------------------------- -* Il faut utiliser les commandes \footnotemark[] et -\footnotetext[]{}. \footnotemark permet de gérer le compteur de -notes et \footnotetext permet d'insérer le texte correspondant -en bas de page. - -Exemple : -bla blabla\footnotemark[1] bla bla bla blablabla\footnotemark[2] -bla bla bla bla blabla\footnotemark[1] bla. - -\footnotetext[1]{double bla} -\footnotetext[2]{triple bla} -%%%% fin exemple %%%% - -* Avec french, on peut utiliser la commande \refmark. - -Exemple : -le vrai appel\footnote{C'est une note en bas de -page\label{manote}} et le deuxieme appel\refmark{manote} -%%%% fin exemple %%%% - -Remarque : Si vous n'utilisez pas french, cette macro \refmark - est décrite dans le cahier Gutenberg numéro 15, avril - 1993, page 52. Ce cahier est accessible à l'URL : - http://www.gutenberg.eu.org/publications/. - -# 6.33 # Comment éviter les orphelins en début ou fin de page ? ---------------------------------------------------------------- -* Il suffit d'ajouter les lignes : -%%%% debut macro %%%% -\widowpenalty=10000 -\clubpenalty=10000 -\raggedbottom -%%%% fin macro %%%% -dans le préambule du document. - -* Pour agir localement, on peut également utiliser la commande -\enlargethispage (cf. question 6.11). - -# 6.34 # Comment définir de nouveaux flottants ? ------------------------------------------------- -Le package 'float' de G. Williams, disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/float/, permet de définir -de nouveaux objets flottants. Il définit notamment des -environnements permettant d'encadrer des objets ou de les séparer -du reste du texte par des lignes horizontales. - -Exemple : -\documentclass[11pt]{report} -\usepackage{float} -\usepackage{french} - -\floatstyle{ruled} % pour que mes flottants soient séparés du - % texte par des lignes. -\newfloat{important}{htbp}{loi}[section] - % important est le nom de mon nouvel environnement - % htbp sont les options de placement de mon flottant - % loi est l'extension du fichier qui sera utilise pour - % construire la liste de mes flottants - % section est le niveau duquel dependra la numerotation - % de mes flottants -\floatname{important}{Important} % titre du caption - -\begin{document} - -\listof{important}{Liste des textes importants.} % titre de la - % liste de mes flottants. - -\chapter{Règles de bases.} - -\section{Hommes célèbres.} - - Parmi les citations des hommes célèbres dans le domaine que - nous étudions actuellement, il faut retenir celle de M. - Maxime rappelée dans le cadre~\ref{imp-max}. - - \begin{important} - M. Maxime a dit un jour~: - \begin{quote} - Chacun doit se faire ses propres raisons. - \end{quote} - \caption{Adage de M. Maxime.} - \end{important} - - Notez que~\ldots -\end{document} -%%%% fin exemple %%%% - -# 6.35 # Comment utiliser la commande \caption hors d'un environnement flottant ? ---------------------------------------------------------------------------------- -* Pour pouvoir attacher un titre de style table à un -environnement non flottant (i.e. autre que figure ou table), il -faut définir : -%%%% debut macro %%%% -\makeatletter -\def\@captype{table} -\makeatother -%%%% fin macro %%%% - -Exemple : -Texte sur les couleurs. - -\begin{itemize} - \item rouge - \item vert - \item bleu -\end{itemize} -\caption{Liste des couleurs primaires.} - -Texte. -%%%% fin exemple %%%% - -* La macro suivante propose une autre possibilité pour obtenir -un titre de style table : -%%%% debut macro %%%% -\makeatletter -\def\captionof#1#2{{\def\@captype{#1}#2}} -\makeatother -%%%% fin macro %%%% - -Exemple : -\begin{document} -un texte - -\captionof{table}{\caption{un titre ici}\label{foo}} - -un autre texte -\end{document} -%%%% fin exemple %%%% - -* Le package 'capt-of' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/ définit la commande -\captionof. - -# 6.36 # Comment encadrer un objet flottant ? ---------------------------------------------- -* Il faut utiliser le package 'float' qui définit le style -boxed. Ce package est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/float/. Voir la question -6.34 pour un exemple plus complet. - -Exemple : -Dans le préambule : -\floatstyle{ruled} -\newfloat{nom-flottant}{placement}{ext-fic}[numerotation] -dans le corps du document : -\begin{nom-flottant} - -\end{nom-flottant} -%%%% fin exemple %%%% - -* Si le titre accompagnant le flottant peut être à l'extérieur -du cadre désiré, on peut alors utiliser \fbox dans la -déclaration du flottant. - -Exemple : -\begin{table} - \begin{center} - \fbox{ - \begin{tabular}{cll} - &1 case & 2 cases \\ - &3 cases & 4 cases \\\hline - Total~: & 4 cases & 6 cases \\ - \end{tabular} - } - \end{center} - \caption{Titre extérieur.} -\end{table} -%%%% fin exemple %%%% - -* M. Loreti propose également le package 'bigbox' ci-dessous : -%%%% debut macro %%%% -% I like to put boxes around all of my figures and algorithms in -% reports, and finally came up with my 'bigbox' environment. It -% makes a box as wide as the current text and sets the stuff -% inside with a narrower width. -% -% USAGE: -% -% \begin{figure} (or {table}, or {center}, or ...) -% \begin{bigbox} -% \begin{tabbing} -% ... -% \end{tabbing} -% \end{bigbox} -% \caption{XXX} -% \end{figure} -% -%%% BIGBOX - environment -%%% -%%% TOM SHEFFLER -%%% Carnegie Mellon, Aug 1990 -%%% -%%% Make an environment for boxing a figure and setting it in -%%% a narrower width. -\newdimen\boxfigwidth % width of figure box - -\def\bigbox{\begingroup - % Figure out how wide to set the box in - \boxfigwidth=\hsize - \advance\boxfigwidth by -2\fboxrule - \advance\boxfigwidth by -2\fboxsep - \setbox4=\vbox\bgroup\hsize\boxfigwidth - % Make an invisible hrule so that the box is exactly this wide - \hrule height0pt width\boxfigwidth\smallskip% -% Some environments like TABBING and other LIST environments -% use this measure of line size - \LINEWIDTH=\HSIZE-\LEFTMARGIN-\RIGHTMARGIN? - \linewidth=\boxfigwidth -} -\def\endbigbox{\smallskip\egroup\fbox{\box4}\endgroup} -%%%% fin macro %%%% - -Exemple : -\documentclass[11pt]{report} -\usepackage{graphics} -\usepackage{bigbox} -\usepackage{french} -\pagestyle{empty} -\begin{document} - -\begin{figure} - \begin{bigbox} - \includegraphics{../foobar.ps} - \end{bigbox} - \caption{Dessin.} -\end{figure} - -\end{document} -%%%% fin exemple %%%% - -# 6.37 # Comment changer l'orientation d'un caption ? ------------------------------------------------------ -La commande \rotcaption fournie avec le package 'rotating' -permet de changer l'orientation d'un caption. - -Exemple : -\begin{figure} - \centering - \begin{minipage}[c]{1in} - \includegraphics[angle=90,width=\linewidth]{coco.ps} - \end{minipage} - \begin{minipage} - \rotcaption{Ma jolie figure coco} - \label{coco} - \end{minipage} -\end{figure} -%%%% fin exemple %%%% - -# 6.38 # Comment mettre en page un programme ? ----------------------------------------------- -Les packages 'program' (disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/program/) et 'programs' -permettent de mettre en reliefs des mots clés, d'utiliser des -mathématiques dans des algorithmes, etc. - -# 6.39 # Comment inclure le source d'un programme ? ---------------------------------------------------- -Les packages 'lgrind' et 'listings' répondent à la question -(disponibles sur ftp://ftp.fdn.org/pub/CTAN/support/lgrind/ et -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/listings/). Ils -reconnaissent tous les 2 à peu près 40 langages différents. - -Le premier est composé d'un exécutable, 'lgrind' qui permet de -transformer le source en question, par exemple, monfichier.c, en -monfichier.tex, que l'on inclut directement dans son fichier -LaTeX, à l'aide d'une commande appropriée. L'inconvénient, est -qu'évidemment, il y a un fichier .tex qui est généré en plus. - -Notes : - utiliser au-moins la version 3.6 ; - - on peut paramétrer lgrind avec le fichier lgrindef. Par - défaut, l'auteur a jugé utile de transformer la lettre - « à » en $\alpha$. Il suffit donc de commenter cette - option à la fin de ce fichier pour éviter cela. - -Le deuxième ne nécessite pas de recompilation. On inclut -directement le source, avec une commande adéquate. Avec ce -package, on peut même définir son propre langage, le faire -hériter d'un autre langage, avec des mots-clés spécifiques, etc. - -À noter que, moyennant quelques paramètres à ajouter, il est tout -à fait possible de faire en sorte que ces packages reconnaissent -les fontes 8 bits. On peut lui faire comprendre par exemple, que -lorsqu'il rencontre le caractère « ¹ », il le transforme en -$\mathonesuperior$. - -# 6.40 # Comment obtenir un espace insécable ? ----------------------------------------------- -Le caractère ~ est interprété par LaTeX et permet d'obtenir un -espace insécable. - -Exemple : -Comme le montre l'exemple suivant~: $a + 2 = 0$. -%%%% fin exemple %%%% - -# 6.41 # Comment insérer une page blanche ? -------------------------------------------- -* Pour forcer LaTeX à laisser une page blanche dans un document, -il faut utiliser successivement les trois commandes : -\newpage -\strut ou ~ ou \mbox{} ou \null -\newpage - -Le principe est qu'il y ait quelque chose d'invisible sur la -page blanche pour que LaTeX la prenne en compte. - -# 6.42 # Comment supprimer l'indentation des paragraphes ? ----------------------------------------------------------- -* \noindent au début du texte permet de ne pas indenter un -paragraphe. - -* Pour systématiquement supprimer l'indentation du premier -paragraphe d'une section par exemple, il faut redéfinir la -commande \section. Il faut que le 4ème paramètre de -\@startsection soit une distance négative, pour qu'il n'y ait -pas de retrait au premier paragraphe du texte qui suit : - -%%%% debut macro %%%% -\makeatletter -\renewcommand\section{\@startsection {section}{1}{\z@}% - {-3.5ex \@plus -1ex \@minus -.2ex}% -%%%%%% ^^^^ (4eme parametre) - {2.3ex \@plus.2ex}% - {\normalfont\Large\bfseries}} -\makeatother -%%%% fin macro %%%% - -# 6.43 # Comment modifier l'espacement entre caractères ? ---------------------------------------------------------- -* Le package 'letterspace' permet de modifier l'espacement entre -mots ou caractères. - -* Le package 'trackin' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/tracking/ permet de jouer sur -les espacements dans les mots ou les phrases pour les ajuster -dans une longueur spécifiée. - -# 6.44 # Comment supprimer certaines coupures de mots ? -------------------------------------------------------- -* Pour agir sur un mot particulier, il faut utiliser la commande -\hyphenation. - -Exemple : -Visualisation des coupures : -+\showhyphens{mousehole AlGaAs GaAs GaInP AlInP} - - Underfull \hbox (badness 10000) detected at line 0 - [] \OT1/cmr/m/n/10 mouse-hole Al-GaAs GaAs GaInP Al-InP - -Interdiction de certaines coupures : -+\hyphenation{AlGaAs GaAs GaInP AlInP} -+\showhyphens{mousehole AlGaAs GaAs GaInP AlInP} - - Underfull \hbox (badness 10000) detected at line 0 - [] \OT1/cmr/m/n/10 mouse-hole AlGaAs GaAs GaInP AlInP -%%%% fin exemple %%%% - -* Moins propre mais tout aussi efficace, on peut inclure le mot -à ne pas couper dans une hbox. - -Exemple : -Même quand il est en bout de ligne ce mot très long n'est pas -coupé CeMotTrèsLongNestPasCoupé. - -Même quand il est en bout de ligne ce mot très long n'est pas -coupé \hbox{CeMotTrèsLongNestPasCoupé}. -%%%% fin exemple %%%% - -* Pour empêcher LaTeX de couper les mots dans un paragraphe il -suffit de l'encadrer par les commandes \begin{sloppypar} et -\end{sloppypar}. - -* Pour empêcher LaTeX de couper les mots dans tout un document, -il faut utiliser la commande \sloppy dans le préambule du -document. On peut également utiliser la déclaration : -\hyphenpenalty 10000. - -* De manière globale, on peut aussi déclarer : -\DeclareFontFamily{T1}{cmr}{\hyphenchar\font=-1} - -* Pour interdire la coupure de tous les mots commençant par une -majuscule, il faut utiliser : \uchyph=0 dans le préambule du -document. - -* On peut également interdire la coupure des mots d'une langue -particulière dans un document multilingues en utilisant l'astuce -suivante : il suffit de créer un fichier de motifs de césures -vide, par exemple pour le russe -%%%% debut macro %%%% -%%% ruhyph.tex %%% -\patterns{} -\endinput -%%%%%%%%%%%%%%%%%%% -%%%% fin macro %%%% -et dans le fichier language.dat ajouter la ligne -russian ruhyph.tex - -# 6.45 # Comment mettre en forme des équations chimiques ? ----------------------------------------------------------- -* Le package 'ppchtex' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/context/ permet d'écrire des formules chimiques. - -* Sur Mac ou PC, il existe MDL qui est une version freeware -d'ISIS Draw qui permet de créer ses propres structures et de les -sauver sous format eps. Pour plus de détails, consulter -http://www.mdli.com/prod/ioffer.html. - -* Il existe le package 'chemsym' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/chemsym/. - -* Le package 'XymTex' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/xymtex/ ou -ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/xymtex/ permet de définir des -structures chimiques. - -Remarques (F. Jacquet) : -+ XyMTeX est incompatible avec le package french de B. Gaulle. -Pour utiliser les deux dans un même document, il suffit de -repasser en mode \english avant la macros puis \french après. Je -ne sais pas comment cela fonctionne pour les \caption mais en -théorie, ça devrait marcher ! -AL: Vérifier la réalité de cette remarque par rapport au dernier french. -+ XyMTeX possède le gros défaut de ne pas pouvoir faire de -longues chaînes aliphatiques si on ne sait pas programmer le -nombre de points entre deux structures. Le plus simple dans ce -cas est donc l'emploi de Xfig (ou autre). -+ On ne peut pas imbriquer les formules, ce qui gène -considérablement son utilisation; en revanche, pour les -cholestérol l'ensemble est très puissant ! - -# 6.46 # Comment mettre en page un calendrier ? ------------------------------------------------ -* Le package 'termcal' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/termcal/ permet de mettre -en page un calendrier. Il permet de préciser quels jours doivent -apparaître et d'insérer du texte soit régulièrement à certaines -dates soit à des dates particulières. - -* Le package 'calendar ' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/plain/contrib/ propose un ensemble de macros pour -mettre en page des calendriers. - -* Un autre package 'calendar' est également disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/calendar/. - -* Il existe également le package 'yplan97' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/yplan97/. - -# 6.47 # Comment forcer un caption sur plusieurs lignes ? ---------------------------------------------------------- -Pour forcer un retour à la ligne dans un caption, il faut -utiliser \caption[text1]{text2 \\\hspace{\linewidth} text3}. - -Remarque : text1 est le texte qui apparaîtra dans la liste des -figures ou des tableaux. - -# 6.48 # Comment générer des barres de modification dans un document ? ----------------------------------------------------------------------- -Il suffit d'utiliser le package 'changebar' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/changebar/. - -Exemple : -dans le préambule : -\usepackage[outerbars]{changebar} % permet de positionner les - % barres en marge externe -\setcounter{changebargrey}{20} % permet de fixer le niveau de - % gris des barres - -et dans le document : -\begin{changebar} - texte.. -\end{changebar} - -ou - -ancien texte ancien texte ancien texte \cbstart nouveau -texte nouveau texte nouveau texte \cbend ancien texte ancien -texte ancien texte ancien texte -%%%% fin exemple %%%% - -# 6.49 # Comment encadrer du texte verbatim ? ---------------------------------------------- -* Le package 'moreverb' propose un environnement encadré. - -Exemple : \begin{boxedverbatim} La commande \LaTeX permet -d'appeler le logo - LaTeX. -\end{boxedverbatim} -%%%% fin exemple %%%% - -# 6.50 # Comment écrire du texte en forme de losange ou autre ? ---------------------------------------------------------------- -Le package 'shapepar' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/ définit des -environnements losange, coeur, etc. - -Exemple : -\diamondpar{mon paragraphe en forme de losange.} -%%%% fin exemple %%%% - -# 6.51 # Comment isoler les flottants par un trait horizontal ? ---------------------------------------------------------------- -* Pour que les flottants qui sont renvoyés en début -(respectivement en fin) de page soient isolés du texte par un -trait horizontal en dessous (respectivement au dessus), il faut -activer les options suivantes dans le préambule du document : -\let\topfigrule\hrule -\let\botfigrule\hrule - -* Si leur comportement n'est pas satisfaisant, on peut le -redéfinir : -\newcommand{\topfigrule}{% - \vspace*{3pt}\noindent\rule{\linewidth}{0.4pt}\vspace{-3.4pt}} -\newcommand{\botfigrule}{% - \vspace*{3pt}\noindent\rule{\linewidth}{0.4pt}\vspace{-3.4pt}} - -# 6.52 # Comment insérer un espace vertical dans une page ? ------------------------------------------------------------ -Il suffit d'utiliser la commande \vspace et de préciser en -argument la hauteur de l'espace voulu. - -Exemple : -Texte avant. - -\vspace{2cm} - -Texte après. -%%%% fin exemple %%%% - -Remarque : la commande \vspace* force l'insertion d'un espace - vertical même si ce dernier se situe sur un - changement de page. - -# 6.53 # Comment insérer un espace horizontal dans un texte ? -------------------------------------------------------------- -De la même manière que pour les espaces verticaux, il existe la -commande \hspace pour insérer un espace horizontal dans un -texte. - -Exemple : -blabla bla \hspace{3cm} bli bli bli -%%%% fin exemple %%%% - -Remarque : la commande \hspace* force l'insertion d'un espace - même en début ou en fin de ligne. - -# 6.54 # Comment définir un style de paragraphe ? -------------------------------------------------- -* Pour agir de manière globale (sur tout le document), les -paramètres de définition d'un paragraphe sont : -+ \parindent pour fixer la longueur des indentations -+ \parskip pour gérer l'espace entre les paragraphes. - -Exemple : -\setlength{\parindent}{1cm} -\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex} -%%%% fin exemple %%%% - -* Pour forcer (supprimer) localement l'indentation d'un -paragraphe, il existe la commande \(no)indent. - -# 6.55 # À quoi sert la commande \stretch ? -------------------------------------------- -La commande \stretch{x} permet d'insérer un espace élastique qui -va s'ajuster de manière à forcer l'occupation de toute une -ligne (en mode horizontal) ou de toute une page (en mode -vertical). Le paramètre x est appelé facteur d'élasticité, il -intervient dès que plusieurs commandes \stretch sont appelées -sur la même ligne. - -Exemples : -+ bla\hspace{\stretch{1}} bla bla \hspace{\stretch{2}} bla bla -bla - -+ un texte normal \vspace{\stretch{1}} et un texte qui finit de -remplir la ligne courante et qui se poursuit tout en bas de la -page sur la dernière ligne. -%%%% fin exemple %%%% - -# 6.56 # Comment justifier un paragraphe à gauche ou à droite ? ---------------------------------------------------------------- -* Les environnements flushleft et flushright permettent de -justifier à gauche ou à droite une portion de texte. - -Exemple : -\begin{flushleft} - Texte aligné à gauche. Texte aligné à gauche. Texte aligné à - gauche. Texte aligné à gauche. Texte aligné à gauche. Texte - aligné à gauche. Texte aligné à gauche. Texte aligné à - gauche. Texte aligné à gauche. Texte aligné à gauche. Texte - aligné à gauche. -\end{flushleft} -%%%% fin exemple %%%% - -* Il existe également les commandes \raggedright et \raggedleft. - -Exemple : -{\raggedleft -Colle à droite. Colle à droite. Colle à droite. Colle à droite. -Colle à droite. Colle à droite. Colle à droite. - -Colle à droite. Colle à droite. Colle à droite. Colle à droite. Colle à -droite. Colle à droite. } -%%%% fin exemple %%%% - -* Le package 'ragged2e' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/ragged2e/ offre en plus des -commandes (\Centering, \RaggedLeft, et \RaggedRight) et des -environnements qui permettent de mieux gérer les césures. - -# 6.57 # Comment mettre en page des citations ? ------------------------------------------------ -Il existe deux environnements de gestion des citations : -+ quote pour les citations courtes, -+ quotation pour les citations longues. - -Exemple : -\begin{quote} - L'environnement \texttt{quote} n'indente pas ces paragraphes - par contre l'espace vertical entre ces derniers est supérieur - à celui d'un texte standard. - - La preuve~! -\end{quote} - -\begin{quotation} - L'environnement \texttt{quotation} indente la première ligne - de ses paragraphes et sépare ses paragraphes d'un espace - vertical standard. - - La preuve~! - -\end{quotation} - -Dans les deux cas les marges droite et gauche sont plus -importantes que celles d'un texte standard. -%%%% fin exemple %%%% - -# 6.58 # Comment insérer un texte sans que LaTeX le mette en forme ? --------------------------------------------------------------------- -L'environnement verbatim permet d'insérer un texte tel quel sans -que LaTeX ne le traite. Il permet notamment de faire apparaître -des commandes LaTeX. - -Exemple : -\begin{verbatim} - La commande \LaTeX permet d'imprimer le logo LaTeX. -\end{verbatim} -%%%% fin exemple %%%% - -* La commande \verb?texte? permet de faire la même chose -localement. Le premier caractère ? permet de marquer le début du -mode verbatim et le second en marque la fin. Il peut être -remplacé par n'importe quel autre caractère sauf un espace ou *. - -# 6.59 # Comment visualiser des espaces ? ------------------------------------------ -* L'environnement verbatim* et la commande \verb* permettent de -visualiser les espaces insérés dans un texte en les remplaçant -par un caractère spécial en forme de u. - -Exemple : -Je mange \verb*? ? pomme. -%%%% fin exemple %%%% - -* LaTeX propose la commande \textvisiblespace. - -* En TeX, c'est le caractère 32 de la fonte cmtt, qui est -défini dans le source du TeXBook par : -\def\]{\leavevmode\hbox{\tt\char`\ }} % visible space - -Vous pouvez donc définir: -\def\vs{\leavevmode\hbox{\tt\char`\ }} % visible space -et \vs donnera ce fameux caractère. - -# 6.60 # Comment insérer du code LaTeX dans un document LaTeX ? ---------------------------------------------------------------- -* Le package 'example' offre un environnement example qui permet en -ne tapant qu'une seule fois le code d'avoir côte à côte le code -LaTeX et son résultat après compilation. - -Exemple : -\begin{example} - La commande \LaTeX permet d'appeler le logo LaTeX. -\end{example} -%%%% fin exemple %%%% - -* La solution la plus classique consiste à faire : -\hbox{\vtop{\hsize 0.5\hsize le permier texte}\vtop{\hsize -0.5\hsize{\begin{verbatim} le même texte \end{verbatim}}}} - -# 6.61 # Comment écrire du texte en couleurs ? ----------------------------------------------- -* Voir à ce sujet le Cahier GUTenberg numéro 16 (février 1994, -entièrement consacré à ce problème) et l'article de M. Goossens -et M. Jouhet dans Cahier GUTenberg 21 (juin 1995, pages 30-52), -accessible à l'URL : -http://www.gutenberg.eu.org/publications/. - -* Le package 'color' est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/graphics/. Il permet de coloriser le -texte ou le fond du document. - -Exemple : -\textcolor{red}{Important} -%%%% fin exemple %%%% - -* pstricks disponible sur ftp://ftp.fdn.org/pub/CTAN/graphics/pstricks/ est un -ensemble de macros PostScript compatibles avec Plain -TeX, LaTeX, AmSTeX, and AmS-LaTeX. Il comprend notamment -des macros pour la colorisation, la gestion des graphiques, le -dessin de camembert, d'arbres, etc. - -* Voir également la question 6.25 : Comment griser le fond -(background) d'un paragraphe ? - -# 6.62 # Comment construire un arbre ? --------------------------------------- -* Le package 'qobitree', est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/qobitree/. - -* Le package 'treesvr' est également disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/treesvr/. - -Exemple : -\begin{picture}(100,100) -\setlength\unitlength{2mm} -\branchlabels ABC % 012 is the default -\root(2,10) 0. % root at absolute coordinate (2,10) - % its (internally used) label is 0 - % the space before the 0 obligatory -\branch2{16} 0:1,2. % node 0 has children 1 and 2 - % the text "16" is written above it - % space optional, :,. obligatory -\leaf{4}{$u_1$} 1. % node 1 is a leaf - % "4" written above, "$u_1$" at right -\branch2{12} 2:3,7. % branch to node 3 goes up labeled A - \tbranch2{9} 3:4,5,6. - \leaf{4}{$u_3$}4. - \leaf{3}{$u_4$}5. - \leaf{2}{$u_5$}6. - \leaf{3}{$u_2$} 7. -\end{picture} -%%%% fin exemple %%%% - -* Le package 'treetex' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/trees/tree_tex/ permet de metttre en -page des arbres sous LaTeX. - -* Les packages 'epic', 'eepic', 'ecltree' permettent de créer des -arbres (les trois packages sont nécessaires pour une -utilisation avec Latex2e pour garder la compatibilité avec -Latex2.09). - -Exemple : -\documentstyle[epic,eepic,ecltree]{article} -\begin{document} - -\begin{bundle}{racine} -\chunk{feuille 1} -\chunk{feuille 2} -\drawwith{\dottedline{3}} -\chunk{feuille 3} -\drawwith{\drawline} -\chunk{feuille 4} -\end{bundle} - -\end{document} -%%%% fin exemple %%%% - -# 6.63 # Comment mettre en page un poème ? ------------------------------------------- -* Il existe l'environnement verse. Il gère les marges, les -retours à la ligne dans une strophe se font par \\ et les -strophes sont séparées par des lignes blanches. - -Exemple: -\begin{verse} - J'ai un poney gris, \\ - Qui galope à travers la prairie. - - Grignote, grignote dans ma main, \\ - La carotte rousse du jardin. - - Mes cousins ont un poney blanc, \\ - Qui parcourt chemins et champs. -\end{verse} -%%%% fin exemple %%%% - -* Ci-dessous un exemple de style de JHB Nijhof -(nijhojhb@aston.ac.uk) : - -Exemple : -\documentstyle[a4,12pt]{article} - -\def\testline{\par\noindent\hbox to 0pt{\hss*\hss}\hfill -\hbox to 0pt{\hss*\hss}\hfill\hbox to 0pt{\hss*\hss}\par} -\def\centerstar{\par\medskip\noindent\hbox to\hsize% -{\hss*\hss}\par\medskip} - -\newbox\poembox -\newbox\widebox -\newdimen\centerx -\newcount\linecount -\newdimen\poemleftmargin -\def\newpoem{\setbox0=\box\poembox \setbox0=\box\widebox -\linecount=0} % empty boxes -\newpoem % probably not necessary -\def\poemline#1{\setbox0=\hbox{\strut #1}% - \setbox\poembox=\vbox{\unvbox\poembox\copy0}% - \setbox\widebox=\hbox{\unhbox\widebox\copy0}% - \advance \linecount 1} -\def\setpoem{% you'll want a clearpage here -\centerx=\wd\widebox \divide\centerx\linecount \divide\centerx 2% -%now centerx is the x of the center of gravity -\poemleftmargin=0.5\hsize \advance \poemleftmargin-\centerx -\noindent\kern\poemleftmargin\box\poembox -\par -\newpoem} - -\begin{document} - -\testline % for viewing the margins/ middle -\poemline{Rozen verwelken} -\poemline{schepen vergaan} -\poemline{maar onze liefde} -\poemline{zal blijven bestaan} -\setpoem - -\centerstar - -\poemline{Rozen verwelken} -\poemline{schepen vergaan} -\poemline{maar onze liefde zal blijven bestaan} -\setpoem - -\centerstar - -\poemline{Rozen verwelken, schepen vergaan} -\poemline{maar onze liefde zal blijven bestaan} -\setpoem - -\centerstar - -\poemline{Rozen verwelken} -\poemline{\qquad schepen vergaan} -\poemline{maar onze liefde} -\poemline{\qquad zal blijven bestaan} -\setpoem - -\centerstar - -\end{document} -%%%% fin exemple %%%% - -# 6.64 # Comment aligner des paragraphes ? ------------------------------------------- -On peut utiliser la commande \parindent. - -Exemple : -{\settowidth{\parindent} -{Notes~:\ } - -\makebox[0pt][r] -{Notes~:\ }La première note pour dire que ... - -La seconde pour préciser que ... -} -%%%% fin exemple %%%% - -# 6.65 # Comment construire une liste d'éléments ? --------------------------------------------------- -Il existe trois environnements de liste par défaut : -+ l'environnement itemize -+ l'environnement description -+ l'environnement enumerate - -Exemples : -\begin{itemize} - \item un élément - \item un autre élément -\end{itemize} - -\begin{description} - \item[Genre] Le genre peut être féminin ou masculin - \item[Nombre] Le nombre peut être singulier ou pluriel -\end{description} - -\begin{enumerate} - \item premier élément - \item deuxième élément -\end{enumerate} -%%%% fin exemple %%%% - -# 6.66 # Comment faire une note dans une marge ? ------------------------------------------------- -On peut utiliser la commande \marginpar{note marge}. - -Exemple : -La valeur du paramètre temps est fixée à -12~minutes\marginpar{AC}. En tenant compte de cette hypothèse -les résultats obtenus sont les suivants~: - -~\ldots -%%%% fin exemple %%%% - -Remarque : Pour inverser les notes dans les marges - (droite/gauche) il suffit de mettre dans le - préambule : \reversemarginpar. - -# 6.67 # Comment faire une page de garde ? ------------------------------------------- -Les commandes permettant de définir une page de garde sont : -+ \title pour un titre -+ \author pour le ou les auteurs (dans ce dernier cas leurs noms -sont séparés par la commande \and) -+ \date pour la date -+ \thanks utilisée dans l'une des commandes ci-dessus permet de -faire référence à une note de bas de page. - -La page de garde est ensuite générée par la commande \maketitle -appelée dans le corps du document (généralement juste après la -balise \begin{document}). - -Exemple : -\documentclass{report} -\usepackage{french} - -\newlength{\larg} -\setlength{\larg}{14.5cm} - -\title{ -{\rule{\larg}{1mm}}\vspace{7mm} -\begin{tabular}{p{4cm} r} - & {\Huge {\bf {FAQ} \LaTeX{} française}} \\ - & \\ - & {\huge Pour débutants et confirmés} -\end{tabular}\\ -\vspace{2mm} -{\rule{\larg}{1mm}} -\vspace{2mm} \\ -\begin{tabular}{p{11cm} r} - & {\large \bf Version 2.0} \\ - & {\large \today} -\end{tabular}\\ -\vspace{5.5cm} -} -\author{\begin{tabular}{p{13.7cm}} -Marie-Paule Kluth -\end{tabular}\\ -\hline } -\date{} - -\begin{document} -\maketitle - -Voici mon document. - -\end{document} -%%%% fin exemple %%%% - -# 6.68 # Comment utiliser \thanks dans chaque titre de chapitre ? ------------------------------------------------------------------ -Pour associer des remerciements dans chaque chapitre d'un thèse, -par exemple, il faut définir sa propre macro à base de -\footnote. - -Exemple (R. Fairbairns) : -\documentclass{report} -\usepackage{french} - -\newcommand\thankschapter[2]{% - % arg 1 is chapter title - % arg 2 is `thanks' text - \edef\savefootnote{\thefootnote} - \renewcommand\thefootnote{\fnsymbol{footnote}} - \chapter[#1]{#1\footnote[1]{#2}} - \renewcommand\thefootnote{\arabic{footnote}} - \setcounter{footnote}{\savefootnote} -} -\begin{document} -\chapter{Préface.}{\textit{Un grand merci à M. Nigaudon pour -avoir accepter de préfacer ce livre.\\}} - -Ce livre traitant de \LaTeX,~\ldots - -\end{document} -%%%% fin exemple %%%% - -# 6.69 # Comment mettre un résumé et un abstract dans un document ? -------------------------------------------------------------------- -* Le package 'french' propose les environnements resume et -abstract. - -Exemple (textes sur la même page) : -\documentclass{article} -\usepackage{french} -\pagestyle{empty} -\begin{document} -\begin{resume} résumé en français \end{resume} - \english -\begin{abstract} the same in english \end{abstract} - \french - - Cet article~\ldots -\end{document} -%%%% fin exemple %%%% - -Remarque : \resume n'est qu'un alias de \abstract. - -Exemple (chaque résumé est sur une page séparée) : -\begin{english} - \begin{abstract} - english text - \end{abstract} -\end{english} - -\begin{french} - \begin{abstract} - Texte français - \end{abstract} -\end{french} -%%%% fin exemple %%%% - -* Le package 'babel' peut également être utilisé. - -Exemple : -\usepackage[francais,english]{babel} -... -\selectlanguage{francais} -resume : je parle français -.... -\selectlanguage{english} -abstract : I speak english -.... -%%%% fin exemple %%%% - -* Autre solution qui ne permet toutefois pas d'avoir les deux -textes sur la même page : - -%%%% debut macro %%%% -\renewcommand{\abstractname}{Résumé} -\begin{abstract} résumé en français \end{abstract} -\renewcommand{\abstractname}{Abstract} -\begin{abstract} the same in english \end{abstract} -%%%% fin macro %%%% - -# 6.70 # Comment définir de nouvelles couleurs ? ------------------------------------------------- -Il existe deux repères pour cela : -+ cyan, magent, yellow, black et la commande : -\definecolor{nouveau_nom}{cmyk}{w,x,y,z} -\newcmykcolor{le_nom_de_la_couleur}{w x y z} -avec w,x,y,z entre 0.0 et 1.0 - -+ red,green, blue et la commande : -\definecolor{nouveau_nom}{rgb}{a,b,c} -ou : \newrgbcolor{le_nom_de_la_couleur}{a b c} -avec a,b,c entre 0.0 et 1.0 - -+ il existe également : -\newhsbcolor{le_nom_de_la_couleur}{num1 num2 num3} -qui permet de jouer sur le << hue >>, la saturation et la -luminosité. - -# 6.71 # Comment placer des figures face à face en recto-verso ? ----------------------------------------------------------------- -Dans un document recto-verso, pour s'assurer qu'une figure -apparaisse sur la page de gauche et une autre sur la page de -droite en face, il faut utiliser le package 'dpfloat' disponible -sur: http://weber.u.washington.edu/~fox/tex/dpfloat.html. - -# 6.72 # Quelles sont les différences entre a4paper et letterpaper ? --------------------------------------------------------------------- -L'option a4paper exécute : - \setlength\paperheight {297mm} - \setlength\paperwidth {210mm} - -L'option par défaut est letterpaper qui fait - \setlength\paperheight {11in} - \setlength\paperwidth {8.5in} - -Remarque (J. Kanze) : Il faut remarquer que la différence n'est - pas énorme : les défauts en mm sont 279x216. En fait, - sur le petit test que j'ai fait, les coupures de - lignes se trouvaient exactement aux mêmes endroits -- - en revanche, chaque page contenait bien quelques - lignes de plus avec a4paper. - -# 6.73 # Comment couper une chaîne de caractères ? --------------------------------------------------- -* Pour forcer la coupure d'une chaîne de caractères, il faut -utiliser la commande \- à l'endroit où la chaîne doit être -coupée. - -Exemple : -Je décide que le dernier mot de cette ligne soit coupé en deux -ici:~ do\-cumentation. N'est-ce pas beau~? -%%%% fin exemple %%%% - -* Pour indiquer à LaTeX comment couper certain mots, on peut -utiliser la commande \hyphenation. - -Exemple : -\hyphenation{do-cu-ment} -Je décide que le dernier mot de cette ligne soit coupé en deux -ici:~ documentation. N'est ce pas beau~? -%%%% fin exemple %%%% - -# 6.74 # Comment modifier l'espace entre une figure et sa légende ? -------------------------------------------------------------------- -Les deux variables qui définissent respectivement l'espace avant -une légende et l'espace après sont : \abovecaptionskip et -\belowcaptionskip. - -Exemple de redimensionnement : -\setlength\abovecaptionskip{0.25ex} -%%%% fin exemple %%%% - --- -Benjamin Bayart -bayartb@edgard.fdn.fr diff --git a/Master/texmf-doc/doc/french/FAQ-fr/part3 b/Master/texmf-doc/doc/french/FAQ-fr/part3 deleted file mode 100644 index ff8ae0d9136..00000000000 --- a/Master/texmf-doc/doc/french/FAQ-fr/part3 +++ /dev/null @@ -1,2487 +0,0 @@ -Path: tempo.univ-lyon1.fr!univ-lyon1.fr!news.imp.ch!fr.clara.net!heighliner.fr.clara.net!maredsous.noc.fr.clara.net!victor.teaser.fr!teaser.fr!fdn.fr!edgard.fdn.fr!not-for-mail -Date: 08 Jun 2001 13:31:18 +0200 -Newsgroups: fr.comp.text.tex,fr.usenet.reponses -Subject: [FAQ] fr.comp.text.tex - parties 7 a 11 -Message-ID: <faq-fctt-p320010608133118@edgard.fdn.fr> -X-Posted-By: poste.sh version 1.1 -From: bayartb@edgard.fdn.fr (Nono le robot) -Supersedes: <faq-fctt-p320010501143416@edgard.fdn.fr> -Expires: 08 Jul 2001 13:31:17 +0200 -Followup-To: poster -Organization: French Data Network -Approved: bayartb@edgard.fdn.fr -Lines: 2477 -Xref: tempo.univ-lyon1.fr fr.comp.text.tex:23523 fr.usenet.reponses:20389 - -Archive-name: fr/faq-latex-francaise/part3 - -Author: Marie-Paule Kluth -Posting-Frequency: mensuel (monthly) -Version: 2.27 - -================================================================ - Cette FAQ, rédigée initialement par MP Kluth est maintenant - tenue à jour autant que possible par B. Bayart et - plusieurs volontaires (voir question [30]). -================================================================ - -================================================================ -[7] GESTION DES TABLEAUX -================================================================ - -# 7.1 # Comment faire un tableau ? ----------------------------------- -En mode texte, il faut utiliser l'environnement tabular. Chaque -colonne est ensuite décrite par r, l ou c pour obtenir une -colonne de texte justifié à droite, à gauche ou centré. Chaque -déclaration de colonne peut être délimitée par une séparation -verticale : | ou rien. Une ligne horizontale entre deux lignes -s'obtient par la commande \hline. Le contenu de chaque colonne -est séparé de celui de la suivante par le symbole &. Le -changement de ligne est obtenu par la commande \\. - -Lorsque plusieurs colonnes adjacentes ont la même définition, on -peut grouper leurs déclarations avec la commande -*{nb_colonnes}{déclaration} - -Exemple : -\begin{tabular}{|*{2}{c|}l r|} - \hline - une & deux & trois & quatre \\ - case centrée & encore centrée & à gauche & à droite \\ - \hline -\end{tabular} -%%%% fin exemple %%%% - -# 7.2 # Comment gérer les tableaux de plus d'une page ? -------------------------------------------------------- -* Le package 'supertabular' permet de gérer automatiquement (ou -presque) les coupures de tableaux. Il est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/supertabular/. -Il calcule la longueur du tableau à chaque \\ et vérifie si la -fin de page est atteinte. Si oui, il coupe le tableau. Les -commandes à utiliser sont : -+ \tablefirsthead{...} pour définir le contenu de la première -occurrence de la tête du tableau. Cette commande est optionnelle. -+ \tablehead{...} pour définir le contenu de la tête des -tableaux suivants. -+ \tabletail{...} définit le contenu de la ligne qui doit être -ajoutée avant une coupure -+ \tablelasttail{...} définit le contenu de la dernière ligne -du tableau. Cette commande est optionnelle. -+ \topcaption{...}, \bottomcaption{...} et \tablecaption{...} -permettent de nommer un tableau soit au début ou à la fin du -tableau. \tablecaption{...} est l'option par défaut. - -Exemple : -\begin{center} - \tablefirsthead{\hline \multicolumn{1}{|c}{Nombre} - & \multicolumn{1}{c}{Nombre$^2$} - & Nombre$^4$ - & \multicolumn{1}{c|}{Nombre!} \\ \hline} - \tablehead{\hline \multicolumn{4}{|l|}{\small\sl continued - from previous page}\\ - \hline \multicolumn{1}{|c}{ Nombre} - & \multicolumn{1}{c}{Nombre$^2$} - & Nombre$^4$ - & \multicolumn{1}{c|}{Nombre!} \\ \hline} - \tabletail{\hline\multicolumn{4}{|r|}{\small\sl Suite page - suivante~\ldots}\\\hline} \tablelasttail{\hline} - \bottomcaption{Fin.} - \par - \begin{supertabular}{| r@{\hspace{6.5mm}}| - r@{\hspace{5.5mm}}| r | r|} - 1 & 1 & 1 & 1 \\ - 2 & 4 & 16 & 2 \\ - 3 & 9 & 81 & 6 \\ - 4 & 16 & 256 & 24 \\ - 5 & 25 & 625 & 120 \\ - 6 & 36 & 1296 & 720 \\ - 7 & 49 & 2401 & 5040 \\ - 8 & 64 & 4096 & 40320 \\ - 9 & 81 & 6561 & 362880 \\ - 10 & 100 & 10000 & 3628800 \\ - 11 & 121 & 14641 & 39916800 \\ - 12 & 144 & 20736 & 479001600 \\ - 13 & 169 & 28561 & 6.22702080E+9 \\ - 14 & 196 & 38416 & 8.71782912E+10\\ - 15 & 225 & 50625 & 1.30767437E+12\\ - 16 & 256 & 65536 & 2.09227899E+13\\ - 17 & 289 & 83521 & 3.55687428E+14\\ - 18 & 324 & 104976 & 6.40237370E+15\\ - 19 & 361 & 130321 & 1.21645100E+17\\ - 20 & 400 & 160000 & 2.43290200E+18\\ - \hline - 1 & 1 & 1 & 1 \\ - 2 & 4 & 16 & 2 \\ - 3 & 9 & 81 & 6 \\ - 4 & 16 & 256 & 24 \\ - 5 & 25 & 625 & 120 \\ - 6 & 36 & 1296 & 720 \\ - 7 & 49 & 2401 & 5040 \\ - 8 & 64 & 4096 & 40320 \\ - 9 & 81 & 6561 & 362880 \\ - 10 & 100 & 10000 & 3628800 \\ - 11 & 121 & 14641 & 39916800 \\ - 12 & 144 & 20736 & 479001600 \\ - 13 & 169 & 28561 & 6.22702080E+9 \\ - 14 & 196 & 38416 & 8.71782912E+10\\ - 15 & 225 & 50625 & 1.30767437E+12\\ - 16 & 256 & 65536 & 2.09227899E+13\\ - 17 & 289 & 83521 & 3.55687428E+14\\ - 18 & 324 & 104976 & 6.40237370E+15\\ - 19 & 361 & 130321 & 1.21645100E+17\\ - 20 & 400 & 160000 & 2.43290200E+18\\ - \hline - 1 & 1 & 1 & 1 \\ - 2 & 4 & 16 & 2 \\ - 3 & 9 & 81 & 6 \\ - 4 & 16 & 256 & 24 \\ - 5 & 25 & 625 & 120 \\ - \end{supertabular} -\end{center} -%%%% fin exemple %%%% - -* Le package 'longtable', de D. Carlisle, disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/tools/, fonctionne de la même -manière mais mieux et permet de définir une taille de tableau -commune sur toutes les pages. Les commandes associées à ce -package sont \endfirsthead, \endhead, \endfoot et \endlastfoot. - -\begin{longtable} - {|p{0.2\linewidth}|p{0.2\linewidth}|p{0.2\linewidth}|} - \hline - Premiere colonne & Deuxieme & Troisieme \endfirsthead - \hline - Premiere & Deuxieme & Troisieme \\ - \multicolumn{3}{|p{0.6666\linewidth}|}{Suite ... } \\ - \endhead - \hline - \multicolumn{3}{|p{0.6666\linewidth}|}{Suite page suivante} - \\ \hline \endfoot \hline - \multicolumn{3}{|p{0.6666\linewidth}|}{C'est fini} \\ - \hline - \endlastfoot \hline - 1 & 1 & 1 \\ - 2 & 4 & 16 \\ - 3 & 9 & 81 \\ - 1 & 1 & 1 \\ - 2 & 4 & 16 \\ - 3 & 9 & 81 \\ - 1 & 1 & 1 \\ - 2 & 4 & 16 \\ - 3 & 9 & 81 \\ - 1 & 1 & 1 \\ - 2 & 4 & 16 \\ - 3 & 9 & 81 \\ -\end{longtable} - -au lieu de faire des calculs de largeurs de colonne, on peut -aussi mettre un \setlongtables dans le préambule et déclarer -ses tableaux comme à l'habitude en \begin{longtable}{|c|c|c|} -et LaTeX se charge du reste. Dans ce cas, l'ajustement des -colonnes peut nécessiter plusieurs (jusqu'à trois) compilations -enchaînées. - -* Le package 'ltxtable' de D. Carlisle, disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/carlisle/ permet de -profiter des fonctionnalités de tabularx et de longtable. - -# 7.3 # Comment modifier l'orientation d'un tableau ? ------------------------------------------------------ -* On peut utiliser la commande \rotatebox du package 'graphics' -de D. Carlisle. Ce package est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/graphics/. - -Exemple : -\rotatebox{90}{ -\begin{tabular}{|c|c|} - \hline - salut & coucou \\ - \hline -\end{tabular} -} -%%%% fin exemple %%%% - -* Le style 'lscape' de D. Carlisle marche aussi avec -l'environnement longtable (du même). - -* De même l'environnement sidewaystable du package 'rotating' -permet d'inclure des tableaux en mode landscape. Le sens de -rotation peut être changé par l'option counterclockwise. - -Exemple : -\documentclass{report} -\usepackage[counterclockwise]{rotating} -\usepackage{french} -\pagestyle{empty} -\begin{document} -\rotatebox{90}{ -\begin{tabular}{|c|c|} - \hline - vu & à voir \\ - de Latour & Van Gogh \\ - \hline -\end{tabular} -} -\end{document} -%%%% fin exemple %%%% - -* Le package 'rotfloat' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/rotfloat/ permet de gérer -la rotation des flottants. - -# 7.4 # Comment nommer un tableau ? ------------------------------------ -Pour pouvoir associer une légende (\caption) à un tableau, il -suffit de l'encapsuler dans un environnement table. - -Exemple : -\begin{table}[htbp] - \begin{center} - \begin{tabular}{|c|c|} - \hline - un & deux \\ - \hline - trois & quatre \\ - \hline - \end{tabular} - \caption{Nom du tableau. \label{table-nom}} - \end{center} -\end{table} -%%%% fin exemple %%%% - -# 7.5 # Comment modifier l'épaisseur des lignes d'un tableau ? --------------------------------------------------------------- -* Pour obtenir des lignes horizontales fines ou épaisses dans un -tableau, il faut utiliser les commandes -\setlength{\doublerulesep}{\arrayrulewidth} dans l'entête du -document puis dans le tableau -\\\hline pour une ligne fine -\\\hline\hline pour une ligne épaisse - -* Autre solution : la macro de A. Kessi (alain.kessi@psi.ch) - -%%%% debut macro %%%% -\makeatletter -\def\hlinewd#1{% -\noalign{\ifnum0=`}\fi\hrule \@height #1 % -\futurelet\reserved@a\@xhline} -\makeatother -%%%% fin macro %%%% - -Exemple : -\begin{tabular}{|l|r|} \hline - premier & 1 \\ \hline - second & 2 \\ \hlinewd{5pt} - total & 3 \\ \hline -\end{tabular} -%%%% fin exemple %%%% - -Même chose pour les lignes verticales. -%%%% debut macro %%%% - \begin{tabular}{@{\,\vrule width 5pt\,}c|c|} -%%%% fin macro %%%% - -* Le package 'easytable' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/easy/ propose différents -styles de lignes de séparation des cellules d'un tableau. - -# 7.6 # Comment griser des cellules d'un tableau ? --------------------------------------------------- -* Le package 'colortab' disponible par ftp sur -ftp://ftp.princeton.edu/pub/tvz/ ou sur -ftp://ftp.fdn.org/pub/CTAN/graphics/pstricks/generic/ (accompagné de sa doc dans -ftp://ftp.fdn.org/pub/CTAN/graphics/pstricks/origdoc/) permet de griser ou de mettre en -couleur certaines parties de tableau. - -Remarque : colortab n'est pas actuellement maintenu par Van - Zandt et l'extension longtable, avec laquelle il - était compatible, ne fonctionne plus. -AL: c'est toujours vrai, ça ? - -* Il est possible également d'utiliser le package 'shade' -disponible sur {macros/generic/}. - -* D. Carlisle propose également le package 'colortbl' sur -ftp://ftp.fdn.org/pub/CTAN/macros/contrib/supported/carlisle/. Ce package permet -non seulement de gérer de la couleur mais il est en outre -compatible avec le package 'longtable'. Il nécessite les -packages 'array' et 'color'. - -Exemple : -\begin{tabular}{|>{\columncolor[gray]{.8}}l% -|>{\color{white}\columncolor[gray]{.2}}r|} - \hline - UN & DEUX \\ - TROIS & QUATRE \\ - \hline -\end{tabular} -%%%% fin exemple %%%% - -# 7.7 # Comment changer la fonte d'une colonne ? ------------------------------------------------- -Pour préciser une fonte spécifique dans une colonne d'un -tableau, on peut utiliser le package 'array'. Ce dernier est -disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/tools/. - -Exemple : -\begin{tabular}{>{\bfseries}l >{\slshape}r c} - gras & penché & normal \\ -\end{tabular} -%%%% fin exemple %%%% - -# 7.8 # Comment créer des notes de bas de page dans un tableau ? ----------------------------------------------------------------- -* Il suffit d'encapsuler le tableau dans un environnement -minipage et pour supprimer le trait de séparation des notes de -bas de page de déclarer : \renewcommand{\footnoterule}{}. - -Exemple : -\begin{minipage}[t]{5cm} - \renewcommand{\footnoterule}{} % permet de supprimer le - % trait de séparation - \begin{tabular}{|c|c|} - \hline - Air & Terre\footnote{Feu}\\ - \hline - \end{tabular} -\end{minipage} -%%%% fin exemple %%%% - -Remarque : dans ce cas, la note apparaît juste après le tableau, - dans l'environnement minipage. - -* On peut également utiliser : -\footnote[cptr]{texte.} -toujours dans un environnement minipage, et gérer soi-même ses -compteurs (cptr est un entier alors que les marques qui -apparaissent dans le tableau sont les lettres de l'alphabet). - -Remarque : ici aussi la note apparaît en dessous du tableau. - -* Il existe également deux commandes spécifiques \footnotemark[] -et \footnotetext[]{}. \footnotemark permet de gérer le compteur -de notes et \footnotetext permet d'insérer le texte -correspondant en bas de page. - -Exemple : -\begin{tabular}{|c|c|} - \hline - donnee1\footnotemark[1] & donnee2\footnotemark[2] \\ - \hline -\end{tabular} -\footnotetext[1]{Note associ\'ee \`a la donn\'ee 1.} -\footnotetext[2]{Note associ\'ee \`a la donn\'ee 2.} -%%%% fin exemple %%%% - -Remarque : ici les notes apparaissent bien dans le bas de page. - -# 7.9 # Comment écrire un texte sur plusieurs colonnes ? --------------------------------------------------------- -Il faut utiliser la commande : -\multicolumn{nb_colonnes}{alignement}{Texte} - -Exemple : -\begin{tabular}[b]{|l|c|} - \hline - \multicolumn{2}{|c|}{Texte sur 2 colonnes} \\ - \hline \hline - donnée1 & donnée2 \\ - A & B \\ - \hline -\end{tabular} -%%%% fin exemple %%%% - -Remarque : dans le cas où le nombre de colonnes à couvrir est - égal à 1, cette commande peut être utilisée pour - modifier l'alignement (c, l, r, |, etc) d'une - cellule. - -# 7.10 # Comment passer certaines cellules en reverse vidéo ? -------------------------------------------------------------- -Le package 'color' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/graphics/ permet entre autres de le -faire. En fait, il permet de définir des couleurs de texte et de -fond de page. - -Exemples : -\tabcolsep=30pt -\begin{tabular}{|c|c|c|} -\hline -1&&\\ -&\colorbox{black}{\strut{\color{white}Coucou}}&\\ -&&2\\ -\hline -\end{tabular} - -ou (\LaTeXe) - -\newlength\Coucoulength -\settowidth\Coucoulength{Coucou Coucou Coucou} - -\begin{tabular}{|c|c|c|} -\hline -1&Coucou Coucou Coucou &\\ -&\colorbox{black}{\makebox[\Coucoulength][c]{\color{white}Coucou}} -&\\ -&&2\\ -\hline -\end{tabular} -%%%% fin exemple %%%% - -# 7.11 # Comment fixer la largeur d'une colonne ? -------------------------------------------------- -* p{largeur} dans les descripteurs de colonne permet de fixer la -largeur d'une colonne. Dans ce cas par défaut le texte est -justifié à gauche. Les commandes \centering et \raggedright -permettent respectivement de le centrer ou de le justifier à -droite. - -Exemple : -\begin{center} - \begin{tabular}{|c|l|p{4cm}|r|} - \hline - centré & à gauche & largeur fixe & à droite \\ - bla bla bla & bla bla bla & bla bla bla & bla bla bla \\ - \hline - \end{tabular} -\end{center} -%%%% fin exemple %%%% - -* Avec le package 'array', disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/tools/, il faut utiliser l'option -m{largeur}. - -* Le package 'easytable' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/easy/ permet facilement d'écrire -des tableaux dont les colonnes ont une largeur fixe. - -# 7.12 # Comment écrire un texte sur plusieurs lignes ? -------------------------------------------------------- -Il existe le package 'multirow' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/misc/. Il permet d'écrire un texte à -cheval sur deux lignes. - -Exemple : -\begin{table}[htbp] - \begin{center} - \begin{tabular}{|c|c||c|c|} - \hline - \multirow{2}{0.5cm}{k} & \multirow{2}{0.5cm}{$p_G$} & - \multicolumn{2}{c|}{test} \\ - \cline{3-4} - & & DADWRD & RARWRD \\ - \hline - 2 & $1$ & 90 n & 228 n \\ - 3 & $p_d$ & 202 n & 449 n \\ - 4 & $p_d^2$ & 424 n & 891 n \\ - 5 & $p_d^3$ & 866 n & 1774 n \\ - \hline - \end{tabular} - \caption{Nombre d'opération par cellule des tests - pseudo-aléatoires de fautes de type k-coupling. - \label{table-compar}} - \end{center} -\end{table} -%%%% fin exemple %%%% - -# 7.13 # Comment diviser une cellule par une diagonale ? --------------------------------------------------------- -Il faut utiliser le package 'slashbox' disponible par ftp sur -ftp://ftp.tohoku.ac.jp/pub/TeX/latex-styles/bear_collections/style-files/. - -Exemple (de la doc) : -\begin{tabular}{|l||*{5}{c|}}\hline -\backslashbox{Room}{Date} -&\makebox[3em]{5/31}&\makebox[3em]{6/1}&\makebox[3em]{6/2} -&\makebox[3em]{6/3}&\makebox[3em]{6/4}\\\hline\hline -Meeting Room &&&&&\\\hline -Auditorium &&&&&\\\hline -Seminar Room &&&&&\\\hline -\end{tabular} -%%%% fin exemple %%%% - -# 7.14 # Comment définir une colonne en mode mathématique dans un tableau ? ---------------------------------------------------------------------------- -Avec le package 'array' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/tools/, il suffit de déclarer -\begin{tabular}{>{$}c<{$}cc} pour avoir une colonne en mode -mathématique et deux colonnes de texte. - -# 7.15 # Comment modifier le nombre de tableaux par page ? ----------------------------------------------------------- -cf. question 8.4. - -# 7.16 # Comment mettre deux tableaux côte à côte ? ---------------------------------------------------- -cf. question 8.3. - -# 7.17 # Comment définir un séparateur de colonne ? ---------------------------------------------------- -@{symbole} entre deux descripteurs de colonnes permet de définir -"symbole" comme séparateur de colonnes. Cela remplace |. - -Exemple : -\begin{tabular}{|l @{\textbf{ est }} l|} - \hline - Le lion & féroce. \\ - Le chien & fidèle. \\ - \hline -\end{tabular} -%%%% fin exemple %%%% - -# 7.18 # Comment obtenir des lignes partielles dans un tableau ? ----------------------------------------------------------------- -La commande \cline{ColonneDebut-ColonneFin} est faite pour ça. - -Exemple : -\begin{center} - \begin{tabular}{|c|c|c||c|c|c|c|c|c|c||c|} - \hline \hline - a & b & c & d & e & f & g & h & i & j & k \\ - \cline{1-4} \cline{6-6} \cline{8-9} - 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 \\ - \hline - \end{tabular} -\end{center} -%%%% fin exemple %%%% - -# 7.19 # Comment éviter que du texte de grande taille n'atteigne le cadre des cellules ? ----------------------------------------------------------------------------------------- -* Il faut pour cela utiliser la commande \strut qui simule un -objet vertical invisible, après le changement de fonte. - -Exemple : -\begin{tabular}{|l|} - \hline - {\large HELLO} dfg \\ - \hline -\end{tabular} -\begin{tabular}{|l|} - \hline - {\large\strut HELLO} dfg \\ - \hline -\end{tabular} -%%%% fin exemple %%%% - -* Il existe l'équivalent mathématique : \mathstrut. - -* On peut également agrandir la hauteur des lignes avec la -commande \arraystretch : - \renewcommand{\arraystretch}{1.5} - -# 7.20 # Comment fixer la largeur d'un tableau ? ------------------------------------------------- -* Le package 'tabularx' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/tools/ permet de définir une largeur -de tableau. - -* Le package 'easytable' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/easy/ permet facilement de -fixer des largeur de colonnes ou de lignes. - -# 7.21 # Comment tracer des traits discontinus ? ------------------------------------------------- -Il faut utiliser les packages 'hvdashln' et 'array'. - -Exemple : -dans le préambule du document : -\usepackage{hvdashln,array} -\setlength{\hdashlinewidth}{.5pt} -\setlength{\hdashlinegap}{2pt} - -dans le texte : -\[ -\left[ \begin{array}{ccc@{}>{\vdashline}c} - a_1 & b_1 & c_1 & d_1 \\ - a_2 & b_2 & c_2 & d_2 \\ - a_3 & b_3 & c_3 & d_3 \\ - a_4 & b_4 & c_4 & d_4 -\end{array} \right] -\] -%%%% fin exemple %%%% - -# 7.22 # Comment fixer la taille et justifier une colonne ? ------------------------------------------------------------ -Le problème qui se pose lorsqu'on utilise : -\begin{tabular}{|>{\raggedright}p{0.33\textwidth}<{}| - >{\raggedleft}p{0.66\textwidth}<{}|} - A& \\ - B&C \\ -\end{tabular} -vient du fait que \\ est redéfini par tabular et les commandes -ragged. On ne peut donc plus utiliser \\ dans un texte. - -Il existe différentes solutions pour pallier ce problème : -* on peut corriger ce problème en incluant les lignes suivantes -dans le préambule du document : -\makeatletter -\newtoks\fintableau -\let\fintableau\@arraycr -\makeatother - -* avec le package 'array', il suffit d'utiliser -la commande \tabularnewline[<vertical space>] à la place de la -commande \\. - -Exemple : -\begin{tabular}{|r|r|>{\raggedleft}m{190pt}|} - \hline - col1 & col 2 & col3 \tabularnewline - une & deux & trois \\ quatre \tabularnewline - \hline -\end{tabular} -%%%% fin exemple %%%% - -* on peut également inclure la nouvelle commande suivante dans -le préambule du document : -\newcommand\PreserveBackSlash[1]{\let\temp=\\#1\let\\=\temp} -puis en utilisant : -\begin{tabular}{|r|r|>{\PreserveBackSlash\raggedleft}m{190pt}|} - -# 7.23 # Comment faire une liste de tableaux ? ----------------------------------------------- -Il suffit d'inclure la commande \listoftables à l'endroit où -l'on veut inclure cette liste. Sachant que cette liste fait -référence aux pages où apparaissent les tableaux, il faut -enchaîner au moins deux compilations LaTeX pour que toutes les -références soient exactes. - -================================================================ -[8] GESTION DES FIGURES -================================================================ - -# 8.1 # Comment inclure une figure ? ------------------------------------- -Remarque : A. K. Goel a écrit un long document concernant les - problèmes de gestion de figures et d'images dans - LaTeX. Ce dernier est disponible par ftp anonyme sur - ftp://math.uwaterloo.ca/pub/figsInLatex.ps.Z ou sur - ftp://ftp.fdn.org/pub/CTAN/info/figsinltx.ps - - De même, K. Reckdahl a écrit "Using EPS Graphics in - LaTeX2e Documents". Ce document est disponible sur - ftp://ftp.fdn.org/pub/CTAN/info/epslatex.ps. - -* Sous LaTeX2e, il faut utiliser l'un des packages : -'graphics' ou 'graphicx' et la commande \includegraphics. Cette -commande accepte des options telles que dvips ou oztex (cf. -documentation pour plus de détails). -Le package 'graphicx' a pour majeure différence avec 'graphics' -d'en simplifier les commandes. Ces packages sont disponibles sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/graphics/. Pour plus de -détails, consulter http://www.loria.fr/services/tex/packages.html. - -Exemple : -\begin{figure}[htbp] - \begin{center} - \includegraphics{images/fig1.ps} - \end{center} - \caption{\footnotesize blah blah blah} -\end{figure} -%%%% fin exemple %%%% - -La commande \includegraphics du package 'graphicx' peut prendre -comme paramètres angle, width, height, scale, clip et draft. - -Exemple : -\includegraphics[width=\linewidth, draft=true]{figure.eps} -%%%% fin exemple %%%% - -* Sous LaTeX2.09, pour pouvoir appeler un fichier postscript, -il suffit de mettre l'option epsf dans le \documentstyle. -La figure peut ensuite être appelée par la commande -\epsfbox{nom-figure.(e)ps} - -Une jolie façon d'inclure une figure dans un source LaTeX2.09 -est d'utiliser la macro : - -\begin{figure}[htbp] - \centerline{\epsfxsize=10cm \epsfbox{nom-figure.format}} - \caption{. \label{fig-}} -\end{figure} - -* Il y a aussi le package 'epsfig' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/graphics/ (LaTeX2.09 mais utilisable -avec LaTeX2e). - -Exemple : -\begin{figure}[p] - \centerline{\epsfig{file=nom_figure.eps, - width=largeur, - height=hauteur}} - \caption{Titre.} - \label{nom_label} -\end{figure} -%%%% fin exemple %%%% - -* Une figure au format tex picture, tex picture + epic, tex -picture + eepic, ... peut être appelée directement par une -commande \input. En outre, si vous utilisez un format epic ou -eepic, il faut penser à rajouter 'epic' ou 'eepic' à la ligne -documentstyle ou d'inclure les packages 'epic' ou 'eepic'. - -# 8.2 # Comment nommer une figure ? ------------------------------------ -C'est la commande \caption qui permet de faire cela. Par défaut -le titre de la figure apparaîtra en dessous. Cf exemples -ci-dessus. Pour que le titre apparaisse au-dessus, il faut -redéfinir les longueurs suivantes. - -Exemple : -\setlength\abovecaptionskip{0pt} -\setlength\belowcaptionskip{10pt} -puis appeler : -\begin{figure} -\caption{... ... ...} -\includegraphics{dessin.eps} -\end{figure} -%%%% fin exemple %%%% - -# 8.3 # Comment placer des figures côte à côte ? ------------------------------------------------- -* Sous LaTeX2e, il faut utiliser le package 'graphics' ou -'graphicx' disponibles sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/graphics/. - -Exemples : -\begin{figure} - \begin{minipage}[c]{.46\linewidth} - \includegraphics{figure1.format} - \end{minipage} \hfill - \begin{minipage}[c]{.46\linewidth} - \includegraphics{figure2.format} - \end{minipage} -\end{figure} - -\begin{figure} -\includegraphics[width=5cm]{fig1.eps}\hfill -\includegraphics[width=5cm]{fig2.eps} -\caption{Titre commun}\label{fig:somefiglabel} -\end{figure} -%%%% fin exemple %%%% - -* Une autre solution consiste à mettre chaque figure dans une -case d'un tableau. - -Exemple (avec le package graphics ou graphicx) : -\begin{tabular}{cc} - \includegraphics{figure1.eps} & - \includegraphics{figure2.eps} \\ -\end{tabular} -%%%% fin exemple %%%% - -* LaTeX2.09. Pour mettre des figures côte à côte, il suffit -d'encapsuler leur appel dans des minipages. - -Exemples : -+ avec le package 'epsf' -\begin{minipage}[t]{.46\linewidth} - \center\epsfxsize= 5cm \epsfbox{fig1.eps} -\end{minipage} % ne pas sauter de ligne -\begin{minipage}[t]{.46\linewidth} - \center\epsfxsize= 5cm \epsfbox{fig2.eps} -\end{minipage} - -ou si l'on veut attacher des titres aux figures : - -+ avec le package 'epsfig' -\begin{figure} - \begin{minipage}[b]{.46\linewidth} - \centering\epsfig{figure=fig1.ps,width=\linewidth} - \caption{premiere figure \label{fig1}} - \end{minipage} \hfill - \begin{minipage}[b]{.46\linewidth} - \centering\epsfig{figure=fig2.ps,width=\linewidth} - \caption{deuxieme figure \label{fig2}} - \end{minipage} -\end{figure} -%%%% fin exemple %%%% - -* Si l'on veut un seul titre pour plusieurs figures voir le -package 'subfigure' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/subfigure/. - -Exemple : -\begin{figure}[ht] -\begin{center} - \subfigure[I]{\epsfig{figure=st1.ps,width=6.58cm}}\quad - \subfigure[II]{\epsfig{figure=st2.ps,width=5.0cm}}\\ - \subfigure[III]{\epsfig{figure=st3.ps,width=5.0cm}} -\end{center} -\caption{Impermeable surface treatments} -\label{fig:inf} -\end{figure} -%%%% fin exemple %%%% - -* Une autre possibilité pour obtenir un titre par figure est -d'utiliser le package 'epslatex' disponible sur -ftp://ftp.fdn.org/pub/CTAN/info/. - -# 8.4 # Comment modifier le nombre de figures par page ? --------------------------------------------------------- -En fait, on ne peut agir que globalement sur le nombre de -flottants autorisé par page. Il n'y a pas de sélection -figure/tables/.... - -Il arrive fréquemment que lorsqu'un flottant dépasse 60% d'une -page, LaTeX préfère changer de page plutôt que d'utiliser les -40% de l'espace restant. - -La commande \floatpagefraction permet de redéfinir l'espace -minimum que peuvent occuper des flottants. Cela permet de -limiter le "blanc" sur une page contenant des flottants. - -Exemple : -\renewcommand{\floatpagefraction}{.9} -utilisée avec la commande : -\renewcommand{\textfraction}{.1} -permet de dire que le texte peut n'occuper que 10% d'une -page, et donc que des flottants peuvent occuper les 90% restant. -%%%% fin exemple %%%% - -Il y a d'autres paramètres intéressants : -\setcounter{totalnumber}{4} -qui détermine le nombre de flottants autorisés par page, -\renewcommand{\topfraction}{.8} et -\renewcommand{\bottomfraction}{.8} -qui indiquent la fraction maximum du haut ou du bas de la page -que peuvent occuper des flottants. - -Remarque : Il est recommandé de ne jamais mettre 100% comme - paramètre. - -# 8.5 # Comment superposer du texte sur des figures ? ------------------------------------------------------ -* PSFrag (disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/psfrag/) donne cette possibilité. -La solution consiste en fait à : -1+ faire le graphique .ps AVEC des textes et légendes MAIS -approximatifs -2+ utiliser PSfrag pour qu'il remplace les textes approximatifs -par des textes << LaTeX >> -(3-) l'écriture << par dessus >> (le remplacement en fait) est -fait par PSfrag. -Pour plus de détails, consulter le document "Using EPS Graphics -in LaTeX2e Documents" disponible sur ftp://ftp.fdn.org/pub/CTAN/info/epslatex.ps. - -* On peut également générer une courbe dans un fichier .eps, -qui peux ensuite être inclu dans un environnement "picture", -dans lequel il est ensuite possible d'ajouter du texte avec des -\put. Cela demande pas mal de mises au point. - -Exemple : -\setlength\unitlength{1cm} -\begin{picture}(10,10) -\put(0,0){\includegraphics{mondessin.eps}} -\put(10,10){Mon commentaire \LaTeX{} avec des $maths$} -\end{picture} -%%%% fin exemple %%%% - -Cette technique permet de conserver la puissance de LaTeX et -d'avoir une typographie homogène mais elle a l'inconvenient -d'être assez lourde. - -* PSTricks est un ensemble de macros TeX, disponible sur -ftp://ftp.fdn.org/pub/CTAN/graphics/pstricks/, qui permet également de faire cela. Il -nécessite un gros investissement (il y a une centaine de pages -de documentation). Cependant, si l'on se limite à des commandes -simples (comme par exemple écrire un programme en C qui trace le -dessin, avec simplement des points, des droites, et un peu de -texte), la liste sommaire des commandes suffit (6 pages). - -* Xfig offre une autre solution. Après avoir inclu un fichier -postscript généré par un autre programme, on peut rajouter -du texte ou des commandes LaTeX dessus. -xfig -sp -Sauvegarder comme "combined PS/LaTeX" - -* Metapost est un langage graphique très proche de Metafont, -mais qui génère du postscript. Il permet de produire des figures -avec du texte et est bien interfacé avec TeX (Knuth -l'utilise). Metapost est integré dans web2c 7.0. Metapost a -déjà été porté sous MS-DOS et Mac (CMacTeX). Pour plus -d'informations, vous pouvez consulter la page de D. Roegel : -http://www.loria.fr/~roegel/metapost.html. - -* pstoedit permet également de visualiser des fichiers -postscript (sans bitmaps) et d'ajouter du texte ou des figures -par dessus. - -# 8.6 # Comment réaliser des captures d'écran ? ------------------------------------------------ -* Un outil très utile pour effectuer des captures d'écran sous -Unix est xv. xv est un éditeur d'images écrit par J. Bradley -disponible sous unix. xv est capable de gérer différents -formats d'image (encodage PS, GIF, JPEG, TIFF,...). Il -permet de visualiser des images et aussi de réaliser des -captures d'écran, soit partielles définies à la souris, soit -par fenêtre X Window. Il suffit ensuite de sauvegarder la -saisie d'écran de xv en format postscript et de l'appeler sous -LaTeX. - -xv est accessible par ftp sur ftp://ftp.lip6.fr/. - -* Sur PC il y a pcxdump disponible sur -http://micros.hensa.ac.uk/. Le package 'verbtext', disponible sur -CTAN, permet ensuite d'appeler la saisie réalisée. - -* De même, le package 'scrdumps' et l'utilitaire scr2tex.exe -sous DOS permettent d'inclure des saisies d'écran dans un -document LaTeX. - -# 8.7 # Comment tracer une courbe ? ------------------------------------ -* Xgraphic est un outil de tracé de courbes simple -d'utilisation (les options sont accessibles en interactif) mais -limité aux courbes 2D. Il est disponible avec une doc française -à http://blanche.polytechnique.fr/ et -ftp://barbes.polytechnique.fr/pub/Xgraphic/. - -* xmgr marche également très bien. - -* GNUplot est disponible sous Unix, sous Dos, sous Windows et -sous macOS -(http://www.ee.gatech.edu/users/schooley/gnuplot.html). Il -possède une sortie LaTeX (eepic). Il permet de tracer des -courbes (2D et 3D) à partir de valeurs ou d'une fonction. Les -formats de sortie sont LaTeX ou postscript. - -En outre, sous Unix, il est possible de récupérer des fichiers -GNUplot exportés par - set terminal fig - set output "graph.fig" -puis de les modifier. - -La FAQ GNUplot est disponible à -http://www.uni-karlsruhe.de/~ig25/gnuplot-faq/. - -* Xy-pic compatible plain TeX, LaTeX2.09 et LaTeX2e permet de -tracer des courbes, de réaliser des diagrammes commutatifs, des -automates, et plein d'autres choses. Pour plus de -renseignements, consulter : -ftp://ftp.mpce.mq.edu.au/pub/maths/TeX/ ou -http://www.mpce.mq.edu.au/~ross/Xy-pic.html ou -http://www.brics.dk/~krisrose/Xy-pic.html -Le package 'xypic' est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/generic/diagrams/xypic/. - -* Sur PC grapher et surfer permettent également de tracer des -courbes et des surfaces (ils sont indépendants de LaTeX, mais -une saisie d'écran est toujours possible). - -* Le package 'curves' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/curves/ permet de définir des -courbes dans l'environnement picture. - -* Mathematica est également utilisable pour tracer des courbes -2D et 3D. - -# 8.8 # Comment est géré le positionnement des figures ? --------------------------------------------------------- -Comme mentionné précédemment (8.1), il existe différentes -options de placement des figures. Les plus classiques sont -\begin{figure}[htbp] pour laisser à LaTeX la possibilité de -placer les figures suivant ses critères de beauté. (h) impose -si possible le placement de la figure à l'appel de la macro -ci-dessus. Sinon la figure sera placée en haut de la page -suivante (t) ou en bas (b), voire sur une page seule (p). - -En revanche, pour forcer (dans la mesure du possible) LaTeX à -placer une figure là où elle a été appelée, il faut utiliser le -package 'float', de A. Lingnau, (\usepackage{float}) et l'option -H (\begin{figure}[H]). Ce package permet de définir un tel -placement par défaut via la commande \floatplacement{figure}{H}. -Il est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/float/. Voir la question 6.34 -pour un exemple d'utilisation de ce package. - -De même l'utilisation du caractère ! devant une option de -placement permet de forcer LaTeX2e à effectuer son placement au -plus tôt (suivant l'option choisie). - -Remarque (D.Barbier) : si un flottant ne peut pas être placé - avec les paramètres indiqués , celui-ci et tous les - flottants qui viennent après seront mis à la fin du - chapitre (en fait, ils seront insérés grâce à la - commande \clearpage). - -Le package 'placeins' de D. Arsenau permet de mettre des -garde-fous dans le texte. Par exemple, lorsqu'on place une -figure en dur avec une commande du style : -%%%% debut macro %%%% -\makeatletter -\newenvironment{figureH}{\begin{center} - \newcommand{\@captype}{figure}}{\end{center}} -\makeatother -%%%% fin macro %%%% -l'utilisation de \FloatBarrier juste avant, permet de vider le -buffer de flottants actuellement stockés. - -# 8.9 # Comment placer une légende à côté d'une figure ? --------------------------------------------------------- -* Pour placer une légende à côté d'une figure, il faut utiliser -l'environnement minipage. - -Exemple (extrait du cahier GUTenberg 22 pour l'article sur -esperluette) : -+ mettre dans le préambule : - -%%%% debut macro %%%% -\newlength\jataille -\newcommand{\figgauche}[3]% -{\jataille=\textwidth\advance\jataille by -#1 -\advance\jataille by -.5cm -\begin{minipage}[c]{#1} - \includegraphics[width=#1]{#2} -\end{minipage}\hfill -\begin{minipage}[c]{\jataille} - \footnotesize #3 \normalsize -\end{minipage}} -%%%% fin macro %%%% - -+ puis utiliser : -\figgauche{5cm}{totor.eps}{Titre.} - -* On peut également utiliser des parbox. - -Exemple : -\begin{figure} -\parbox{7cm}{...figure}\parbox{7cm}{\caption{---}} -\end{figure} -%%%% fin exemple %%%% - -# 8.10 # Comment insérer des figures dans multicol ? ----------------------------------------------------- - -On ne peut insérer que des figures de la largeur de la page, -et pas de la lageur d'une colonne, donc des figure* (resp. -table*). Un flottant n'apparaîtra pas sur la page où il -est defini, mais, au mieux, sur la page d'après. Le positionnement -[h] n'a donc pas de sens. - -Exemple (avec le package 'graphicx') : -\begin{figure*} - \includegraphics[width=3cm]{totor.eps} -\end{figure*} -%%%% fin exemple %%%% - -Remarque : dans ce cas la gestion de \caption semble ne pas être - correcte. - -# 8.11 # Comment faire apparaître toutes les figures en fin de document ? -------------------------------------------------------------------------- -Le package 'endfloat', disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/endfloat/, permet de -reporter toutes les figures en fin de document. - -ATTENTION : les classes AMS ne définissent pas les - environnements figure* et table*. En - outre, le package 'endfloat' a le mauvais goût de - supposer qu'ils sont définis. Un remède est de - faire : - \documentclass[a4paper,11pt]{amsart} - \newenvironment{figure*}{\figure}{\endfigure} - \usepackage{endfloat} - -# 8.12 # Comment insérer des images Mathematica ? -------------------------------------------------- -* Sous Unix ou sous DOS, il faut, à partir de Mathematica, -demander : Display["machin",truc] -qui sauve l'image truc dans le fichier machin dans un Postscript -embryonnaire, puis -!psfix -epsf machin > machin.eps -et on a un fichier EPS comme il faut. - -* Sous Windows, après avoir sélectionné l'image désirée, il -faut, dans le menu "Fichier" de Mathematica, "Exporter" vers un -format qui peut être .EPS (PostScript Encapsulé). L'appel de ce -fichier .eps sous LaTeX se fait alors de manière classique (cf. -paragraphe 8.1). - -Il est également possible d'extraire par copier/coller l'image -(.WMF) et de l'envoyer vers Ghostscript pour Windows, et -là-dedans de l'enregistrer dans un fichier PostScript. L'avantage -de cette solution est qu'elle peut permettre de retravailler -l'image (avant collage dans GS au moyen de CorelDraw, par -exemple). - -A noter que Y&Y TeX system supporte les images WMF (Windows -MetaFile) aussi bien que les TIFF ou EPSF. Mathematica est l'un -des seuls logiciels pour Windows qui utilise un format WMF -plutôt que TIFF. - -* Dernière solution (multi-système) : se servir du notebook -intitulé "GnuDisplay.m"(disponible sur MathSource chez Wolfram). -Celui-ci permet d'exporter une image Mathematica en image -GNUplot. Dans GNUplot, on peut alors exporter une image de deux -façons : -+ vers un fichier ".mf" qui contient l'image sous forme de -fonte. Avantage : on utilise MetaFont pour générer la fonte qui -contiendra l'image et l'insérer dans le texte, ce qui permet sa -prévisualisation immédiate par "dviscr", sans passer par "dvips" -puis GhostScript ou GhostView ; -+ vers un fichier au format LaTeX eepic, que l'on insère -facilement par la suite (commande \special). - -# 8.13 # Comment modifier la taille d'une bounding box ? --------------------------------------------------------- -En format eps (encapsulated postscript), la `bounding box` -permet de préciser la taille d'une image. La syntaxe est la -suivante : -%%BoundingBox: 0 0 507 257 -Les coordonnées correspondent dans l'ordre : -- coordonnée horizontale du point en bas à gauche de la figure; -- coordonnée verticale du point en bas à gauche; -- coordonnée horizontale du point en haut à droite; -- coordonnée verticale du point en haut à droite. -Les coordonnées verticales étant prises à partir du bas, et -celles horizontales à partir de la gauche. - -De plus ces coordonnées sont exprimées en points PostScript, -c'est-à-dire en soixante-douzième de pouce, i.e.: -1 pt PS = 1/72 pouce = 2.54/72 cm. - -Malheureusement, il arrive parfois que la taille de la bounding -box soit supérieure à celle de la taille réelle du dessin -qu'elle contient (il n'y a pas de mise à l'échelle). Le package -'boxedepsf', de L. Siebenmann, offre les commandes \Trim qui -permettent de résoudre le probleme. - -A. J. Carr a adapté ce package à LaTeX2e. Son package s'appelle -'boxedeps'. Ce dernier est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/generic/boxed/ ou sur -ftp://matups.math.u-psud.fr/pub/TeX/Graphics.dir/ArtIntegration.dir/boxedeps.dir/. - -Exemple : -\TrimTop{15pct}\BoxedEPSF{toto} -avec pct = pourcentage de la hauteur. -%%%% fin exemple %%%% - -# 8.14 # Comment obtenir une figure avec un titre non numéroté ? ----------------------------------------------------------------- -Il faut utiliser la commande \unnumberedcaption dont voici la -définition : -%%%% debut macro %%%% -\makeatletter % <=== in a .sty file delete this - -\newcommand{\unnumberedcaption}% - {\@dblarg{\@unnumberedcaption\@captype}} - -\newcommand{\@unnumberedcaption}{}% undefined yet -\long\def\@unnumberedcaption#1[#2]#3{\par - \addcontentsline{\csname ext@#1\endcsname}{#1}{% - % orig: \protect\numberline{\csname the#1\endcsname}% - %{\ignorespaces #2} - \protect\numberline{}{\ignorespaces #2}% - }% - \begingroup - \@parboxrestore - \normalsize - % orig: \@makecaption{\csname fnum@#1\endcsname}% - %{\ignorespaces #3}\par - \@makeunnumberedcaption{\ignorespaces #3}\par - \endgroup} - -% redefine \@makeunnumberedcaption (like \@makecaption) -% for your own layout -\newcommand{\@makeunnumberedcaption}[1]{% - \vskip\abovecaptionskip - \sbox\@tempboxa{#1}% - \ifdim \wd\@tempboxa >\hsize - #1\par - \else - \global \@minipagefalse - \hbox to\hsize{\hfil\box\@tempboxa\hfil}% - \fi - \vskip\belowcaptionskip} - -% for LaTeX 2.09 compatibility, define \above/belowcaptionskip: -\@ifundefined{abovecaptionskip}{% - \newlength{\abovecaptionskip}% - \setlength{\abovecaptionskip}{10pt}% -}{} -\@ifundefined{belowcaptionskip}{% - \newlength{\belowcaptionskip}% - \setlength{\belowcaptionskip}{0pt}% -}{} - -\makeatother % <=== in a .sty file delete this -%%%% fin macro %%%% - -Remarque : le package 'french' V3,49 inclut cette macro. - -# 8.15 # Comment redéfinir le style de caption ? ------------------------------------------------- -* Par exemple pour changer la fonte de Figure : en gras, il -faut utiliser : - -%%%% debut macro %%%% -\makeatletter -\renewcommand{\fnum@figure}{\small\textbf{\figurename~\thefigure}} -\makeatother -%%%% fin macro %%%% - -* Pour agir sur les espaces horizontaux de part et d'autre de la -légende d'un flottant, on peut utiliser caption2.sty, et définir -la longueur \captionmargin qui sera insérée à gauche et à droite -de la légende. - -# 8.16 # Comment fondre une image dans du texte ? -------------------------------------------------- -* Le package 'floatfig', de T. Kneser, disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/floatfig/, permet d'entourer -une figure de texte de manière très efficace grâce à -l'environnement floatingfigure. Ce package a été conçu pour -LaTeX2.09, pour des documents sans colonnes. - -Exemple : -\begin{floatingfigure}[l]{4cm} - \includegraphics[width=4cm]{dessin} - \caption{Titre} -\end{floatingfigure} -%%%% fin exemple %%%% - -Remarque : le [l] du \begin{float...} sert à mettre la figure à - gauche. [r] permet de l'avoir à droite, [p] la met - à gauche sur une page de gauche et à droite sur une - page de droite. - -* Le package 'floatflt', de T. Kneser et M. Dahlgren, disponible -sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/floatflt/, a été écrit -pour LaTeX2e. Il étend les possibilités de floatfig par de -nombreuses options et est utilisable pour les figures et les -tableaux. - -Exemple : -\begin{floatingfigure}[options]{width of figure} - figure contents -\end{floatingfigure} -%%%% fin exemple %%%% - -* Le package 'picinpar' pour LaTeX2.09 est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/picinpar/ et sur -ftp://ftp.fdn.org/pub/CTAN/systems/msdos/4alltex/disk04/. Il permet de définir un nombre -de lignes avant lequel la figure pourra être insérée dans le -texte. La taille de la figure dépend de son contenu, sa position -est variable, et peut s'étaler sur plusieurs paragraphes. - -ATTENTION : Ce package n'est pas compatible avec amstex. - -Exemple : -\begin{window}[#lines before, l|r|c, picture contents, caption} - ... paragraph text ... -\end{window} -%%%% fin exemple %%%% - -* Mieux que le précédent, le package 'picins' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/picins/ permet d'inclure des -figures dans des paragraphes. - -Exemple : -\parpic(width,height)(x-off,y-off)[Options][Position]{Picture} - Paragraph text.... -%%%% fin exemple %%%% - -* Le package 'wrapfig' permet de définir la hauteur de la -figure, celle-ci ci peut apparaître à droite ou à gauche dans le -texte ou encore dans une marge. Ce package n'est pas compatible -avec les environnements de liste. - -Exemple : -\begin{wrapfigure}[height in lines]{l|r}[overhang]{width} - {figure, caption etc.} -\end{wrapfigure} -%%%% fin exemple %%%% - -* Le package 'flow' met obligatoirement la figure dans une boîte -avec un cadre et ne permet pas de définir de caption. - -Exemple : -\flow[L|R]{paragraph text}{figure box} -%%%% fin exemple %%%% - -* Le package 'window' de E. Schaluck, permet également -d'intégrer une figure dans un paragraphe mais il n'est plus -maintenu. Il a été écrit pour LaTeX2.09 mais il est compatible -LaTeX2e. - -Exemple : -\windowbox[toplines][inwindow: contents][ratio: l r] -... paragraph text ... \par -%%%% fin exemple %%%% - -Voici les résultats d'un test comparatif effectué par P. van -Oostrum : - A B C D E F G H I J K -picinipar |+|+|+| |+|+| |+| | | | -wrapfig |+|+|+|+| | |+|H|-|+| | -flow |-|-|+| | | | |+| | | | -floatfig |+|-|-|+| | |+| | |-| | -floatflt |+|+|+|+| | |+| |-| |+| -window |-|-|+| |+|+| |+| | | | -picins |+|-|+|+| | | |+|+| | | - -avec : -A: figure captions/counting/list of figures -B: table captions/counting/list of tables -C: Left/right possible (+ = both) -D: Alternating left/right for twosided docs -E: can be placed in the middle of text with twosided flowing -F: possible to start after the beginning of paragraph -G: can (more or less) float in the text -H: auto detection of size of figure (H=height only) -I: works with list environments -J: works with twocolumn -K: works with multicol - -Les meilleurs packages semblent être : -picins, floatflt et wrapfig. - -* Voici également une macro de C. Mercat : - -%%%% debut macro %%%% -\def\textdess#1#2 % #1={blabla} #2=\dessin{monbodessin} -{\hbox{ - -\setbox2=\hbox{#2} %c'est le dessin - -\count2=\wd2 %c'est la largeur du dessin. -%\showthe\count2 -\multiply\count2 by-1 -\advance\count2 by\hsize %count2 vaut le reste de la page -\advance\count2 by-2000000 %c'est pour la marge droite -\count1=\count2 -\advance\count2 by-2000000 %c'est pour la marge du milieu -\setbox1=\hbox to\count1sp{ %c'est le texte -\vbox{\hsize=\count2sp %c'est la largeur -#1 -}\hfill} -\count1=\ht1 %c'est la hauteur -\advance\count1 \dp1 - -\count2=\ht2 -\advance\count0 \dp2 - -\ifnum\count2<\count1 \count2=\count1 \fi -%c'est la + grde des 2 hauteurs -\vtop to \count2sp {\vfill \box1 \vfill} -\vtop to \count2sp {\vfill \box2 \vfill} -}} - -%%%% fin macro %%%% - -# 8.17 # Comment réaliser des diagrammes en bâtons ? ----------------------------------------------------- -Il existe le package 'bar', disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/misc/, qui offre un environnement -barenv. - -# 8.18 # Comment faire un organigramme ? ----------------------------------------- -Il existe plusieurs contributions (toutes assez anciennes), -disponibles sur CTAN, dédiées spécifiquement à la réalisation -de différents types d'organigrammes : -* ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/nassflow/ -* ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/rail/ -* ftp://ftp.fdn.org/pub/CTAN/support/flow/ -A priori, le dernier est le plus évolué et est basé sur un -pré-processeur écrit en langage C, ce qui fait qu'il offre une -interface souple et puissante. - -# 8.19 # Comment centrer une figure très large ? ------------------------------------------------- -Le package 'bigcenter' ci-dessous permet de centrer des figures -très larges sans message d'erreur de type overful. - -%%%% debut macro %%%% -%%% ----------debut de bigcenter.sty-------------- - -%%% nouvel environnement bigcenter -%%% pour centrer sur toute la page (sans overfull) - -\newskip\@bigflushglue \@bigflushglue = -100pt plus 1fil - -\def\bigcenter{\trivlist \bigcentering\item\relax} -\def\bigcentering{\let\\\@centercr\rightskip\@bigflushglue% -\leftskip\@bigflushglue -\parindent\z@\parfillskip\z@skip} -\def\endbigcenter{\endtrivlist} - -%%% ----------fin de bigcenter.sty-------------- -%%%% fin macro %%%% - -# 8.20 # Comment passer de ps à eps ? -------------------------------------- -* S. Heiden : -Pour faire ce travail de transformation il faut interpréter TOUT -le code PostScript d'un fichier PS (être une imprimante PS en -gros), identifier la boîte englobante de ce qui est composé sur -UNE page et insérer vers le début ou la fin du fichier PS -original la fameuse ligne de la forme : - %%BoundingBox: 72 246 522 597 -qui renseigne les macros graphics, donc dvips, donc l'imprimante -sur cette fenêtre de clipping. - -Syntaxe: %%BoundingBox: llx lly urx ury -Qui sont deux points (lower left)(x,y) et (upper right)(x,y) -définissant la fenêtre. Si on n'est pas, soi-meme, une -imprimante PostScript on peut faire interpréter le code PS -original par une imprimante qui produira une page. On peut alors -mesurer la boîte englobante et la position de la figure dans la -page (la portion de toner qui nous intéresse) et composer la -ligne %%BoundingBox en s'exprimant en points d'1/72 de pouces -et sachant que le système de coordonnées est : -- en bas à gauche de la page ; -- vers la droite et vers le haut ; -- légèrement décalé vers le centre. En effet, une imprimante -n'imprime jamais sur le bord réel d'une page. Il y a une fenêtre -de clipping systématique matérielle plus petite que la page A4 -et centrée. L'origine du système correspond au coin de la -feuille ; le décalage du système de coordonnées arrive surtout -sur les coordonnées Y qui dépendent de l'avancement du papier -contrairement aux X, calés par les bords (qui n'a pas connu de -vieille imprimante LaserWriter pouvant louper de 5 cm le bord -inférieur d'une feuille A4 ?-). - -Si on fait calculer et imprimer la bbox par l'imprimante (par le -code de bbfig par ex.), ce problème ne se pose plus. Sans parler -de ps2epsi qui est la meilleure solution mais alors il faut -distinguer l'environnement de chaque système d'exploitation (Unix, -Mac, PC) et les outils correspondants. - -Remarque : Si on a plus d'une figure, que l'on s'intéresse à la - forêt amazonnienne ou que l'on est un peu riche, on - peut acheter Adobe Distiller ou autre pour faire ce - genre de travail. Par ailleurs Ghostview peut jouer - le rôle de l'imprimante si l'écran est correctement - calibré (à vérifier avec xdpyinfo et une règle...). - En gros il faut un outil qui sait composer du - PostScript. Après, tout dépend de ce qu'il propose. - -Suggestions : -- utiliser l'option "draft" pour que TeX visualise les boîtes -englobantes des figures (calculées à partir de %%BoundingBox). -- générer du EPSF natif à partir de l'outil de dessin plutôt que -de passer par PS->EPSF. - -* Le document "Using EPS graphics in LaTeX2e documents" de K. -Reckdahl répond également à cette question cf section 3.1 -Converting PS files to EPS. - -* ps2epsi, qui est livré avec GhostScript permet de convertir -du postscript en postscript encapsulé. - -# 8.21 # Comment changer l'orientation d'une figure ? ------------------------------------------------------ -* Le package 'rotfloat' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/rotfloat/ permet de gérer la -rotation des flottants. - -* On peut utiliser la commande \rotatebox du package 'graphics' -de D. Carlisle. Ce package est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/graphics/. - -Exemple : -\rotatebox{90}{ -\includegraphics{dessin1.eps} -} -%%%% fin exemple %%%% - -* La commande \includegraphics du package 'graphicx' peut prendre -comme paramètre un angle de rotation. - -Exemple : -\begin{figure} - \centering - \includegraphics[angle=90,width=\textwidth]{dessin.eps} -\end{figure} -%%%% fin exemple %%%% - -# 8.22 # Comment gérer des sous-figures sur plusieurs pages ? -------------------------------------------------------------- -Un seul environnement figure ne peut pas s'étendre sur plusieurs -pages, il faut donc gérer le problème à la main en instanciant -les numéros "à la main". - -Exemple : -\documentclass{article} -\usepackage{graphicx,subfigure} -\begin{document} - - \begin{figure} - \centering - \subfigure[First Part]{% - \label{fig:graphics:a}% label for subfigure - \includegraphics[width=\textwidth]{box.eps}}% - \caption{Large Graphics}% - \label{fig:graphics}% label for figure - \end{figure} - - \addtocounter{figure}{-1} - \begin{figure} - \addtocounter{subfigure}{1} - \centering - \subfigure[Second Part]{% - \label{fig:graphics:b}% label for subfigure - \includegraphics[width=\textwidth]{box.eps}}% - \caption{Large Graphics (con't)}% - \end{figure} - -\end{document} -%%%% fin exemple %%%% - -# 8.23 # Comment générer une liste des figures d'un document ? --------------------------------------------------------------- -Il existe pour cela la commande \listoffigures. Elle collecte -tous les numéros de figures ainsi que leur titre et le numéro -de la page où elles apparaissent. - -Remarque : une bonne mise à jour de cette liste nécessite au - moins deux compilations successives. - -# 8.24 # Comment faire une figure sous LaTeX ? ----------------------------------------------- -* On distingue deux techniques majeures : -+ soit on utilise un logiciel de dessin et on inclut une figure -sous un format défini (en général PostScript ou Encapsulated -PostScript). Pour une liste de logiciels, voir la question 25.1. -+ on utilise les commandes LaTeX disponibles. L'environnement -picture permet ainsi de composer des figures comprenant du -texte, des segments de droites, des cercles et des figures -géométriques. - -Les commandes LaTeX les plus courantes pour le dessin sont : -+ \put(x, y){objet} -+ multiput -+ \line(x,y){longueur} -+ \vector -+ \shortstack -+ \circle -+ \circle* - -Exemple : -\begin{picture}(largeur, hauteur) - \put(0,0){\line(1,0){3}} - \put(0,3){\line(1,1){4}} -\end{picture} -%%%% fin exemple %%%% - -* Le package epic définit un ensemble de commandes plus -complet que l'ensemble par défaut de LaTeX. Il s'agit des -commandes : \multiputlist, \matrixput, \grid, \dottedline, -\dashline, \drawline, \jput, \picsquare et \putfile, -ainsi que des environnements : dottedjoin, dashjoin et drawjoin. - -Exemple : -\matrixput(0,0)(10,0){6}(0,10){3}{\circle{4}} -\matrixput(2,0)(10,0){5}(0,10){3}{\line(1,0){6}} -\matrixput(0,2)(10,0){6}(0,10){2}{\line(0,1){6}} -%%%% fin exemple %%%% - -* PSTricks de T. Van Zandt propose un ensemble très complet de -macros TeX qui permettent de jouer avec des dessins -(dessin, couleur, rotation, superposition, ...). L'ensemble -PSTricks est composé de plusieurs packages : pstricks, pst-plot, -multido, pst-node, pst-coil, gradient, colortab, textpath, -charpath et pst2eps. Une documentation d'une centaine de page -est également fournie et nécessaire. - -ATTENTION : PSTricks fait appel à des macros postscript qui ne - sont donc pas toujours visibles dans les previewer - de .dvi. - -Exemple : -\psellipse(.5,0)(1.5,1) - -\parametricplot[plotstyle=dots,plotpoints=13]% - {-6}{6}{1.2 t exp 1.2 t neg exp} - -\psshadowbox{\textbf Grest!!} - -\pszigzag[coilarm=.5,linearc=.1{<->}(4,0) -%%%% fin exemple %%%% - -# 8.25 # Comment mettre un commentaire à côté d'une figure ? ------------------------------------------------------------- -Pour mettre un commentaire à côté d'une figure et pour que le -texte soit centré verticalement par rapport à la figure, il -faut utiliser des \parbox. - -Exemple : -\begin{tabular}{lc} -$M=0{,}01$ & \parbox[c]{12cm}{\includegraphics[width=12cm]{fig6a.eps}} \\ -$M=0{,}1$ & \parbox[c]{12cm}{\includegraphics[width=12cm]{fig6b.eps}} -% etc... -\end{tabular} -%%%% fin exemple %%%% -================================================================ -[9] INCLUSION DE FICHIERS -================================================================ - -# 9.1 # Comment inclure des fichiers en mode verbatim ? -------------------------------------------------------- -* Le package 'verbatim', de R. Schopf, permet via la commande -\verbatiminput, qui prend en argument un nom de fichier, -d'inclure un fichier en mode verbatim. Ce package est disponible -sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/distribs/ ou ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/tools/. - -* L'environnement alltt du package du même nom (package dû à J. -Braams) permet la même prouesse tout en gardant active -l'interprétation des commandes LaTeX dont le nom commence par le -caractère \ (le "backslash" reste actif). Il est disponible dans -sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/misc/ ou sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/base/. - -Exemple : -\begin{alltt} - Notez la différence subtile entre $f(x)$ et \(f(x)\) grâce à - l'utilisation du "backslash". -\end{alltt} -%%%% fin exemple %%%% - -* Les commandes \listinginput et \verbatimtabinput du package -'moreverb' (disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/) permettent d'inclure des -documents en mode verbatim avec ou sans numérotation des lignes -du fichier inclu. - -Exemple : -{ -\small -\listinginput[5]{10}{totor.c} -} -Les paramètres [5] et {10} indiquent que la numérotation des -lignes doit se faire de 5 en 5 en commençant à 10. -%%%% fin exemple %%%% - -* Il existe aussi le package 'verbtext' disponible sur CTAN. - -* Le package 'fancyvrb' est également disponible sur CTAN. - -* Pour insérer du code lisp dans un document LaTeX, il existe le -package 'lispcode' disponible par ftp sur -ftp://ki-server.informatik.uni-wuerzburg.de/pub/tex/. - -* On peut aussi essayer le package 'verbasef' (verbatim -automatic segmentation of external files) disponible sur CTAN. -Il utilise l'environnement figure. - -* Encore un autre, le package 'cprog' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/misc/ permet d'inclure des morceaux de -code dans un document et de les gérer comme des flottants. - -* Le package 'sverb' de M. Wooding propose un environnement -listing. - -# 9.2 # Comment gérer un document par parties ? ------------------------------------------------ -Pour travailler sur un gros document, il est plus agréable de le -découper en plusieurs fichiers. Il y aura quoiqu'il en soit un -fichier principal (celui qui comprend le préambule et les -commandes \begin{document} et \end{document}). - -\input{fichier} permet d'inclure le fichier "fichier" dans le -fichier principal. Cette commande réalise une importation pure -et simple. Elle est plutôt réservée à l'importation de fichiers -de macros. - -\include{chapitre} permet d'intégrer le fichier "chapitre.tex" -dans le document principal en commençant une nouvelle page. -Cette commande réinitialise la numérotation des titres. Utilisée -avec la commande \includeonly{chapitre}, cette commande mise -dans le préambule, permet de ne recompiler le fichier principal -que sur les parties indiquées. - -Remarque : la commande \include ne permet pas d'intégrer un - fichier contenant lui-même une commande \include. - -Exemple : -\documentclass{report} -\includeonly{chap1, chap3} -\begin{document} -\include{chap1} -\include{chap2} -\include{chap3} -\end{document} -%%%% fin exemple %%%% - -Remarque : avec le package 'french', pour que la numérotation - des chapitres ne soit pas réinitialisée lorsqu'on - change de partie, il faut ajouter la commande - \noresetatpart en début de document après le - \begin{document} - -# 9.3 # Comment isoler une partie d'un fichier ps ou dvi ? ----------------------------------------------------------- -Il faut utiliser un outil qui permet de découper en page : -+ un fichier postscript, -* il s'agit des outils PSnup, PStoPS, PSSelect, qui ont été portés -sur Mac, aussi bien pour MPW qu'en "stand-alone" (dans la -distribution CMacTeX) -* on peut également utiliser ghostview (save marked pages) -disponible par ftp sur -ftp://iphthf.physik.uni-mainz.de/pub/gv/ - -+ un fichier dvi ? -DVIDVI pour MPW (utilitaire qui fait bien d'autres choses que -de découper) doit permettre de faire cela. - -# 9.4 # Comment inclure un fichier PICT ? ------------------------------------------ -On peut utiliser la commande \special{pictfile mondessin.pict} -ou \put(0,0){\special{pict=Mondessin}}. - -# 9.5 # Comment spécifier un chemin pour les fichiers à inclure ? ------------------------------------------------------------------ -* Il suffit d'utiliser la commande \import{chemin}{fichier}. -Elle évite de préciser le chemin où se trouvent les fichiers -appelés par la commande \input à chaque appel. - -%%%% debut macro %%%% -% import.sty: allows input of a file from another directory: -% -% \import{path}{file} - -\def\import{\begingroup - \protected@edef\@tempa{\endgroup - \noexpand\@import{\@ifundefined{input@path}{}{\input@path}}% - {\@ifundefined{Ginput@path}{}{\Ginput@path}}}% - \@tempa} -\def\@import#1#2#3#4{% - \def\input@path{{#3}#1}\def\Ginput@path{{#3}#2}% - \input{#4}% - \def\input@path{#1}\ifx\input@path\@empty \let\input@path\@undefined \fi - \def\Ginput@path{#2}\ifx\Ginput@path\@empty \let\Ginput@path\@undefined \fi -} -%%%% fin macro %%%% - -Exemple : -\import{Chapitres/}{chapitre1} -%%%% fin exemple %%%% - -* Pour les figures, la package 'graphicx' propose la commande -\graphicspath à utiliser en tête de document. - -Exemple : -\graphicspath{{Chapitre1/gfx/}{Chapitre2/gfx/}} -%%%% fin exemple %%%% - -* On peut également modifier certaines variables -d'environnement lorsqu'elles existent. - -Exemple (UNIX) : -setenv TEXINPUTS= /home/figures/:"$TEXINPUTS" -%%%% fin exemple %%%% - -================================================================ -[10] HAUTS ET BAS DE PAGES -================================================================ - -# 10.1 # Comment définir les hauts et bas de page ? ---------------------------------------------------- - -Remarque : lorsque le haut ou bas de page défini est trop grand, - on voit apparaître des messages d'erreur du style - "Overfull \vbox". Il faut alors redimensionner la - longueur correspondante. - - Exemple (dans le préambule) : - \addtolength{\headheight}{1.5pt} - %%%% fin exemple %%%% - -* Par défaut, LaTeX offre la numérotation des pages en bas de -page (style plain). Mais, il propose également 3 autres styles -de mise en page. Il s'agit des styles : -+ empty (hauts et bas de pages vides), -+ headings(la numérotation des pages apparaît en haut ainsi que -différentes informations suivant la classe de document), et -+ myheadings (les commandes \markboth et \markright permettent -de définir les informations qui devront apparaître dans le haut -de page. \markboth{entête gauche}{entête droite} s'utilise pour -un document recto-verso alors que \markright{entête} -s'applique à toutes les pages d'un document en simple recto). - -L'appel d'un style pour tout le document se fait via la commande -\pagestyle{style}. La commande \thispagestyle{} permet d'appeler -un style sur une page particulière. - -Remarque : malgré une déclaration globale de style de page, il - se peut que des déclarations locales de style soient - également nécessaires, puisque certaines commandes - LaTeX réinitialisent le style de la page sur laquelle - elles apparaîssent. - -* Le package 'fancyheadings', de P. van Oostrum, est disponible -sur ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/fancyheadings/. Il est -compatible LaTeX2.09 et LaTeX2e. Il permet de définir des entêtes -et des pieds de page relativement facilement. La définition des -pages spéciales se fait par : \thispagestyle{xxx} ou xxx peut -être fancy (utilise les définitions ci-dessous sur une page en -respectant le style plain pour les autres ), plain (style TeX) -ou fancyplain(permet de redéfinir le style plain et donc de -disposer de deux styles : fancy et plain). L'application d'un -style à toutes les pages d'un document s'obtient par -\pagestyle{nom_style}. - -Les macros principales sont : -+ pour les entêtes -\lhead[paire gauche]{impaire gauche} -\rhead[paire droit]{impaire droit} -\chead{centre} -+ pour les pieds de page -\lfoot[paire gauche]{impaire gauche} -\rfoot[paire droit]{impaire droit} -\cfoot{centre} - -On distingue les styles fancy et plain par : -\lhead[\fancyplain{paire gauche plain}{paire gauche fancy}] -{\fancyplain{paire gauche plain}{paire gauche fancy}} -Le style par défaut est alors plain. - -Ce package définit quatre nouvelles longueurs : -+ \headrulewidth -+ \footrulewidth -+ \plainheadrulewidth -+ \plainfootrulewidth - -Exemple : -\documentclass{article} -\usepackage{fancyheadings} -\pagestyle{fancy} -\usepackage{graphicx} -\renewcommand{\sectionmark}[1]{\markboth{#1}{}} -\renewcommand{\subsectionmark}[1]{\markright{#1}} -\rfoot{\leftmark\\\rightmark} -\lhead{\includegraphics[width=0.5cm]{foobar.ps}} - -\begin{document} - - \section{Première section.} - Intro. - \subsection{Sous-section.} - Texte. -\end{document} -%%%% fin exemple %%%% - -Remarque : sur certaines pages où le style de page est - réinitialisé par certaines commandes (telles que - \tableofcontents), il faut repréciser le style voulu - via la commande \thispagestyle. - -Exemple : -\addtocontents{toc}{\protect\thispagestyle{fancyplain}} -%%%% fin exemple %%%% - -* Le package 'fancyhdr' est le successeur du package -'fancyheadings' pour LaTeX2e. Il est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/fancyhdr/. - -# 10.2 # Comment obtenir une note de bas de page ? --------------------------------------------------- -* La commande \footnote{texte} permet très facilement d'obtenir -des notes de bas de page sans se préoccuper de leur mise en -page. - -* Le package 'ftn' disponible sur CTAN dans -ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/misc/ permet d'étendre la commande -footnote à tous les environnements non flottants. - -# 10.3 # Comment mettre les notes de bas de page en fin de document ? ---------------------------------------------------------------------- -Le package 'endnotes', de J. Lavagnino, disponible sur CTAN -permet de faire cela. - -# 10.4 # Comment réduire les rappels de titres dans un haut ou bas de page ? ----------------------------------------------------------------------------- -Pour éviter que des titres trop longs n'apparaissent dans les -entêtes ou les pieds de pages, il suffit de passer un titre -plus court en option des commandes de structuration de -document. - -Remarque : dans ce cas, ce sont les titres courts qui - apparaîtront dans la table des matières. - -Exemple : -\documentclass{article} -\usepackage{fancyheadings} -\pagestyle{fancy} -\usepackage{graphicx} -\renewcommand{\sectionmark}[1]{\markboth{#1}{}} -\renewcommand{\subsectionmark}[1]{\markright{#1}} -\rfoot{\leftmark\\\rightmark} -\lhead{\includegraphics[width=0.5cm]{foobar.ps}} - -\begin{document} - - \section[Titre résumé.]{Un titre trop long pour les rappels.} - Intro. - \subsection{Sous-section.} - Texte. -\end{document} -%%%% fin exemple %%%% - -# 10.5 # Comment référencer une note de bas de page ? ------------------------------------------------------ -Il suffit simplement de définir un label à l'intérieur de la -commande \footnote et de la référencer par \ref. - -Exemple : -bla bla bla\footnote{Notons que ce bla l\`a est diff\'erent des -pr\'ec\'edents\label{footnote-bla}}... - -[...] - -..., comme l'indique la note~\ref{footnote-bla}, ... -%%%% fin exemple %%%% - -# 10.6 # Comment supprimer la numérotation des pages ? ------------------------------------------------------- -* Pour supprimer la numérotation des pages, il faut utiliser la -commande \pagestyle{empty}. Si elle ne suffit pas, il faut en -plus utiliser \thispagestyle{empty} sur les pages où la -numérotation subsiste. Ce comportement se justifie par le -fait que certaines commandes comme \tableofcontents ou \chapter -réinitialisent le style de page sur laquelle ils apparaissent. - -* On peut également redéfinir le style plain à empty -\let\ps@plain=\ps@empty. - -* Le package 'nopageno' de D. Carlisle, disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/carlisle/, de supprimer la -numérotation de toutes les pages même celles qui réinitialisent -le style de page. - -# 10.7 # Comment numéroter les pages par rapport à la dernière ? ----------------------------------------------------------------- -Pour pouvoir référencer les pages d'un document par rapport à la -dernière page (e.g. page 54/345), il faut utiliser le package -'lastpage' (disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/lastpage/). - -Exemple : -\documentclass{report} -\usepackage{french} -\usepackage{lastpage} - -\makeatletter -\renewcommand{\@evenfoot}% - {\hfil \upshape page {\thepage} de \pageref{LastPage}} -\renewcommand{\@oddfoot}{\@evenfoot} -\makeatother - -\begin{document} -Texte. -\end{document} -%%%% fin exemple %%%% - -Si l'on ne dispose pas du package 'lastpage', on peut définir ce -label "à la main" en ajoutant \label{LastPage} juste avant -\end{document} ou encore en utilisant la commande -\AtEndDocument{\label{LastPage}} dans le préambule du document. - -# 10.8 # Comment supprimer le trait de séparation des notes de bas de page ? ----------------------------------------------------------------------------- -Il suffit de mettre dans le préambule : -\renewcommand{\footnoterule}{} - -# 10.9 # Comment modifier la numérotation des pages ? ------------------------------------------------------ -* Il faut modifier la commande \thepage. - -Exemple (P. van Oostrum) : -\documentclass{report} -\usepackage{french} - -\makeatletter -\renewcommand{\thepage}{\thechapter-\arabic{page}} -% chapter-page numbering -\@addtoreset{page}{chapter} -% reset page number when chapter is stepped -% The next magic makes the page counter be reset to one rather -% than zero -\def\@stpelt#1{\global\csname c@#1\endcsname - \expandafter\ifx \csname#1\endcsname \page - \@ne - \else - \z@ \fi} -\makeatother -\begin{document} -\chapter{Introduction} -Texte. -\end{document} -%%%% fin exemple %%%% - -* Il existe également le package ci-dessous de A. Kielhorn. -%%%% debut macro %%%% -%% -%% This is page-per-chapter-package -%% version 2.0 -%% -%% Don't use it with refrep! -%% Refrep has these commands already implemented -%% -%% This version forces openright!! -%% -%% Index-commands should work in chapters and appedices, -%% they will not work as expected in the preface when the -%% pagenumbering is not arabic. (MakeIndex can't sort roman- -%% numbers) -%% -%% Bugs: -%% The index is sortet according to the pagenumber -%% without looking at the chapternumber. -%% I don't think MakeIndex could handle that. -%% - -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{pagepc}[1995/05/13] - -\@ifundefined{chapter} -{\PackageError{pagepc}{% - You can't number your pages per chapter\MessageBreak when you - have no chapters - }{% - Use ``report'' or ``book'' instead. - } -}% -{} - -%% Reset the pagecounter to 1 at the start of a new chapter -%% -\let\ppchapter=\@chapter -\def\@chapter{\if@pageperchapter\setcounter{page}{1}\fi - \ppchapter} - -%% Force a pagebreak at the start of the appendix, otherwise -%% the number of the page right before the appendix comes -%% out wrong -%% -\let\ppappendix=\appendix -\def\appendix{\if@pageperchapter\newpage\fi\ppappendix} - -\newif\if@pageperchapter \@pageperchapterfalse - -%% This command enables Page-per-Chapter, it is *not* on by -%% default to allow roman pagenumbers in the preface -%% (see sample-document) -%% -\newcommand{\pageperchapter} - {\@pageperchaptertrue - \@openrighttrue - % Remember old setting for chapter 0 = preface - \let\ppthepage=\thepage - % The new number needs more space - \renewcommand\@pnumwidth{2.55em} - % Here it comes :-) - \renewcommand\thepage{% - \ifnum \c@chapter = \z@ - \ppthepage - \else - \thechapter\ -- \arabic{page} - \fi - } - } - -%% This is a hack to make MakeIndex happy :-( -%% You can't use the |-form of an indexentry because -%% it is used to store the chapternumber. -%% -\def\@wrindex#1{% - \ifnum \c@chapter = \z@ - \protected@write\@indexfile{}% - {\string\indexentry{#1}{\arabic{page}}}% - % The above is wrong if pagenumbering!=arabic, - % but I think this is better than nothing. - \else - \protected@write\@indexfile{}% - {\string\indexentry{#1|ppc{\thechapter}}{\arabic{page}}}% - \fi - \endgroup - \@esphack -} - -%% This prints the pagenumber in the index -%% -\def\ppc#1#2{#1 -- #2} - -\endinput -%%%% fin macro %%%% - -* Pour changer la valeur du compteur de page, il suffit -d'utiliser : -\setcounter{page}{17}. - -# 10.10 # Comment supprimer les entêtes et bas de page de pages vierges ? -------------------------------------------------------------------------- -Lorsqu'on utilise l'option 'openright' pour faire débuter un -nouveau chapitre sur une page de droite dans un document -recto-verso, pour ne pas afficher les entêtes et bas de page sur -une page de gauche restée vierge, on peut utiliser la commande -suivante (cf. LaTeX Companion) : - -\newcommand{\clearemptydoublepage}{% - \newpage{\pagestyle{empty}\cleardoublepage}} - -Il est alors nécessaire d'utiliser cette commande avant -la commande \chapter. - -# 10.11 # Comment gérer des en-têtes avec des environnements verbatim multi-pages ? ------------------------------------------------------------------------------------ -Le problème consiste à inclure un fichier avec la commande -\input dans un haut ou bas de page alors que le corps du -document comprend des environnements verbatim qui s'étalent sur -plus d'une page. Dans ce cas, LaTeX au lieu d'interpréter la -commande \input fait un copier-coller du contenu du fichier -appelé par la commande \input (c'est comme s'il était en mode -verbatim au moment de traiter le \input). - -La solution consiste à utiliser une boîte via \savebox. - -Remarque : cela ne marche que si les informations à imprimer ne - varient pas au fil des pages. - -Exemple : -\newsavebox{\logo} -\savebox{\logo}[2cm][c]{\input{logo-late.pstex_t}} -%%%% fin exemple %%%% - -# 10.12 # Comment utiliser \footnote dans un titre ? ----------------------------------------------------- -* Il faut utiliser la commande \protect. - -Exemple : - \section{Titre de section\protect\footnote{Commentaire sur - ce titre.}.} -%%%% fin exemple %%%% - -ATTENTION : le problème dans ce cas est que la note apparaîtra - aussi bien dans l'en-tête si l'en-tête rappelle le - titre des sections que dans la table des matières. - Pour supprimer ces apparitions il faut alors - utiliser la même technique que pour les titres - résumés : - \section[foo]{foo\protect\footnote{foooo}} - -* Il existe également le package 'stblftnt' de R. Fairbairns -disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/ qui -gère le problème énoncé ci-dessus sans avoir à réécrire tout -le titre. - -# 10.13 # Comment placer les notes de bas de page les unes à côté des autres ? ------------------------------------------------------------------------------- -Il faut utiliser le package 'footnote', de R. Fairbairns, -disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/footnote/ avec l'option para : -\usepackage[para]{footnote}. - -# 10.14 # Comment réinitialiser le compteur de note de bas de page à chaque page ? ----------------------------------------------------------------------------------- -* Il faut utiliser le package 'footnote', de R. Fairbairns, -disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/footnote/ avec l'option -perpage : \usepackage[perpage]{footnote} - -* Le package 'footnpag' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/footnpag/ permet également de -faire cela. - -# 10.15 # Comment modifier le style des notes de bas de page ? --------------------------------------------------------------- -* Le package 'footmisc' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/footmisc/ permet de définir son -propre style de note de bas de page. - -* Le package 'ftnright' de F. Mittelbach redéfinit le placement -des notes de bas de page dans un document multi-colonnes. Lors -de l'utilisation de ce package, les notes de bas de page -appelées dans une page seront réunies et placées à la fin de la -dernière colonne de cette page. - -Remarque : Lorsque plusieurs packages sont utilisés - simultanément dans un même document, ftnright doit, - si possible, être appelé en dernier. - -# 10.16 # Comment utiliser le mode verbatim dans une note de bas de page ? --------------------------------------------------------------------------- -Par défaut, le mode verbatim n'est pas accessible dans une note -de bas de page (et de manière générale inutilisable dans un -argument d'une autre commande). -* On peut alors le forcer par : -\DeclareRobustCommand\espacement{{\fontencoding{OT1} -\selectfont \texttt{\char32}}} -* ou utiliser -\tt sous LaTeX2.09 -\texttt sous LaTeX2e - -# 10.17 # Comment éviter qu'une note de bas de page s'étale sur plusieurs pages ? ---------------------------------------------------------------------------------- -* La commande \samepage peut permettre de forcer LaTeX à ne -pas couper le contenu d'une note de bas de page. - -Exemple sans la commande : -Texte texte texte (1). Texte texte texte (2). Texte texte texte -(3). Texte texte texte (4). Texte texte texte (5). Un autre -texte\footnote{Un long long long long long long long long long -long long long long long long long long long long long long long -long long long long long long long long long long long long long -long long long long long commentaire sur cet autre texte.}. -Texte texte texte (6). Texte texte texte (7). Texte texte texte -(8). Texte texte texte (9). Texte texte texte (10). Texte texte -texte (11). Texte texte texte (12). Texte texte texte (13). -Texte texte texte (14). Texte texte texte (15). Texte texte -texte (16). Texte texte texte (17). Texte texte texte (18). -Texte texte texte (19). Texte texte texte (20). Texte texte -texte (21). Texte texte texte (22). -%%%% fin exemple %%%% - -Exemple avec : -Texte texte texte (1). Texte texte texte (2). Texte texte texte -(3). Texte texte texte (4). Texte texte texte (5). Un autre -texte\samepage\footnote{Un long long long long long long long -long long long long long long long long long long long long long -long long long long long long long long long long long long long -long long long long long long long commentaire sur cet autre -texte.}. Texte texte texte (6). Texte texte texte (7). Texte -texte texte (8). Texte texte texte (9). Texte texte texte (10). -Texte texte texte (11). Texte texte texte (12). Texte texte -texte (13). Texte texte texte (14). Texte texte texte (15). -Texte texte texte (16). Texte texte texte (17). Texte texte -texte (18). Texte texte texte (19). Texte texte texte (20). -Texte texte texte (21). Texte texte texte (22). -%%%% fin exemple %%%% - -* On peut également utiliser une \parbox mais cela peut modifier -la structure de la page (empiètement du bas de page). - -Exemple : -\footnote{\parbox[t]{0.94\linewidth}{This is a footnote ...} -%%%% fin exemple %%%% - -* L'emploi de la commande \enlargethispage peut également -suffire. - -* Une solution plus globale (et non pas au cas par cas comme les -solutions précédentes) consiste à redéfinir la pénalité associée -à \interfootnotelinepenalty. Cela permet de relâcher le critère -de beauté associé au placement des bas de page. - -Exemple : -Mettre dans le préambule \interfootnotelinepenalty=10000. -%%%% fin exemple %%%% - -Remarque : \raggedbottom permet en plus à LaTeX de ne pas - s'inquiéter si le corps de la note n'apparaît pas - sur la même page que son appel. - -================================================================ -[11] LATEX, LE FRANÇAIS ET LES AUTRES LANGUES -================================================================ - -# 11.1 # Comment franciser un document LaTeX ? ----------------------------------------------- -* 'babel' version 3.6 disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/babel/, est un package de J. Braams. -babel permet de composer des documents multilingues. Son appel -sous LaTeX2e se fait par \usepackage[langue_1, langue_2, ..., -langue_n]{babel}. - -Parmi les langues actuellement disponibles, on peut citer -english, german, italian, french, français. Le changement de -langue se fait via la commande \selectlanguage. - -Exemple : -\selectlanguage{spanish} -%%%% fin exemple %%%% - -La langue par défaut est la dernière de la liste passée en -paramètre à babel (langue_n dans l'exemple précédent). - -Ce package est le plus courant sur le plan international mais il -est souvent contesté en France. On lui préfère alors le package -'french'. - -* Le package 'french' de B. Gaulle est disponible par ftp sur -ftp://ftp.gutenberg.eu.org/pub/gut/french/ ou sur -ftp://ftp.loria.fr/pub/ctan/language/french/. - -Lors de l'installation, respectez les instructions d'installation -accompagnant french.sty (une FAQ est également disponible). Le -fichier des motifs de césure est désormais unique (frhyph.tex), -que l'on travaille avec le codage de fontes T1 ou OT1 (avec -option MlTeX). - -Vous pouvez également utiliser la série de commandes -suivantes, gentiment envoyées par Denis Barbier: - ----------- citation ---------- - make -f Makefile.unx ALLTEXPATH=/usr/share/texmf \ - install-hyphen install-config install-base install-index - texhash - -Puis modifier le fichier /usr/share/texmf/web2c/fmtutil.cnf et -ajouter -la ligne ci-dessous: -frlatex tex language.dat -mltex frlatex.ini - -Taper ensuite - fmtutil --byfmt frlatex - texlinks - -La commande pour compiler du LaTeX avec french est alors -frlatex. -------------- fin ------------- - -Remarque : Dans un fichier source (.tex), il est conseillé de - charger french après tous les autres packages. - -french prend notamment en charge la mise en page, la traduction -des balises LaTeX visibles dans le document final (Chapitre, -Table des matières, ...), .... - -ATTENTION : ces deux options (french et babel) ne sont pas - toujours parfaitement compatibles (les dernières - versions le sont french3,49 et babel 3.6). -AL: A vérifier... - - + \usepackage[francais]{babel} et - \usepackage[frenchb]{babel} font appel à l'option - frenchb maintenue par D. Flipo. - + \usepackage[french]{babel} fait appel au package - french de B. Gaulle à condition que french ait été - installé (et plus particulièrement french.ldf) - + les versions de tous ces packages sont très - importantes (babel, frenchb, french) pour une bonne - coexistence. Une version 3.6 beta de Babel est sur - CTAN mais il paraît qu'il y avait un problème avec - french. Babel 3.5e et french V3.46 collaborent assez - bien dans tous les sens. - + les fichiers de césure sont les mêmes pour babel - et pour french. - -ATTENTION : les dernières distributions de french (V4 et - post) ne sont plus compatibles LaTeX 2.09 ! - -# 11.2 # Comment corriger les coupures de mots accentués ? ----------------------------------------------------------- -* Une solution consiste à utiliser MlTeX (multilingual TeX). -C'est le moteur TeX de M. Ferguson. Il permet en particulier de -gérer les coupures de mots accentués. Certaines des idées -utilisées dans ce moteur ont d'ailleurs été reprises par la -suite dans TeX V3. - -* Suivant la fonte avec laquelle on travaille (i.e. suivant -qu'elle dispose des caractères accentués ou non), il peut -exister des problèmes d'interaction entre les lettres accentuées -et les règles de coupure des mots. En effet, l'utilisation d'une -fonte 7 bits impose que les caractères accentués soient -fabriqués par la macro \accent de TeX qui inhibe toute coupure -pour la suite du mot. - -En LaTeX2e l'utilisation de fontes respectant la norme T1 -(codage de Cork + 8 bits) permet d'éviter ces problèmes. Il faut -alors faire appel au package 'fontenc' : -\usepackage[T1]{fontenc} -Ce package nécessite que des fontes encodées T1 (suffisamment -récentes) aient été installées (fontes dc par exemple). - -Il faut en outre utiliser des modèles de coupure de mot encodées -T1. Il existe pour cela deux fichiers disponibles sur CTAN. Il -s'agit des fichiers fr8hyph.dc (ou mieux f8hyph, beaucoup plus -récent) pour un codage 8 bits (fonte avec caractères accentués -telle que dc) et fr7hyph (respectivement f7hyph) pour un codage -7 bits (accents TeX). L'association GUTenberg propose également -de tels fichiers (cf. french paragraphe 11.1). - -* Il peut y avoir également un problème de versions, -l'algorithme de coupure des mots a changé entre les versions -2.9 et 3.0. Ainsi si vous utilisez Tex V.3.0 ou plus, il faut -veiller à ce que les fichiers plain.tex et lplain.tex soient -également en version 3.0 ou plus. - -# 11.3 # Comment utiliser les lettres accentuées ? --------------------------------------------------- -* Les accents disponibles sous LaTeX sont présentés à la -question 29.57. - -* Pour éviter ces commandes barbares d'accentuation des -caractères, on peut utiliser une fonte contenant toutes les -lettres accentuées nécessaires (code 8 bits). Si besoin, il faut -préciser un codage d'entrée via l'instruction : -\usepackage[codage d'entrée]{inputenc} - -L'option est rendue nécessaire par le fait que les codes de -caractères au-delà de 127 sont différents sous Dos, MacOS et -Unix... Ainsi, le codage à preciser est latin1 pour un système -Unix ou un PC sous Windows, applemac sous Mac adapté au français -ou encore cp850 pour le code-page 850 sur PC (sous MS-DOS). Il -existe également ansinew, cp438, latin2 selon les systèmes. - -Exemple : -\usepackage[applemac]{inputenc} -%%%% fin exemple %%%% - -ATTENTION : inputenc.sty « casse » les efforts faits par mlTeX - lorsqu'on utilise les fontes codées OT1 (fontes CMR - ou PostScript). - -* mapcodes de M. Piotrowski autorise également un grand nombre -de codages de caractères (iso8859-1 (latin1), iso8859-2 -(latin2), ibm850 ou 852, hproman8, etc). - -# 11.4 # Comment composer du texte en grec moderne ou classique ? ------------------------------------------------------------------ -Il suffit d'utiliser l'option greek du package babel disponible sur CTAN. Son -site primaire est ftp://obelix.ee.duth.gr/pub/TeX/. La version 1.0 fournie -avec babel ne supporte pas les accents ni les marques de respirations par -contre la toute nouvelle version 1.1 les supporte. - -On trouvera un fichier de césure de mots dans -ftp://obelix.ee.duth.gr/pub/TeX/hyphen.greek. - -# 11.5 # Comment composer du texte en hébreu moderne ou classique ? -------------------------------------------------------------------- -Il suffit d'utiliser le package ArabTeX 3.05 disponible sur CTAN. Son site -primaire est ftp://ftp.informatik.uni-stuttgart.de/pub/arabtex/. -Ce package permet la vocalisation mais pas les marques de -cantillation. - -Exemple: -\documentclass{article} -\usepackage{arabtex,hebtex} -\setcode{standard} -\sethebrew - -\begin{document} -Voici du texte en hébreu -\begin{arabtext} -yOm tOb -\end{arabtex} -Fin du texte en hébreu -\end{document} -%%%% fin exemple %%%% - -# 11.6 # Comment composer du texte en arabe ? ---------------------------------------------- -Il suffit d'utiliser le package ArabTeX 3.05 disponible sur CTAN. Son site -primaire est ftp://ftp.informatik.uni-stuttgart.de/pub/arabtex/. - -# 11.7 # Comment définir les césures de groupes de mots conjugués avec un trait d'union ? ------------------------------------------------------------------------------------------ -(B. Gaulle) Par défaut, TeX coupe tout mot composé à l'endroit -exact du trait d'union et uniquement à cet endroit. Mais cela -peut se modifier. Dans ce but, j'ai ajouté à french (V4,02) une -commande \allowhyphens qui permet de laisser à TeX le choix des -autres coupures dans le mot. - -Remarque : la commande \hypenation ne permet pas d'intégrer un - trait d'union car ce caractère sert à indiquer un - point de coupure et uniquement cela. - -Voici donc la solution : -\showhyphens{{définissez\allowhyphens-le} -donne alors comme points de coupure : dé-fi-nis-sez-le - --- -Benjamin Bayart -bayartb@edgard.fdn.fr diff --git a/Master/texmf-doc/doc/french/FAQ-fr/part4 b/Master/texmf-doc/doc/french/FAQ-fr/part4 deleted file mode 100644 index 36dd3e146d6..00000000000 --- a/Master/texmf-doc/doc/french/FAQ-fr/part4 +++ /dev/null @@ -1,2906 +0,0 @@ -Path: tempo.univ-lyon1.fr!univ-lyon1.fr!howland.erols.net!cpk-news-hub1.bbnplanet.com!news.gtei.net!opentransit.net!proxad.net!teaser.fr!fdn.fr!edgard.fdn.fr!not-for-mail -Date: 08 Jun 2001 13:31:18 +0200 -Newsgroups: fr.comp.text.tex,fr.usenet.reponses -Subject: [FAQ] fr.comp.text.tex - parties 12 a 15 -Message-ID: <faq-fctt-p420010608133118@edgard.fdn.fr> -X-Posted-By: poste.sh version 1.1 -From: bayartb@edgard.fdn.fr (Nono le robot) -Supersedes: <faq-fctt-p420010501143416@edgard.fdn.fr> -Expires: 08 Jul 2001 13:31:17 +0200 -Followup-To: poster -Organization: French Data Network -Approved: bayartb@edgard.fdn.fr -Lines: 2894 -Xref: tempo.univ-lyon1.fr fr.comp.text.tex:23524 fr.usenet.reponses:20390 - -Archive-name: fr/faq-latex-francaise/part4 - -Author: Marie-Paule Kluth -Posting-Frequency: mensuel (monthly) -Version: 2.27 - -================================================================ - Cette FAQ, rédigée initialement par MP Kluth est maintenant - tenue à jour autant que possible par B. Bayart et - plusieurs volontaires (voir question [30]). -================================================================ - -================================================================ -[12] MATHÉMATIQUES -================================================================ - -# 12.1 # Comment passer en mode mathématique ? ----------------------------------------------- -* Pour les mathématiques en ligne, il faut utiliser : -$ et $ ou -\( et \) ou -\begin{math} et \end{math} - -Exemple : -Résoudre l'équation~: -$ 3 + 4 x = 0 $ -%%%% fin exemple %%%% - -* Pour les formules isolées, il faut utiliser les modes : - $$ et $$ ou - \[ et \] ou - \begin{displaymath} et \end{displaymath}. - -Exemple : -Résoudre l'équation~: -$$ -3 + 4 x = 0 -$$ -%%%% fin exemple %%%% - -* Avec l'environnement \displaystyle, on peut quand même avoir -une formule de style isolée dans le texte mais cela modifie -localement les interlignes. - -Exemple : -Texte texte texte texte texte texte texte texte texte texte -texte texte texte texte texte texte texte texte texte texte -texte texte texte texte texte texte texte texte texte texte -$\displaystyle \sum_{i=0}^n u_i $ texte texte texte texte -texte texte texte texte texte texte texte texte texte texte -%%%% fin exemple %%%% - -* De même, on peut utiliser $\sum\limits{i=0}^n u_i$. - -* Pour écrire des mathématiques sous LaTeX2e, les packages -'amsmath', disponible sur ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/, et -'amssymb' sont incontournables. En LaTeX2.09, on peut utiliser -'amstex', disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/amstex/, 'amsby' et -'amsopn' mais il faut savoir que amstex est obsolète. - -ATTENTION : en mode mathématique, la gestion des espaces et des - retours à la ligne est entièrement prise en charge - par LaTeX (cf. question 12.33). En outre, les lignes - vides ne sont pas autorisées. - -# 12.2 # Qu'est que AMS-LaTeX ? -------------------------------- -AMS-TeX est un terme utilisé pour désigner un ensemble de -fichiers distribués par l'American Mathematical Society (AMS). -AMS-LaTeX s'appuie sur TeX et LaTeX2e. AMS-LaTeX est -principalement dû a F. Mittelbach et R. Schopf. C'est un outil -complémentaire à LaTeX pour écrire des mathématiques (il devient -d'ailleurs rapidement indispensable). - -Il existe une FAQ disponible sur -ftp://ftp.fdn.org/pub/CTAN//macros/latex/packages/amslatex/math/amslatex.faq. - -Les packages proposés sont 'amsmath' (complet), 'amstext' (pour -écrire du texte en mode mathématique), 'amsbsy' (pour les -symboles gras), 'amsopn' (pour la déclaration d'opérateurs), -'amsthm' (pour les environnements proof et theorem), 'amsintx' -(pour étendre la syntaxe des sommes et intégrales), 'amscd' -(pour les diagrammes commutatifs), 'amsxtra' et 'upref' (pour -les références croisées). - -Ces packages sont disponibles par ftp sur -ftp://e-math.ams.org/pub/tex/amslatex/. Il faut également -récupérer les fontes associées dans -ftp://e-math.ams.org/pub/tex/amsfonts/, -ftp://e-math.ams.org/pub/tex/amsltx11/ et -ftp://e-math.ams.org/pub/tex/amstex/. Sur CTAN, les -répertoires correspondants sont -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/amslatex/, ftp://ftp.fdn.org/pub/CTAN/fonts/amsfonts/, -ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/amslatex/ et -ftp://ftp.fdn.org/pub/CTAN/macros/amstex/. Il existe également le site WEB -http://www.ams.org/tex. - -# 12.3 # Comment écrire les symboles d'ensembles ? --------------------------------------------------- -Un peu d'histoire (T. Bouche) : au temps jadis, dans les livres, -les symboles d'ensemble étaient imprimés en gras pour qu'on les -voie bien. Problème, comment, lorsque l'on écrit sur un tableau -noir, maintenir ce type de distinction ? En fait, au lieu -d'écraser la craie avec force sur le tableau pour élargir un -trait, on a décidé de le doubler. Ce qui est comique, c'est -qu'en retour, les livres se sont mis à copier l'usage des profs, -et ont distingué le "gras" (bold), du "gras de tableau" qui est -une fonte à part (dessin normal à barre redoublée). - -* Les symboles mathématiques d'ensemble et bien d'autres sont -disponibles par défaut dans les fontes AMS : famille msam -(e.g., msam10 pour 10pt) et msbm. Ces fontes sont disponibles -par ftp anonyme sur ftp://e-math.ams.org/pub/tex/amsfonts/ ou sur -ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amsfonts/sources/symbols/. Pour avoir accès -aux symboles, il faut alors utiliser les packages 'amsfonts' et -'amssymb'. - -Exemple : -soit on définit une commande spéciale (dans le préambule): - \newcommand{\R}{\mathbb{R}} - -et on utilise : - - $\R$ - -soit on tape directement : - - $\mathbb{R}$ (LaTeX2e) ou - - ${\Bbb R}$ (LaTeX2.09) -%%%% fin exemple %%%% - -* Si vous ne disposez pas des packages ams vous pouvez au grand -dam de certains puristes utiliser les commandes : -+ pour les naturels : - \def\N{\mbox{I\hspace{-.15em}N}} -+ pour les entiers : - \def\Z{\mbox{Z\hspace{-.3em}Z}} -+ pour les reels : - \def\R\mbox{I\hspace{-.15em}R}} -+ pour les complexes : - \def\C{\mbox{l\hspace{-.47em}C}} -+ ... - -Il faut savoir dans ce cas que leur utilisation est limitée : -pas de mise en indice, exposant, etc. - -* C. Fiorio (fiorio@math.tu-berlin.de) propose également un -certain nombre de macros (LaTeX2e) : - -%%%% debut macro %%%% -% -%% Les ensembles de nombres -% -\def\nbR{\ensuremath{\mathrm{I\!R}}} % IR -\def\nbN{\ensuremath{\mathrm{I\!N}}} % IN -\def\nbF{\ensuremath{\mathrm{I\!F}}} % IF -\def\nbH{\ensuremath{\mathrm{I\!H}}} % IH -\def\nbK{\ensuremath{\mathrm{I\!K}}} % IK -\def\nbL{\ensuremath{\mathrm{I\!L}}} % IL -\def\nbM{\ensuremath{\mathrm{I\!M}}} % IM -\def\nbP{\ensuremath{\mathrm{I\!P}}} % IP -% -% \nbOne : 1I : symbol one -\def\nbOne{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l} -{\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}} -% -% \nbC : Nombres Complexes -\def\nbC{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}% -\hbox{\hbox to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox -to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox -to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox -to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}} -% -% \nbQ : Nombres Rationnels Q -\def\nbQ{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm -Q$}\hbox{\raise -0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}} -{\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise -0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise -0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise -0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}} -% -% \nbT : T -\def\nbT{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm -T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox -to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox -to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox -to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}} -% -% \nbS : S -\def\nbS{{\mathchoice -{\setbox0=\hbox{$\displaystyle \rm S$}\hbox{\raise0.5\ht0% -\hbox to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox -to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}} -{\setbox0=\hbox{$\textstyle \rm S$}\hbox{\raise0.5\ht0% -\hbox to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox -to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptstyle \rm S$}\hbox{\raise0.5\ht0% -\hboxto0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0% -\hbox to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0% -\hboxto0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0% -\hbox to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}} -% -% \nbZ : Entiers Relatifs Z -\def\nbZ{{\mathchoice {\hbox{$\sf\textstyle Z\kern-0.4em Z$}} -{\hbox{$\sf\textstyle Z\kern-0.4em Z$}} -{\hbox{$\sf\scriptstyle Z\kern-0.3em Z$}} -{\hbox{$\sf\scriptscriptstyle Z\kern-0.2em Z$}}}} -%%%% fin macro %%%% - -Exemple : -$ \nbN $ pour les entiers naturels -%%%% fin exemple %%%% - -* Autres alternatives : -en metafont: -+ les fontes 'bbold' d'A. Jeffrey (une sorte de Futura vraiment -doublé par endroit, pas détouré - mais du coup pas du tout du -même style que les autres lettres du mode mathématique) - -Exemple : -\font\bbold=bbold12 -\newcommand{\R}{\mbox{\bbold R}} -%%%% fin exemple %%%% - -en postscript (produits commerciaux) -+ dextor outline -+ Mathematical Pi (une sorte d'helvetica doublé par endroit) - -* Le package 'bbm' disponible sur ftp://ftp.fdn.org/pub/CTAN/fonts/cm/bbm/ -propose certaines variantes pour les fontes Computer Modern. - -# 12.4 # Comment numéroter les équations ? ------------------------------------------- -* Sous LaTeX2e, les options de classe leqno et fleqn permettent -d'indiquer si les numéros d'équations doivent apparaître à -droite ou à gauche des équations. - -Exemple, pour que les numéros apparaîssent à gauche : -\documentclass[leqno]{report} -\begin{document} -\begin{eqnarray} - x + 4 & = & 0 \\ - 8 - y & = & 0 -\end{eqnarray} -%%%% fin exemple %%%% - -* Pour supprimer la numérotation des équations, il suffit -d'ajouter le caractère * aux noms des environnements d'équation. - -Exemple : -\begin{eqnarray*} - x + 4 & = & 0 \\ - 8 - y & = & 0 -\end{eqnarray*} -%%%% fin exemple %%%% - -* Pour supprimer la numérotation d'une ligne particulière dans -un groupe d'équations, il suffit d'utiliser la commande -\nonumber (avant les \\). Avec amsmath, il faut utiliser \notag. - -* Pour réinitialiser le compteur d'équations dans chaque -section, il faut inclure : -%%%% debut macro %%%% -\makeatletter -\renewcommand\theequation{\thesection.\arabic{equation}} -\@addtoreset{equation}{section} -\makeatother -%%%% fin macro %%%% -dans le préambule. - -Remarque : dans ce cas, il ne faut pas mettre d'équation dans un - chapitre avant la première section sous peine d'avoir - un numéro du style 3.0.1. - -* Pour modifier le style de numérotation, il faut modifier la -commande \theequation. - -Exemple 1 : -\documentclass{report} -\usepackage{french} -\pagestyle{empty} -\renewcommand{\theequation}{\thesection \Alph{equation}} -\begin{document} -\chapter{Systèmes d'équations.} - \section{À une variable.} - \begin{eqnarray} - x + 4 & = & 0 \\ - x & = & 3 - \end{eqnarray} - \section{À deux variables.} - \begin{eqnarray} - x + 4 & = & 0 \\ - 8 - y & = & 0 - \end{eqnarray} -\end{document} -%%%% fin exemple %%%% - -Exemple 2 (pour avoir les numéros entre crochets) : -\makeatletter -\renewcommand{\@eqnnum}{{\normalfont\normalcolor\theequation}} -\renewcommand{\theequation}{[\arabic{equation}]} -\makeatother - -\begin{document} - \begin{eqnarray} - x + 4 & = & 0 \\ - y - 2 & = & 0 - \end{eqnarray} -%%%% fin exemple %%%% - -* Avec le package 'amsmath', disponible sur -ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/, la commande \numberwithin permet de -numéroter les équations suivant le paragraphe auquel elles -appartiennent. Il faut alors appeler : -\numberwithin{equation}{section} dans le préambule. - -* Les packages 'seceqn' et 'apeqnum' disponibles sur CTAN -permettent pour le premier de numéroter les équations par -section et pour le second de numéroter individuellement les -équations dans les annexes. - -* Le package 'deleq' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/ ou sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/deleq/ permet de définir un label -par groupe d'équations (4) en plus des labels individuels de -type (4a), (4b), etc. - -* La commande \tag{xxx} du package 'amsmath' sous LaTeX2e permet -de personnaliser la numérotation des équations. - -Exemple : pour permettre à deux équations d'avoir le même -numéro : -\begin{equation} - x - y = 0 - \label{equa} -\end{equation} -... -\begin{equation} - x = y - \tag{\eqref{equa}} -\end{equation} -%%%% fin exemple %%%% - -Remarque : \eqref remplace \ref pour les équations : la fonte - utilisée est toujours la même (c'est plus beau). - -* Les environnements subequations (du package 'amsmath') et -subeqnarray (du package 'subeqnarray') permettent de référencer -différentes lignes d'un même groupe d'équations par des indices -(3.a), (3.b), etc. -+ Sous subequations, une référence à une ligne particulière -s'obtient alors par un \label placé sur cette ligne alors qu'une -référence au système d'équation s'obtient par un \label placé -immédiatement après \begin{subequations}. - -Exemple : -\begin{subequations} \label{E:gp} - \begin{gather} - x_1 x_2 + x_1^2 x_2^2 + x_3 \label{E:gp1} \\ - x_1 x_3 + x_1^2 x_3^2 + x_2 \label{E:gp2} \\ - x_1 x_2 x_3 \label{E:gp3} - \end{gather} -\end{subequations} - -[...] - -Voir le système~\ref{E-gp} et en particulier -l'équation~\ref{E-gp2}. -%%%% fin exemple %%%% - -Remarque : c'est le \\ qui incrémente le compteur des - sous-références. - -+ Sous subeqnarray une référence à une ligne particulière se -fait alors par \slabel au lieu de \label. - -# 12.5 # Comment aligner des équations ? ----------------------------------------- -* Pour aligner des équations sur un signe de relation, il suffit -sous LaTeX d'appeler l'environnement eqnarray avec ou sans la -commande \lefteqn ou si l'on dispose du package -'amsmath', disponible sur ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/, -d'utiliser un des environnements split, multline, align ou -flalign. - -Exemples : - -\begin{align} - f(x) & = & x^2 + 8x + 16 \\ - & = & (x+4)^2 -\end{align} - -\begin{eqnarray} - \lefteqn{x + 3y - 6z} \\ - & = & -4a + 5b -7b \\ - & = & -4a - 2b -\end{eqnarray} - -\begin{align} - \begin{split} - A &= B + C + D + E + F + G \\ - &\quad + H + I - \end{split} \\ - F &= G + H -\end{align} -%%%% fin exemple %%%% - - * L'environnement equationarray du package 'eqnarray' associe - les avantages des environnements eqnarray et array. Il n'est - pas limité en nombre de colonnes. - -* Pour produire le système d'équations suivant : - x = y + z - x1 = y1 + z1 -on peut utiliser l'environnement alignat du package 'amsmath'. -Toutefois, il faut noter que cet environnement est alors -détourné de son utilisation normale. En effet, ce dernier est -prévu pour aligner des objets différents sur des colonnes -alternativement justifiées à droite puis à gauche. L'utilisation -de colonnes vides permet alors de choisir la justification -voulue. D'autre part l'utilisation de {} permet d'obtenir des -espacements "normaux". - -Exemple : -\begin{alignat}{2} - x & = y &&+ z\\ - x_1 & = y_1 &&+ z_1 -\end{alignat} - -\begin{alignat}{5} - 10a& ={}& 3x&& 3y& +{}& 18z&& 2w&\\ - 6a& ={}& 17x&& & +{}& 5z&& 19w& -\end{alignat} -%%%% fin exemple %%%% - -* Le package 'mathenv' disponible sur CTAN propose un éventail -d'environnements mathématiques pour aligner des entités en -colonne. - -# 12.6 # Comment générer des vecteurs ? ---------------------------------------- -* Il suffit d'utiliser le package 'amsmath', disponible sur -ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/, et d'appeler la commande -\overrightarrow. - -Exemple : -Le vecteur $\overrightarrow{u}$ -%%%% fin exemple %%%% - -* On peut également définir ses propres flèches notamment pour -régler leur hauteur par rapport aux lettres qu'elles surmontent. -La solution présentée ci-dessous utilise les packages 'amsmath', -'amssymb' et 'xy' : -%%%% debut macro %%%% -\newcommand{\xyflecheverladroite} -{\mbox{\xymatrix{*{\hphantom{OM}}\ar[]+L;[]+R}}} - -\newcommand{\ra}[1] -{\mathchoice -{\overset{\mbox{\xymatrix{*{\hphantom{\displaystyle #1}} -\ar[]+L;[]+R}}}{\displaystyle #1}}% -{\overset{\mbox{\xymatrix{*{\hphantom{\textstyle #1}} -\ar[]+L;[]+R}}}{\textstyle #1}}% -{\overset{\mbox{\xymatrix{*{\hphantom{\scriptstyle #1}} -\ar[]+L;[]+R}}}{\scriptstyle #1}}% -{\overset{\mbox{\xymatrix{*{\hphantom{\scriptscriptstyle #1}} -\ar[]+L;[]+R}}}{\scriptscriptstyle #1}}% } - -%Pour changer la distance de la flèche, on peut procéder ainsi. -%\renewcommand{\ra}[1] -%{\overset{\raisebox{-1pt}{\mbox{\xymatrix{*{\hphantom{#1}} -%\ar[]+L;[]+R}}}}{#1}} -%%%% fin macro %%%% - -Exemples : -$$ \ra{OM} $$ -$\ra{OM}$ -$\ra{OM_i}$ -$$ \ra{OM} _{\ra{OM}_{\ra{OM}}}$$ -%%%% fin exemple %%%% - -* Le package 'vector', de N. Efford, est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/vector/. Il offre notamment -un certain nombre de vecteurs utiles aux physiciens et des -commandes automatiques d'énumération des coordonnées. - -Exemple : -$(\irvec[4]x)$ - -$\bvec{y} = \left[ \cvec{y}{0}{3} \right]$ -%%%% fin exemple %%%% - -* Le package 'easyvector' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/easy/ permet de définir des -vecteurs suivant une syntaxe de type C. - -# 12.7 # Comment écrire du texte en mode mathématique ? -------------------------------------------------------- -* La commande \text{xxx} du package 'amsmath', disponible sur -ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/, permet d'inclure du texte dans -une formule mathématique sans que les accents et les espacements -mathématiques ne soient nécessaires. - -* La commande \textrm{xxx} du package 'amsmath' (ou amstext) -permet en outre de prendre en compte la taille de la fonte -courante. - -Exemple : -La fonction~: $ f_{\textrm{tracage}} $ sert au tracé de -courbes. -%%%% fin exemple %%%% - -* Il est également possible d'utiliser la commande \mbox. - -Remarque : aucune de ces commandes ne gère les retours à la - ligne en fin de ligne. - -# 12.8 # Comment ajuster la taille de délimiteurs ? ---------------------------------------------------- -* Pour ajuster la taille de délimiteurs tels que les -parenthèses, les accolades, etc, il suffit d'utiliser les -commandes \left et \right. - -Remarque : si l'on veut utiliser un seul délimiteur (sans son - symétrique) il faut utiliser \right. en fermeture. - -Exemples : -$\left( \frac{1}{2} \right)$ - -$\left \{ \mathrm{et} \right \}$ - -Résoudre le système~: -\[ -\left \{ -\begin{array}{ccc} - x + y & = & 0 \\ - x - y & = & 0 -\end{array} -\right. -\] -%%%% fin exemple %%%% - -Remarque : Pour changer la taille des délimiteurs de façon - relative à la taille des données qu'ils encadrent, - c'est le paramètre \delimitershortfall qui est - utilisé. Lorsqu'il vaut 0pt, les délimiteurs qu'il - contrôle sont au plus aussi grands que le contenu - qu'ils encadrent ; pour que les délimiteurs puissent - être plus grands que leur contenu, il faut donner une - valeur négative à \delimitershortfall. - -* Pour imposer son propre choix de taille de délimiteurs -notamment pour des délimiteurs imbriqués, il existe les -commandes \big, \Big, \bigg et \Bigg. - -Exemples : -$\Big( (x+1) (x-1) \Big) ^{2}$ - -$\big\{\Big\{\bigg\{\Bigg\{$ -%%%% fin exemple %%%% - -# 12.9 # Comment changer de fonte en mode mathématique ? --------------------------------------------------------- -* Il faut utiliser les packages 'amsmath' ou 'amssymb' puis : -+ pour du gothique -\frak{Texte} en LaTeX2.09 -\mathfrak{Texte} en LaTeX2e - -+ pour du caligraphique gras : -\boldsymbol{\mathcal{TEXTE}} -on peut aussi générer tout l'alphabet correspondant : -\DeclareSymbolFont{boldsymbols}{OMS}{cmsy}{b}{n} -\DeclareSymbolFontAlphabet{\mathbfcal}{boldsymbols} -puis utiliser la commande \mathbfcal - -Remarque : La commande \mathcal ne marche qu'avec des - majuscules. - -+ pour du gras italique : -\DeclareMathAlphabet\mbi{OML}{cmm}{b}{it} -ou -\DeclareSymbolFont{mathbold}{OML}{cmm}{b}{it} -\DeclareMathSymbol{\biGamma}{\mathord}{mathbold}{0} - -+ pour des symboles en gras : -\boldsymbol{\alpha} -ou -\DeclareSymbolFont{mathbold}{OML}{cmm}{b}{it} -\DeclareMathSymbol{\balpha}{\mathord}{mathbold}{11} - -Remarque : si cela ne marche pas, c'est que les caractères gras - correspondants n'existent pas. Il faut alors soit - utiliser la commande \pmb{...} soit utiliser un - package supplémentaire tel que 'amsbsy'. Il existe - par ailleurs des versions postscript de fontes AMS - disponibles sur CTAN. - -* Sous LaTeX2e, il existe un certain nombre de commandes de -changement de fonte. Il s'agit de : -+ mathcal pour du calligraphique (argument en majuscule), -+ mathrm pour du roman, -+ mathbf pour du gras, -+ mathsf pour du sans serif, -+ mathtt pour du typewriter (machine à écrire), -+ mathnormal pour revenir à la fonte par défaut, -+ mathit pour de l'italique. - -* Pour écrire toute une formule en gras, on peut aussi utiliser -la commande \mathversion{xxx} de LaTeX2e. xxx peut valoir bold -ou normal. - -Exemple : -Une formule importante~: -\mathversion{bold} -$$\sum_{i=0}^n u_i + v_i$$ - -Une formule moins importante~: -\mathversion{normal} -$$\sum_{i=0}^n v_i$$ -%%%% fin exemple %%%% - -* Le package 'bm' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/bm/ permet de bien gérer les -symboles mathématiques en gras. - -# 12.10 # Comment obtenir le L de la transformée de Laplace ? -------------------------------------------------------------- -Pour obtenir le L de la transformée de Laplace, il faut -utiliser le package 'mathrsfs' puis la commande -\renewcommand{\L}{\mathscr{L}}. - -Remarque : ce package fait appel à des fontes particulières - qu'il faut également installer. - -# 12.11 # Comment réaliser un tableau en mode mathématique ? ------------------------------------------------------------- - -Il faut utiliser l'environnement array. - -Exemple : -Résultats~: -\[ -\begin{array}{|c @=c|} - \hline - \alpha + \beta & 12 \\ - \hline - \sqrt{\gamma} & 36 \\ - \hline -\end{array} -\] -%%%% fin exemple %%%% - -# 12.12 # Comment obtenir d'autres symboles mathématiques ? ------------------------------------------------------------ -* LaTeX propose un grand nombre de commandes de symboles. - -+ pour les opérateurs binaires : - \pm \cap \diamond \oplus - \mp \cup \bigtriangleup \ominus - \times \uplus \bigtriangledown \otimes - \div \sqcap \triangleleft \oslash - \ast \sqcup \triangleright \odot - \star \vee \wedge \bigcirc - \dagger \setminus \amalg \circ - \ddagger \cdot \wr \bullet - \lhd \rhd \unlhd \unrhd - -+ pour les opérateurs de relation : - \leq \geq \equiv \models - \prec \succ \sim \perp - \preceq \succeq \simeq \mid - \ll \gg \asymp \parallel - \subset \supset \approx \bowtie - \subseteq \supseteq \cong \Join - \sqsubset \sqsupset \neq \smile - \sqsubseteq \sqsupseteq \doteq \frown - \in \ni \propto - \vdash \dashv - -+ pour les opérateurs fléchés : - \leftarrow \longleftarrow \uparrow - \Leftarrow \Longleftarrow \Uparrow - \rightarrow \longrightarrow \downarrow - \Rightarrow \Longrightarrow \Downarrow - \leftrightarrow \longleftrightarrow \updownarrow - \Leftrightarrow \Longleftrightarrow \Updownarrow - \mapsto \longmapsto \nearrow - \hookleftarrow \hookrightarrow \searrow - \leftharpoonup \rightharpoonup \swarrow - \leftharpoondown \rightharpoondown \nwarrow - \rightleftharpoons \leadsto - -+ autres opérateurs : - \sum \bigcap \bigodot - \prod \bigcup \bigotimes - \coprod \bigsqcup \bigoplus - \int \bigvee \biguplus - \oint \bigwedge - -+ autres symboles : - \aleph \prime \forall \infty - \hbar \emptyset \exists \Box - \imath \nabla \neg \Diamond - \jmath \surd \flat \triangle - \ell \top \natural \clubsuit - \wp \bot \sharp \diamondsuit - \Re \| \backslash \heartsuit - \Im \angle \partial \spadesuit - \mho - -* Des symboles mathématiques supplémentaires (en plus de ceux -offerts par amsmath) sont disponibles dans les packages -'stmaryrd' disponible sur ftp://ftp.fdn.org/pub/CTAN/fonts/stmaryrd/, et -'yhmath' également disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/yhmath/. - -# 12.13 # Comment définir une fonction ? ----------------------------------------- -* Il existe un certain nombre de fonctions définies par défaut. -Il s'agit des fonctions : - \arccos \cos \csc \exp \ker \limsup \min \sinh - \arcsin \cosh \deg \gcd \lg \ln \Pr \sup - \arctan \cot \det \hom \lim \log \sec \tan - \arg \coth \dim \inf \liminf \max \sin \tanh - -* On peut utiliser la commande \mathop : -\newcommand{\fonction}{\mathop{fonction}} -Si on utilise en plus la commande \nolimits, on peut déterminer -la gestion des indices et exposants de cette fonction. - -Exemple : -\newcommand{\rad}{\mathop{\mathrm{rad}}} -\newcommand{\radn}{\mathop{\mathrm{rad}}\nolimits} - -\begin{document} -\[ -\alpha \rad_{t \rightarrow \infty} = 0 -\] - -\[ -\alpha \radn_{t \rightarrow \infty} = 0 -\] -\newcommand{\rad}{\mathop{\mathrm{rad}}} -\newcommand{\radn}{\mathop{\mathrm{rad}}\nolimits} - -\begin{document} -\[ -\alpha \rad_{t \rightarrow \infty} = 0 -\] - -\[ -\alpha \radn_{t \rightarrow \infty} = 0 -\] -\end{document} -%%%% fin exemple %%%% - -* Sous LaTeX2e, le package 'amsopn' est disponible sur -ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/ et par ftp sur -ftp://e-math.ams.org/pub/tex/amslatex/inputs/. Il permet -de déclarer de nouvelles fonctions qui seront gérées comme une -fonction mathématique (gestion de la fonte, disposition des -indices et exposants, etc). Pour cela il faut déclarer une -commande du type : \DeclareMathOperator{\fonction}{fonction} dans -le préambule du document. Pour que les indices et exposants de la -nouvelle fonction puissent être géres comme ceux de la fonction -\sum , il faut alors plutot utiliser \DeclareMathOperator*. - -* De même, le package 'amstex' (LaTeX2.09) définit les commandes -\operatorname et \operatornamewithlimits. - -Exemple : -$\operatorname{rad}$ -%%%% fin exemple %%%% - -# 12.14 # Comment définir une matrice ? ---------------------------------------- -* Il suffit de construire un tableau sans lignes avec -l'environnement array. - -Exemple : -\[ -\begin{array}{ccc} - x_{11} & \cdots & x_{1p} \\ - \vdots & \ddots & \vdots \\ - x_{n1} & \cdots & x_{np} -\end{array} -\] -%%%% fin exemple %%%% - -Pour encadrer cette matrice avec des délimiteurs, cf. -paragraphe 12.8. - -* Le package 'amsmath',disponible sur -ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/, permet de définir une matrice de manière -plus rapide qu'avec l'environnement array. Les environnements -disponibles sont : -+ matrix, -+ pmatrix pour une matrice encadrée par des parenthèses, -+ bmatrix pour une matrice encadrée par des crochets, -+ vmatrix pour une matrice encadrée par des lignes verticales, -+ Vmatrix pour une matrice encadrée par des doubles lignes -verticales. - -Exemple : -\[ -\begin{pmatrix} - a & b \\ - c & d -\end{pmatrix} -\] -%%%% fin exemple %%%% - -* Le package 'easybmat' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/easy/ permet facilement d'écrire -des matrices par bloc. - -* Le package 'easymat' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/easy/ facilite également -l'écriture de matrices. - -# 12.15 # Comment encadrer des formules ? ------------------------------------------ -* Le package 'amsmath', disponible sur -ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/, offre la commande \boxed. - -Exemple : -$$\boxed{a=b}$$ -%%%% fin exemple %%%% - -* Il existe également la commande \fbox. - -Remarque : Avec les environnements multi-lignes de AMSTeX (comme - multline ou split), il peut être utile de les - encapsuler dans un math ou dans un displaymath. - -Exemple : -\begin{equation} - \fbox{$ - \begin{array}{rcl} - x + y + z & = & 0 \\ - 2x + 2y + 2z & = & 0 - \end{array} - $} -\end{equation} -%%%% fin exemple %%%% - -* Le package 'fancybox' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/seminar/inputs/ peut également être -utile. - -Exemple : -\linethickness{3pt} -\Ovalbox{ -\begin{Beqnarray} -ds^2&\,=\,& \displaystyle{\frac{\epsilon^{\prime 2}}{L^2} -\frac{12N}{(N+1)(N+2)}} -\end{Beqnarray} -} -%%%% fin exemple %%%% - -* Une dernière solution consiste à mettre la formule dans un -tableau d'une seule cellule. - -# 12.16 # Comment ajuster la longueur d'une flèche par rapport à un texte ? ---------------------------------------------------------------------------- -Le package 'amsmath',disponible sur -ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/, permet de générer des flèches dont la -longueur dépend de la longueur du texte qui est placé au dessus -ou en dessous (ou de la chaîne la plus longue lorsqu'il y a à la -fois un texte au dessus et un autre en dessous). - -Exemple : -$\xrightarrow[\text{au dessus}]{\text{en dessous}}$ -%%%% fin exemple %%%% - -# 12.17 # Comment obtenir des indices ou exposants à gauche ? -------------------------------------------------------------- -* Les commandes \sideset \overset et \underset du -package 'amsmath' permettent de placer du texte à gauche, en -haut ou en bas. - -Exemple, mettre dans le préambule : -\newcommand{\transposee}[1]{{\vphantom{#1}}^{\mathit t}{#1}} - -puis, dans le corps du document : - \[ -\transposee{ -\begin{pmatrix} - a & b \\ - c & d \\ -\end{pmatrix} -} -\] -%%%% fin exemple %%%% - -Remarque : on peut également utiliser \sideset qui ne marche - que pour les opérateurs : - \newcommand{\transposee}[1]{\sideset{^{\mathit{t}}}{} - {#1}} - -* A défaut, on peut utiliser ${}_{j}H$ ou ${_jH}$ - -* Le package 'chemsym' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/chemsym/ peut également être utile. - -# 12.18 # Comment tracer des diagrammes commutatifs ? ------------------------------------------------------ -* Xy-pic est un outil simple et puissant qui permet de réaliser -de tels diagrammes (cf. paragraphe 8.6). - -Exemple : -\documentclass[a4paper,12pt]{article} -\usepackage[all]{xy} -\begin{document} - \[\xymatrix{ - A \ar[d] \ar[r] \ar@{=}[rd] & B \ar[d] \\ - C \ar[r] & D } -\] -\end{document} -%%%% fin exemple %%%% - -* On peut également utiliser le package 'amscd' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/amslatex/math/ ou plus -généralement le package 'amsmath' et l'environnement CD mais -son offre est plus limitée. - -Exemple 1 (amscd) : -\[ -\begin{CD} - \mathcal{F} @>\otimes>> T\\ - @VdrVlfV @ViVjV\\ - \mathtt{f} @= t -\end{CD} -\] - -\[ -\begin{CD} -d @>>> e @>>> f \\ -@AAA @. @AAA \\ -a @>>> b @>>> c -\end{CD} -\] -%%%% fin exemple %%%% - -Exemple 2 (amsmath) : -\[ -\begin{array}{ccccc} -d & \longrightarrow & e & \longrightarrow &f \\ -\uparrow &&&& \uparrow \\ -a & \longrightarrow & b &\longrightarrow& c\\ -\end{array} -\] -%%%% fin exemple %%%% - -Remarque : dans la dernière version de amscd, la syntaxe - @>Exp1>Exp2> utilisée pour les flèches extensibles a - été abandonnée au profit des commandes \xleftarrow et - \xrightarrow. - - Pour plus de détails consultez : - + "\amslatex/ Version 1.2\\User's Guide", dans le - fichier "amsldoc.tex" - + "Differences between \amslatex/ version 1.1 and - \amslatex/ version 1.2", dans le fichier "diff12.tex". - -* Il existe le package 'cd' écrit pour LaTeX2.09 par D. -Hankerson. Ce package étend les capacités des fonction -AMS-TeX. Les longueurs de texte s'ajustent avec la longueur des -arguments. - -Exemple (doc package) : -\documentstyle[12pt,cd]{article} -\newcommand{\cdrl}{\cd\rightleftarrows} -\newcommand{\cdlr}{\cd\leftrightarrows} -\newcommand{\cdr}{\cd\rightarrow} -\newcommand{\cdl}{\cd\leftarrow} -\newcommand{\cdu}{\cd\uparrow} -\newcommand{\cdd}{\cd\downarrow} -\newcommand{\cdud}{\cd\updownarrows} -\newcommand{\cddu}{\cd\downuparrows} -\begin{document} -\[\CD -G \cdrl {\gamma}{\delta} H \cdr {}{\Delta} K \\ -\cd. \cdud {f}{g} \cd| {h}{k} \\ -0 \cdr {}{} G' \cd= {\beta}{} H' \endCD -\] -\end{document} -%%%% fin exemple %%%% - -* Le package 'catmac' définit un ensemble de macros pour tracer -des diagrammes commutatifs. Il propose par défaut un ensemble -de formes mais permet également via un certain nombre de -macros prédéfinies de composer ses propres formes. - -Exemple : -\begin{center} - \resetparms - \square[A`B`C`D;f`g`h`k] -\end{center} -%%%% fin exemple %%%% - -ATTENTION : ce package n'est pas compatible avec le package - french qui rend le ; actif. - -# 12.19 # Comment ajuster la taille de certains opérateurs ? ------------------------------------------------------------- -* Pour ajuster la taille de certains opérateurs, il faut -utiliser le package 'exscale' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/base/. - -* Le package 'amsmath', disponible sur -ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/, donne la même possibilité. - -# 12.20 # Comment mettre en page des algorithmes ? --------------------------------------------------- -* Les packages 'algorithms' et 'algorithmic' disponibles sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/algorithms/, ont été -spécifiquement conçus pour mettre en forme des algorithmes. - -* Il existe aussi le package 'alg' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/alg/. - -* Le package 'newalg' est également disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/newalg/. Il propose un -environnement algorithm qui par défaut utilise le mode -mathématique et l'environnement array pour les alignements. La -commande \text est également disponible. Le package gère les -instructions : if-then-else, for, while, repeat, switch et -propose un certain nombre de macros telles que call, error, -algkey, return, nil. - -Exemple : -\begin{algorithm}{StrictSup}{x, y} - \begin{IF}{x > y} - \RETURN x - \ELSE - \ERROR{x leq y} - \end{IF} -\end{algorithm} -%%%% fin exemple %%%% - -# 12.21 # Comment mettre en page des formules longues ? -------------------------------------------------------- -L. Lamport définit certaines conventions dans sa page WEB : -http://www.research.digital.com/SRC/personal/Leslie_Lamport/latex/latex.html. - -# 12.22 # Comment créer des unités de mesure ? ----------------------------------------------- -Le problème du mode mathématique est qu'il change -automatiquement de fonte et qu'il utilise une gestion -particulière des espaces. Le mieux pour écrire des unités de -mesures du type m/s sans avoir à taper systématiquement des -barbarismes du type \rm\,m/s\mit ou \,\textrm{m}/\textrm{s} est -de définir une commande spéciale dans le préambule du document. - -Exemples : -\newcommand{\units}[2]{#1\textrm{\thinspace #2}} -cette commande nécessite le package 'amsmath' -utilisation : \units{10}{m/s} - -ou plus rapide : -\newcommand{\ms}[1]{\units{#1}{m/s}} -utilisation : \ms{10} -%%%% fin exemple %%%% - -# 12.23 # Comment écrire proprement a/b ? ------------------------------------------ -Pour qu'à l'impression le numérateur 'a' soit légèrement décalé -vers le haut et vers la gauche et que le dénominateur 'b' soit -légèrement décalé vers le bas et vers la droite, les deux étant -plus petits que la fonte courante, il existe la commande \sfrac -du package tugboat disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/tugboat/. - -# 12.24 # Comment créer des notes de bas de page dans une formule mathématique ? --------------------------------------------------------------------------------- -* On peut utiliser directement la commande \footnote{} ou les -commandes spécifiques \footnotemark[] et \footnotetext[]{} -si l'on veut fixer soit même les compteurs. \footnotemark permet -de gérer le compteur de notes et \footnotetext permet d'insérer -le texte correspondant en bas de page. - -Exemple : -\[ -Place_{libre}\footnotemark[1] + -Place_{occup\acute ee}\footnotemark[2] + -Place_{d\acute efaillante} = -Capacit\acute e -\] -\footnotetext[1]{La place libre~\ldots} -\footnotetext[2]{La place occup\' ee~\ldots} -%%%% fin exemple %%%% - -# 12.25 # Comment forcer le style d'un tableau à displaystyle ? ---------------------------------------------------------------- -Le style par défaut dans un "array" est textstyle. Pour éviter -d'avoir à écrire \displaystyle dans chaque cellule, on peut -déclarer un tableau entièrement en mode displaystyle via la -macro: -%%%% debut macro %%%% -\newenvironment{disarray}% - {\everymath{\displaystyle\everymath{}}\array}% - {\endarray} -%%%% fin macro %%%% - -# 12.26 # Comment réduire les espaces gérés par eqnarray ? ----------------------------------------------------------- -Il suffit d'inclure la macro suivante dans le préambule de votre -document : - -%%%% debut macro %%%% -\makeatletter -\newlength{\earraycolsep} -\setlength{\earraycolsep}{2pt} -\def\eqnarray{\stepcounter{equation}\let\@currentlabel% -\theequation -\global\@eqnswtrue\m@th -\global\@eqcnt\z@\tabskip\@centering\let\\\@eqncr -$$\halign to\displaywidth\bgroup\@eqnsel\hskip\@centering -$\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne -\hskip 2\earraycolsep \hfil$\displaystyle{##}$\hfil -&\global\@eqcnt\tw@ \hskip 2\earraycolsep -$\displaystyle\tabskip\z@{##}$\hfil -\tabskip\@centering&\llap{##}\tabskip\z@\cr} -\makeatother -%%%% fin macro %%%% - -# 12.27 # Comment réduire la taille des indices ? -------------------------------------------------- -* Il faut utiliser la commande \DeclareMathSizes : -\DeclareMathSizes{10}{10}{6}{5} -\DeclareMathSizes{11}{11}{7}{5} -\DeclareMathSizes{12}{12}{7}{5} -Ces déclarations permettent de réduire la taille des indices des -fontes 10pt, 11pt et 12pt. - -Exemple : -\documentclass[12pt]{report} -\usepackage{french} -\pagestyle{empty} -\DeclareMathSizes{12}{12}{7}{5} -\begin{document} -La capacité totale est définie par~: -\[ -C_{libre} + C_{occup\acute ee} = C_{totale} -\] -\end{document} -%%%% fin exemple %%%% - -* On peut aussi utiliser les commandes scriptstyle ou -scriptscriptstyle. - -Exemple : -$\rho_{AB}$ -$\rho_{\scriptstyle AB}$ -$\rho_{\scriptscriptstyle AB}$ -%%%% fin exemple %%%% - -* En utilisant les caractères romans, on peut appliquer la -commande \small. - -Exemple : -$\rho_{\textrm{\small AB}}$ -%%%% fin exemple %%%% - -# 12.28 # Comment aligner des indices ? ---------------------------------------- -La commande \vphantom définit une boîte invisible dont la -hauteur est celle de son argument. - -Exemple : -\[ -f_{\vphantom{\widehat{ef}} d} = f_{\widehat{ef}} \mathrm{\ au \ -lieu \ de~:} f_d = f_{\widehat{ef}} -\] -%%%% fin exemple %%%% - -# 12.29 # Comment mettre en page des théorèmes ? ------------------------------------------------- -* LaTeX offre la commande -\newtheorem{nom}[compteur]{texte}[section] -où nom est une clé pour identifier le théorème, et -texte le titre du théorème qui sera imprimé. compteur permet de -référencer un autre théorème pour obtenir la même numérotation. -section permet de préciser le niveau de numérotation voulu. - -Exemple : -dans le préambule : -\newtheorem{th-imp}{Théorème important}[section] -\newtheorem{th-u}{Théorème}[subsection] - -dans le texte : - -\section{Introduction.} - - \begin{th-imp} \label{label-th-AA} - BLA BLA - \end{th-imp} - - \subsection{Bases.} - - \begin{th-u} \label{label-th-aaa} - bla bla bla - \end{th-u} - - \begin{th-u} - bla ble - \end{th-u} - -\section{Conclusion} - - Le théorème important~\ref{label-th-AA} est à apprendre par - c\oe{}ur, le théorème~\ref{label-th-aaa} peut être utile. -%%%% fin exemple %%%% - -* Il existe pour cela le package 'thmmarks' disponible à -http://www.informatik.uni-freiburg.de/~may/thmmarks.html. - -* Le package 'newthm' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/newthm/ permet de générer une liste -des théorèmes apparaissant dans un document. - -* Les trois packages suivants permettent de définir son propre style. - - ** Le package 'amsmath', disponible sur ftp://ftp.fdn.org/pub/CTAN//fonts/ams/amslatex/, - définit l'environnement proof en insérant un carré. - Des exemples de théorèmes se trouvent dans le fichier thmtest.tex - - ** Le package 'theorem', disponible sur CTAN. Voir le fichier - theorem.dvi - - ** Il existe également le package 'ntheorem' disponible sur CTAN - ou sur - http://www.informatik.uni-freiburg.de/~may/Ntheorem/ntheorem.html - Il peut générer une liste des théoremes de la même manière que - 'listoffigures', est compatible avec amsmath, permet d'ajouter des - symboles à la fin d'un théoreme 'carré, q.e.d.), permet la référence - à d'autres théoremes. Voir le fichier ntheorem.dvi - -** Voici un tableau récapitulatif : - - +------------------------------------+--------+---------+----------+ - |Package | amsthm | theorem | ntheorem | - +------------------------------------+--------+---------+----------+ - |Retour à la ligne après le titre | x | x | x | - +------------------------------------+--------+---------+----------+ - |Pas de numérotation d'un théoreme | x | | x | - +------------------------------------+--------+---------+----------+ - |Position du numéro du théoreme | | x | x | - +------------------------------------+--------+---------+----------+ - |Style de la numérotation | | | x | - +------------------------------------+--------+---------+----------+ - |Ponctuation après le titre (:,.,etc)| x | | x | - +------------------------------------+--------+---------+----------+ - |Fonte du titre ou du corps | x | x | x | - +------------------------------------+--------+---------+----------+ - |Indentation du titre | x | | | - +------------------------------------+--------+---------+----------+ - |Espace vertical autour du théorème | x | x | x | - +------------------------------------+--------+---------+----------+ - -# 12.30 # Comment changer la taille de la fonte ? -------------------------------------------------- -Voici une solution présentée par T. Bouche et S.A. Zaimi : - -Exemple : -\documentclass{report} -\def\mathtitre#1{ -\font\tenrm=cmr10 scaled \magstep#1 -\font\sevenrm=cmr7 scaled \magstep#1 -\font\fiverm=cmr5 scaled \magstep#1 -\font\teni=cmmi10 scaled \magstep#1 -\font\seveni=cmmi7 scaled \magstep#1 -\font\fivei=cmmi5 scaled \magstep#1 -\font\tensy=cmsy10 scaled \magstep#1 -\font\sevensy=cmsy7 scaled \magstep#1 -\font\fivesy=cmsy5 scaled \magstep#1 -\font\tenex=cmex10 scaled \magstep#1 -\textfont0=\tenrm \scriptfont0=\sevenrm \scriptscriptfont0=\fiverm -\textfont1=\teni \scriptfont1=\seveni \scriptscriptfont1=\fivei -\textfont2=\tensy \scriptfont2=\sevensy \scriptscriptfont2=\fivesy -\textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex -} - -\begin{document} - {\mathtitre0 $$A+B=C^{B^A}$$} - {\mathtitre1 $$A+B=C^{B^A}$$} - {\mathtitre2 $$A+B=C^{B^A}$$} - {\mathtitre3 $$A+B=C^{B^A}$$} - {\mathtitre4 $$A+B=C^{B^A}$$} - {\mathtitre5 $$A+B=C^{B^A}$$} -\end{document} -%%%% fin exemple %%%% - -ATTENTION : il ne faut pas que le bloc en police \mathtitreXX - se trouve à cheval sur deux pages... cela mettrait - le numéro de page (et les en-têtes-pieds de page) - dans ladite police... - -# 12.31 # A quoi sert la commande \displaystyle ? -------------------------------------------------- -Elle permet de forcer LaTeX à gérer les indices et les exposants -comme si il était en mode mathématique isolé. Cela peut alors -induire une modification locale de l'interligne courant. - -Exemple : -Elle permet de forcer \LaTeX à gérer les indices et les -exposants comme si il était en mode mathématique isolé -$\displaystyle{\sum_{i=0}^n x_i}$. Cela peut alors induire une -modification locale de l'interligne courant. Ce texte contient -un exemple probant. Le changement d'interligne est bien visible. -%%%% fin exemple %%%% - -# 12.32 # Comment aligner des données sur le point décimal ? ------------------------------------------------------------- -* Le package 'dcolumn' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/tools/ permet d'aligner les nombres d'un -tableau par rapport à leur point décimal. - -* On peut également utiliser un tableau avec une virgule comme -séparateur de colonnes. - -Exemple : -\[ -\begin{array}{r @{,} l} - 1&2 \\ - 233&456 \\ - x&y \\ -\end{array} -\] -%%%% fin exemple %%%% - -# 12.33 # Comment gérer les espaces en mode mathématique ? ----------------------------------------------------------- -Voici les différents espaces prédéfinis : -\! réduit l'espace par défaut, -\, donne un petit espace, -\ suivit d'un espace, donne un espace de taille moyenne, -\quad donne un espace moyen, -\qquad donne un grand espace. - -Exemple : -\[ -\begin{array}{l} - sin cos \\ - sin \! cos \\ - sin \, cos \\ - sin \ cos \\ - sin \quad cos \\ - sin \qquad cos \\ -\end{array} -\] -%%%% fin exemple %%%% - -# 12.34 # Comment obtenir des accolades horizontales ? ------------------------------------------------------- -\overbrace et \underbrace. - -Exemple : -\[ -\overbrace{f(x)}^{=0} + \underbrace{g(y)}_{=0} = 0 -\] -%%%% fin exemple %%%% - -# 12.35 # Comment obtenir des points de suspensions ? ------------------------------------------------------ -En mode math, il existe différents types de points de suspension -suivant leur orientation : -+ \ldots pour des points horizontaux sur la ligne d'écriture -+ \cdots pour des points horizontaux au dessus de la ligne -d'écriture -+ \vdots pour des points verticaux -+ \ddots pour des points en diagonale - -Exemple : -\[ -\begin{array}{ccc} - x_{11} & \cdots & x_{1p} \\ - \vdots & \ddots & \vdots \\ - x_{n1} & \cdots & x_{np} -\end{array} -\] -%%%% fin exemple %%%% - -# 12.36 # Comment mettre en page un système d'équations ? ---------------------------------------------------------- -* On peut utiliser les commandes \left délimiteur et \right. - classiques devant un tableau. - -Exemple : -\[ -\left \{ -\begin{array}{c @{=} c} - x & \sin a \cos b \\ - y & \sin a \sin b \\ -\end{array} -\right. -\] -%%%% fin exemple %%%% - -* On peut utiliser le package 'mathenv', permettant de numéroter le - système ou chaque équation du système, le compteur pouvant alors être - personnalisé. - -Exemples : - -% numérotation du système -\begin{System} - 2x + y = 6 \\ - 3x + y = 7 -\end{System} - -%numérotation de chaque équation du système -\begin{EqSystem} - 2x + y = 6 \\ - 3x + y = 7 -\end{EqSystem} -%%%% fin exemple %%%% - -* On peut utiliser le package 'amsmath', permettant de placer des - alternatives conditionnelles. - -Exemple : -\begin{equation*} - |x|= - \begin{cases} - -x & \text{si $x$ est impair} \\ - x & \text{si $x$ est pair ou nul} - \end{cases} -\end{equation*} -%%%% fin exemple %%%% - -* Le package 'cases' disponible sur - ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/ gère les systèmes d'équations. - -Exemple : -\begin{numcases}{|x|=} - x, & for $x \geq 0$\\ - -x, & for $x < 0$ -\end{numcases} -%%%% fin exemple %%%% - -* Voici une adaptation de ce package par J. Laurens : -%%%% debut macro %%%% -% fichier xtdeqnra.sty ver 1.0 Decembre 1997 -% -% Copyright (C) 1997 by Jerome LAURENS -% -% Ces macros peuvent e^tre librement transmises, sans modification aucune -% tant que cette notice est intacte. -% Base' sur le paquetage cases.sty de D.Arseneau -% et la commande \eqnarray de Leslie Lamport et de l'e'quipe LaTeX3. -% -% On rajoute un parame`tre optionnel a` l'environnement eqnarray qui -% est un delimiteur gauche -% -% Exemple : source -% -% \begin{eqnarray}[\{] -% x_1 & = & valeur_1 \\ -% x_2 & = & valeur_2 \\ -% x_3 & = & valeur_3 -% \end{eqnarray} -% -% Re'sultat -% -% / x_1 = valeur_1 (1) -% | -% < x_2 = valeur_2 (2) -% | -% \ x_3 = valeur_3 (3) -% -% Pour utiliser ce paquetage, -% inclure "\usepackage{xtdeqnra}" apre`s \documentclass. -% -% On peut utiliser l'environnement subequations pour avoir (1a), (1b) et (1c) -% - - - - - -% - -\ProvidesPackage{xtdeqnra}[1997/12/05 version 1.0 ] - -% - sauvegarde de l'environnement eqnarray -\let\x@eqnarray\eqnarray -\let\endx@eqnarray\endeqnarray -% -% - environnement de remplacement -\def\eqnarray{\@ifnextchar[% - {\let\endeqnarray\endy@eqnarray\y@eqnarray} - {\let\endeqnarray\endx@eqnarray\x@eqnarray}} -% -% - nouvel environnement avec un de'limiteur a` gauche -\def\y@eqnarray[#1]% -{ \gdef\@leftdelimiter{#1} - \displaymath - \setbox\tw@\vbox - \bgroup - \stepcounter{equation}% - \def\@currentlabel{\p@equation\theequation}% - \global\@eqnswtrue - \m@th - \everycr{}% - \tabskip\@centering - \let\\\@eqncr - \halign to\displaywidth - \bgroup - \hskip \@ne\arraycolsep - \hfil$\displaystyle - \tabskip\z@skip{##}$% - \@eqnsel - &\global\@eqcnt\@ne - \hskip \tw@\arraycolsep - \hfil${##}$\hfil - &\global\@eqcnt\tw@ - \hskip\tw@\arraycolsep - $\displaystyle{##}$\hfil - \unskip\hfil - \tabskip\@centering% \unskip removes space if no explanations - &\global\@eqcnt\thr@@ - \hb@xt@\z@\bgroup\hss##\egroup - \tabskip\z@skip - \cr -} -\def\endy@eqnarray{% - \@@eqncr - \egroup % end \halign, which does not contain brace - \global\advance\c@equation\m@ne - \unskip\unpenalty - \unskip\unpenalty - \setbox\z@\lastbox % grab last line - \nointerlineskip - \copy\z@ % then put it back - \setbox\z@\hbox{\unhbox\z@}% - \global\dimen@i\wd\z@ - \egroup% end \vbox (box\tw@, box\z@ is restored to LHS) - \hbox to\displaywidth{% - \m@th % assemble the whole equation - \hskip\@centering - \hbox to\dimen@i{% - $\displaystyle% - \dimen@\ht\tw@ - \advance\dimen@\dp\tw@ % get size of brace - \setbox\z@\hbox{$\mathord{\left\@leftdelimiter\vcenter -to\dimen@{\vfil}\right.}$}% - \dimen@\wd\z@ - \kern-\dimen@ - \box\z@% - \n@space % make brace - $\hfil} - \hskip\@centering % finished first part (filled whole line) - \kern-\displaywidth$% - \vcenter{\box\tw@}$% overlay the alignment - }% end the \hbox - \enddisplaymath - \global\@ignoretrue -} - -\endinput - -% fin du fichier xtdeqnra.sty -%%%% fin macro %%%% - -* Le package 'delarray' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/tools/ peut également être utilisé dans -ce but. - -# 12.37 # Comment mettre en page des diagrammes de Feynman ? ------------------------------------------------------------- -Le package 'feynmf' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/feynmf/ permet de gérer la mise -en page de diagrammes de Feynman. - -# 12.38 # Comment obtenir une fraction ? ----------------------------------------- -LaTeX propose la commande \frac{arg1}{arg2} dont l'argument arg1 -est le numérateur et arg2 dénominateur. - -Exemple : -en formule~: -$$\frac{\alpha}{6 + \sqrt{2}}$$ -ou dans le texte $\frac{\alpha}{6 + \sqrt{2}}$. -%%%% fin exemple %%%% - -# 12.39 # Comment obtenir une racine ? --------------------------------------- -Il existe la commande \sqrt[n]{arg}, qui représente la racine -nième de arg. [n] est un paramètre optionnel. - -Exemple : -$$ \sqrt[3]{\sqrt{\sqrt[\gamma]{x+y}}} $$ -%%%% fin exemple %%%% - -# 12.40 # Quels sont les délimiteurs disponibles ? --------------------------------------------------- -( ) [ ] \{ \} -\uparrow \downarrow \updownarrow -\Uparrow \Downarrow \Updownarrow -\lfloor \rfloor \lceil \rceil -\langle \rangle -/ \backslash | \| - -# 12.41 # Comment appeler les lettres grecques ? ------------------------------------------------- -Il suffit de faire précéder leur nom en toutes lettres d'un -backslash : -+ minuscules : -\alpha \beta \gamma \delta \epsilon \varepsilon \zeta \eta -\theta \vartheta \iota \kappa \lambda \mu \nu \xi \pi \varpi -\rho \varrho \sigma \varsigma \tau \upsilon \phi \varphi \chi -\psi \omega - -+ majuscules : -\Gamma \Delta \Theta \Lambda \Xi \Pi \Sigma \Upsilon \Phi \Psi -\Omega - -# 12.42 # Quels sont les accents mathématique standards ? ---------------------------------------------------------- -* Il en existe dix pour des lettres seules : -+ $\hat{a}$ -+ $\check{a}$ -+ $\breve{a}$ -+ $\acute{a}$ -+ $\grave{a}$ -+ $\tilde{a}$ -+ $\bar{a}$ -+ $\vec{a}$ -+ $\dot{a}$ -+ $\ddot{a}$ - -Remarque : pour placer un accent sur un i ou un j, il faut - utiliser les commandes \imath et \jmath qui - permettent de supprimer le point par défaut. - -* Il en existe également d'autres pour couvrir des ensembles de -lettres : -+ $\widehat{abc}$ -+ $\widetilde{def}$ -+ $\overrightarrow{ghi}$ -+ $\overline{jkl}$ -+ $\underline{mno}$ -+ $\overbrace{pqr}$ -+ $\underbrace{stu}$ - -# 12.43 # Comment superposer deux symboles ? --------------------------------------------- -Il existe pour cela la commande \stackrel{dessus}{dessous} - -Exemple : -\[ -A \stackrel{\theta}{\Rightarrow} B -\] -%%%% fin exemple %%%% - -# 12.44 # Comment définir un nouvel opérateur ou symbole ? ----------------------------------------------------------- -* Il existe pour cela la commande \DeclareMathOperator du -package 'amsmath', disponible sur ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/. -Elle s'utilise dans le préambule. - -Exemple : -\DeclareMathOperator{\init}{init} - -\[ -\init f = 0 \mathrm{\ au \ lieu \ de~:} init f = 0 -\] -%%%% fin exemple %%%% - -* On peut également utiliser \newcommand, toujours dans le -préambule du document. - -Exemple : -\newcommand{\affecte}{\mathrel{:=}} - -$x \affecte 0$ - -$y \affecte 1$ -%%%% fin exemple %%%% - -* On peut utiliser \def. - -Exemple : -\makeatletter -\def\log{\mathop{\operator@font log}\nolimits} -\makeatother - -$\log 28 = 1.447158$ -%%%% fin exemple %%%% - -* Pour définir un nouveau symbole de plusieurs caractères, il -faut utiliser \mathit. - -# 12.45 # Comment obtenir des lettres grecques en gras ? --------------------------------------------------------- -* On peut utiliser le package 'amsmath', disponible sur -ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/ : - -Exemple : -... -\usepackage{amsmath} -... -\begin{document} -... -$\boldsymbol{\alpha}$ -%%%% fin exemple %%%% - -* On peut également utiliser le package 'bm' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/bm/. - -Exemple : -... -\usepackage{bm} -... -\begin{document} -... -$\bm{\alpha}$ -%%%% fin exemple %%%% - -# 12.46 # Comment tracer un tableau de variations ? ---------------------------------------------------- - -* Avec l'environnement array en mode mathématiques (cf. question -12.11). - -Exemple: -$ -\begin{array}{|c|ccccr|} -\hline -x & -\infty & & 0 & & +\infty \\ -\hline -f'(x) & 5 & + & 0 & - & -10 \\ -\hline - & & & 10 & & \\ % ligne des valeurs "max" -f(x) & &\nearrow & &\searrow & \\ % flèches -& -\infty & & & & -10 \\ % ligne des valeurs "min" -\hline -\end{array} -$ -%%%% fin exemple %%%% - -* On peut faire de plus jolies flèches (redimensonnables) avec les commandes -graphiques. - -Pour cela, il faut choisir une unité de longueur avant par: - \unitlength=1cm -et remplacer par exemple \nearrow par (flèches de 2cm de large et de haut) - -Exemple: -\begin{minipage}{2cm} - \begin{picture}(2,2) - \put(0,0){\vector(1,1){2}} - \end{picture} -\end{minipage} -%%%% fin exemple %%%% - -================================================================ -[13] RÉFÉRENCES CROISÉES -================================================================ - -# 13.1 # Quelles sont les commandes de base ? ---------------------------------------------- -* LaTeX permet de gérer automatiquement des références croisées -grâce aux commandes suivantes : -\label{} pour repérer la référence à rappeler -\ref{} pour faire appel à la référence décrite par la commande -\label -\pageref{} pour faire référence à la page de la référence -reperée par la commande \label -\cite{} pour faire référence à un document cité en -bibliographie. - -L'utilisation de ces commandes nécessite alors plusieurs (deux -à trois) compilations successives, jusqu'à ce que toutes les -références croisées soient correctes. - -ATTENTION : pour les figures et les tables, la commande \label - doit se situer juste après un \caption ou en faire - partie pour que les références soient correctes. - -ATTENTION : lorsque l'on travaille avec une version inférieure à - 3.6 du package babel et l'option french, sachant que - cette dernière redéfinit certains caractères de - ponctuation tels que :;?! pour gérer automatiquement - les espaces, il ne faut pas les utiliser dans des - noms de label : \label{section:Introduction} est - interdit. - -Exemple : -Remplir la table~\ref{table-add}, page~\pageref{table-add} -\begin{table}[htbp] - \begin{center} - \begin{tabular}{c|c} - \hline - Question & Réponse \\ - \hline - 1 + 12 & \\ - 45 + 76 & \\ - \end{tabular} - \caption{Additions. \label{table-add}} - \end{center} -\end{table} -%%%% fin exemple %%%% - -* Le package 'prettyref' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/prettyref/ permet de définir ses -propres styles de référence. - -# 13.2 # Comment obtenir un renvoi à une page ? ------------------------------------------------ -* Il suffit d'utiliser la commande \pageref présentée ci-dessus. - -* Le package 'varioref', de F. Mittelbach, disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/tools/, permet de n'appeler une -référence de page que si l'objet flottant auquel elle se -rattache n'est pas présent sur la page courante. Pour cela, ce -package définit la commande \vpageref qui ne fera apparaître le -numéro de la page référencée que si ce n'est pas la page -courante. Cette commande peut également introduire des -expressions du type "sur la page précédente", "sur cette même -page", etc. Dans ce cas, on précise la langue voulue en option -lors de l'appel du package. - -Exemple: -\documentclass{report} -\usepackage{french} -\usepackage[french]{varioref} - -\begin{document} -Remplir la table~\ref{table-add}~\vpageref{table-add} -\begin{table}[htbp] - \begin{center} - \begin{tabular}{c|c} - \hline - Question & Réponse \\ - \hline - 1 + 12 & \\ - 45 + 76 & \\ - \end{tabular} - \caption{Additions. \label{table-add}} - \end{center} -\end{table} -\end{document} -%%%% fin exemple %%%% - -Remarque : Ce package est incompatible avec les styles de page - sans numérotation (e.g. empty). - -# 13.3 # Comment obtenir des références croisées à partir de plusieurs sources ? --------------------------------------------------------------------------------- -Le package 'xr', de D. Carlisle, permet de faire des références -d'un document à l'autre. Il est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/tools/. Le document contenant les labels -est appelé dans le document contenant les références via la -commande \externaldocument. La commande -\externaldocument[KEY]{DOCUMENT} permet même de gérer les -références de même nom. - -Exemple : -* fichier essai.tex : - \documentclass[a4paper,12pt]{book} - - \begin{document} - \section{Ma section.\label{ma-sect}} - \end{document} - -* fichier essai-ass.tex : - \documentclass[11pt]{report} - \usepackage{xr} - \externaldocument{essai} - - \begin{document} - Pour plus de détails, voir le document \textit{essai}, - paragraphe~\ref{ma-sect} - \end{document} -%%%% fin exemple %%%% - -# 13.4 # Comment définir des liens hypertexte sous LaTeX ? ----------------------------------------------------------- -* Le package 'hyperref' de S. Rahtz disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/hyperref/ permet de définir des -liens hypertexte pour PDF. Il définit pour cela des commandes de -type \ref{}. - -* Voir également les packages 'hyper' et 'hyperlatex' -disponibles sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/hyper/. - -* La distribution Y&Y TeX System supporte des liens en TeX -debuggable dans le previewer qui seront automatiquement -convertis en liens PDF pour Adobe. - -# 13.5 # Comment faire référence à ses propres compteurs ? ----------------------------------------------------------- -Lorsque l'on définit son propre environnement avec ses popres -compteurs, pour que les commandes \label et \ref puissent les -prendre en compte, il suffit d'utiliser \refstepcounter au -lieu de \stepcounter pour incrémenter le compteur auquel on -fait référence. - -================================================================ -[14] TABLE DES MATIÈRES -================================================================ - -# 14.1 # Comment générer une table des matières ? -------------------------------------------------- -* LaTeX propose la commande \tableofcontents à appeler à -l'endroit où l'on veut insérer la table des matières. - -# 14.2 # Comment générer plusieurs tables des matières ? --------------------------------------------------------- -* Le package 'french' propose la commande sommaire[n] qui permet -d'inclure une table des matière de niveau de profondeur n. - -Remarque : dans ce cas \tableofcontents reste utilisable. - -* Le package 'shorttoc' ci-dessous, de J.P. Drucbert, définit la -commande \shorttableofcontents{TITRE}{NIVEAU}. - -Remarque : dans ce cas \tableofcontents reste également - utilisable. - -%%%% debut macro %%%% -%shorttoc.sty -\ProvidesPackage{shorttoc}% -[1995/01/04 v1.0 Short table of contents package (JPFD)] -\def\@startshorttoc#1{\bgroup - \makeatletter - \@input{\jobname.#1}% - \global\@nobreakfalse \egroup} - -\def\shorttableofcontents#1#2{\bgroup\c@tocdepth=#2\@restonecolfalse - \if@twocolumn\@restonecoltrue\onecolumn\fi - \@ifundefined{chapter}% - {\section*{{#1} - \@mkboth{\uppercase{#1}}{\uppercase{#1}}}}% - {\chapter*{{#1} - \@mkboth{\uppercase{#1}}{\uppercase{#1}}}}% - \@startshorttoc{toc}\if@restonecol\twocolumn\fi\egroup} -%%%% fin macro %%%% - -* Le package 'minitoc', disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/minitoc/, permet de construire -une minitable des matières au début de chaque chapitre sous les -classes 'book' et 'report'. Pour l'utiliser, il faut appeler les -commandes \dominitoc avant la commande \tableofcontents -habituelle. La commande \faketableofcontents permet de ne garder -que les tables des matières locales et remplace alors la -commande \tableofcontents. La commande \minitoc doit être -appelée après chaque commande de début de chapitre \chapter dans -lequel on veut inclure une table locale. A chaque appel de -minitoc correspond un fichier .mtc<n> où n est le numéro du -chapitre. - -Le compteur minitocdepth permet de fixer la profondeur des -tables des matières désirées. - -Exemple : -\documentclass{report} -\usepackage{minitoc} -\usepackage{french} -\setcounter{minitocdepth}{1} -\begin{document} - -\dominitoc -\tableofcontents - -\chapter{Introduction.} -\minitoc - -\section{Quelques rappels.} - Texte. - - \subsection{La gravité.} - - Texte sur la gravité. - - \subsection{Loi de Newton.} - - Deux corps s'attirent en raison inverse du carré - de leur distance et proportionnellement à leur - masse. - -\section{Nouveaux théorèmes.} - - Encore des résultats. - -\section{Approfondissement.} - - Toujours plus loin. - -pour ne faire apparaître que les titres de sections. -\end{document} -%%%% fin exemple %%%% - -Le bon fonctionnement des numérotations peut nécessiter jusqu'à -trois compilations enchaînées. - -ATTENTION : minitoc sait faire: -+ les tables des matières (liste des figures/tables) par partie, -+ par chapitre (classe book et report) et, -+ par section (classe article). - -Par contre, il ne fait pas les tables des matières par section -(et en dessous) pour les classes book et report, ni les tables -des matières par sous-section (et en dessous) pour la classe -article. - -# 14.3 # Comment ajouter une entrée dans la table des matières ? ----------------------------------------------------------------- -Pour ajouter un titre de paragraphe qui n'apparaît pas par -défaut dans la table des matières, il faut utiliser la commande -\addcontentsline{1}{2}{3} où : -1 est l'extension du fichier contenant la table des matières -généralement 1 vaut toc, -2 est un niveau défini dans la table des matières; ce peut être -chapter, section, ... et, -3 est le texte que l'on veut voir apparaître dans la table. - -Exemple : -\bibliography{sdf} -\addcontentsline{toc}{chapter}{Bibliographie.} -%%%% fin exemple %%%% - -# 14.4 # Comment changer le titre de la table des matières ? ------------------------------------------------------------- -On peut utiliser la commande : -\renewcommand{\contentsname}{Contenu du document.} - -Remarque : suivant les packages utilisés, il faut placer cette - définition avant ou après le \begin{document}. - -# 14.5 # Comment changer la profondeur de la table des matières ? ------------------------------------------------------------------ -Les sections sont numérotées si leur profondeur est inférieure à -secnumdepth. - -Elles apparaissent dans la table des matières si leur profondeur -est inférieure à tocdepth. - -Il suffit de changer les valeurs de ces deux compteurs. Il peut -alors être nécessaire d'enchaîner deux compilations LaTeX. - -Exemple : -\documentclass[a4paper]{article} -\usepackage{french} -\pagestyle{empty} -% Profondeur de \subsubsection = 3 -\setcounter{tocdepth}{3} % Dans la table des matieres -\setcounter{secnumdepth}{3} % Avec un numero. - -\begin{document} -\tableofcontents -\vspace{.5cm} -\hrule - -\part{Aaa.} -\section{aaa.} - \subsection{bbb.} - \subsubsection{ccc.} -\end{document} -%%%% fin exemple %%%% - -# 14.6 # Comment gérer des chapitres de préface, d'introduction, et de conclusion non numérotés ? -------------------------------------------------------------------------------------------------- -* La classe book définit les commandes \frontmatter, \mainmatter -et \backmatter qui permettent de faire cela. - -Exemple : -\documentclass[a4paper,12pt,openany]{book} -\usepackage{french} - -\def\TEXTE{Bla bla bla...} - -\begin{document} - -\frontmatter - -%\begin{abstract} Bla, bla... \end{abstract} - -\chapter{Préface} \TEXTE -\chapter{Introduction} \TEXTE - -\mainmatter - -\chapter{Début} \TEXTE -\chapter{Suite} \TEXTE -\chapter{Fin} \TEXTE - -\appendix -\chapter{Résultats élémentaires} -\chapter{Résultats compliqués} - -\backmatter - -\chapter{Conclusion} \TEXTE - -\tableofcontents -\end{document} -%%%% fin exemple %%%% - -* L'autre solution consiste à définir ses propres commandes -\introduction, \preface, etc, à partir des définitions -de \chapter sans prendre en compte la numérotation. - -* On peut également utiliser les commandes étoilées et gérer -soit même la table des matières et éventuellement les en-têtes -et bas de page. - -Exemple : -\chapter*{Intro} -\addcontentsline{toc}{chapter}{Intro...} -%%%% fin exemple %%%% - -# 14.7 # Comment enlever le numérotation des pages de tdm ? ------------------------------------------------------------ -Il suffit d'inclure les lignes suivantes dans le préambule du -document : -%%%% debut macro %%%% -\makeatletter -\def\addcontentsline@toc#1#2#3{% - \addtocontents{#1}{\protect\thispagestyle{empty}}% - \addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}}} -\def\addcontentsline#1#2#3{% - \expandafter\@ifundefined{addcontentsline@#1}% - {\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}}} - {\csname addcontentsline@#1\endcsname{#1}{#2}{#3}}} -\makeatother -%%%% fin macro %%%% - -================================================================ -[15] BIBLIOGRAPHIE SOUS LATEX -================================================================ - -# 15.1 # Comment construire une bibliographie ? ------------------------------------------------ -* Il existe deux techniques pour construire une bibliographie : -+ la première consiste à l'intégrer dans le corps même du -document (fichier.tex), -+ la seconde consiste à la définir dans un fichier particulier -(fichier.bib) puis à l'appeler dans le corps du document. - -* Technique on-line : -Il suffit d'appeler l'environnement thebibliography et de -définir des bibitem. - -Exemple : -\begin{thebibliography}{2} - \bibitem[label]{cle} Auteur, TITRE, editeur, annee - \bibitem[LAM94]{lam1} L. LAMPORT, {\it \LaTeX : A Document - preparation system, Addison-Wesley, 1994} -\end{thebibliography} -%%%% fin exemple %%%% - -[label] définit le label qui apparaîtra dans la bibliographie -et dans le texte après appel de la commande \cite{cle}. - -* BibTeX permet de construire simplement une bibliographie. La -technique consiste alors à écrire un ou plusieurs fichiers.bib -qui seront appelés dans le document source par la commande -\bibliography{fichier1, fichier2,...}. BibTeX est disponible -sur ftp://ftp.fdn.org/pub/CTAN/biblio/bibtex. - -Le style de la bibliographie doit être défini par -\bibliographystyle{xxx} avec xxx valant généralement plain ou -alpha, mais il existe aussi d'autres styles. La commande -\bibliographystyle doit être appelée après \begin{document}. - -Le contenu d'un fichier.bib est un ensemble de déclarations du -style : -@ARTICLE{cle, -author = "liste-noms-auteur", -title = "titre-article", -journal = "nom-journal", -year = "annee-parution", -} -% OPTIONAL FIELDS -% volume = "", -% number = "", -% pages = "", -% month = "", -% note = "", - -La syntaxe des différentes déclarations possibles peut se -trouver dans toute bonne documentation LaTeX ou dans les menus -des éditeurs tels que emacs ou Alpha. - -Losqu'on utilise BibTeX, il faut alors enchaîner plusieurs -compilations pour que toutes les références soient exactes. -Généralement, il faut exécuter une passe LaTeX, une -passe Bibtex et encore deux passes LaTeX. - -* Pour pouvoir inclure dans la bibliographie des références à -des documents qui ne sont pas cités explicitement par une -commande \cite, il suffit d'inclure la commande -\nocite{la-ref-non-citee} avant la commande -\bibliography{fichier_biblio}. Pour faire apparaître toutes les -références non citées sans toutes les énumérer, on peut utiliser -\nocite{*}. - -* BIBDB, disponible sur CTAN, est un gestionnaire de -bibliographie BIBTEX, facile à manipuler qui tourne sous DOS. - -* Bibview est un programme tournant sous X11 et permettant la -saisie et la consultation de fichiers bibtex. - -# 15.2 # Comment gérer plusieurs bibliographies ? -------------------------------------------------- -* Le package 'chapterbib' permet d'inclure une bibliographie -par chapitre. Il est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/cite/. Les bibliographies -réparties peuvent alors apparaître comme section de ce chapitre -grâce à la commande : \usepackage[sectionbib]{chapterbib}. - -* Le package 'bibunits', de A. Fernandez, permet de partager une -bibliographie en plusieurs unités, chacune attenante à une -section, ou à un chapitre d'un article ou d'un livre donné. - -Exemple : - -////////////// fichier rapport.tex ///////////// -\documentclass[a4paper]{report} - -\usepackage{bibunits} -\usepackage{french} - -\begin{document} -\chapter{Algorithmes.} - -Présentation d'algorithmes. - -\nocite* -\bibliographystyle{alpha} -\bibliography{alg} - -\chapter{Géométrie.} - -Texte sur la géométrie. - -\nocite* -\bibliographystyle{plain} -\bibliography{geom} -\end{document} - -////////////// fichier alg.bib ///////////// -@UNPUBLISHED{algg, -author = MPK, -title = Algorithmes et rythmes, -note = RAS, -} - -////////////// fichier geom.bib ///////////// -@INBOOK{geomm, -author = Me again, -title = Principes de géométrie, -chapter = Les droites, -publisher = Home publishing, -year = 1997, -} -%%%% fin exemple %%%% - -* Le package 'bibtopics', de P. Basso, permet de contruire une -bibliographie générale comportant des rubriques diverses -(livres, articles, thèses, ...) ou des sujets divers (physique, -mathématiques, ...). Il est disponible par ftp sur -ftp://ftp.gutenberg.eu.org/pub/gut/contrib/. - -Remarque : pour les versions récentes de LaTeX, il peut être - nécessaire d'inclure les lignes : - \makeatletter - \let\if@openbib\iffalse - \makeatother - dans le préambule du document. - -* Voici un petit fichier 'multibib.sty' de V. Henn, créé en -recopiant les définitions LaTeX des commandes relatives à la -gestion des bibliographies, et en les rendant paramétrables. - -Les commandes qui ont été définies sont : -\newbibliographyGENE{biblio} pour déclarer une bibliographie - biblio. -\citeGENE{biblio}{clé} pour appeler une référence. -\bibliographystyleGENE{biblio-x}{alpha} pour définir le style de - biblio. -\bibliographyGENE{biblio}{fichier-biblio1} pour faire - référence au fichier fichier-biblio1.bib qui contient - les références. - -%%%% debut macro %%%% -%% A sauver dans multibib.sty -%%%%%% biblio generique %%%%%%%% - -\newcommand\newbibliographyGENE[1]{% -\expandafter\expandafter\expandafter\newwrite\@nameuse{@#1aux} -\immediate\expandafter\expandafter\openout\@nameuse{@#1aux}=#1.aux -%\expandafter\expandafter\expandafter\show\@nameuse{@#1aux} -} - -\def\citeGENE#1{\@ifnextchar [{\@tempswatrue\@citexGENE{#1}}% -{\@tempswafalse\@citexGENE{#1}[]}} - -\def\@citexGENE#1[#2]#3{\if@filesw\immediate\expandafter% -\expandafter\expandafter\write\@nameuse{@#1aux}{\string% -\citation{#3}}\fi - \let\@citea\@empty - \@cite{\@for\@citeb:=#3\do - {\@citea\def\@citea{,\penalty\@m\ }% - \def\@tempa##1##2\@nil{\edef\@citeb{\if##1\space##2% - \else##1##2\fi}}% - \expandafter\@tempa\@citeb\@nil - \@ifundefined{b@\@citeb}{{\reset@font\bf ?}\@warning - {Citation `\@citeb' on page \thepage \space undefined}}% - \hbox{\csname b@\@citeb\endcsname}}}{#2}} - -\def\bibliographyGENE#1#2{\if@filesw\immediate\expandafter% -\expandafter\expandafter\write\@nameuse{@#1aux}{\string% -\bibdata{#2}}\fi - \@input{#1.bbl}} - -\def\bibliographystyleGENE#1#2{\if@filesw\immediate\expandafter% -\expandafter\expandafter\write\@nameuse{@#1aux} - {\string\bibstyle{#2}}\fi} - -\def\nociteGENE#1#2{\@bsphack - \if@filesw\immediate\write\@nameuse{@#1aux}{\string% - \citation{#2}}\fi - \@esphack} -%%%% fin macro %%%% - -Exemple d'utilisation : -Les fichiers gene.bib et speci.bib contiennent respectivement -une référence bibliographie de clé cle-gene et cle-speci. - -\documentclass{report} -\usepackage{multibib} -\usepackage{french} - -\begin{document} - -\newbibliographyGENE{Toto} -\newbibliographyGENE{Titi} - -\chapter{Introduction.} - blabla bla \citeGENE{Toto}{cle-gene} et -\citeGENE{Titi}{cle-speci} rebla rebla rebla - -\bibliographystyleGENE{Toto}{plain} -\bibliographyGENE{Toto}{gene} - -\bibliographystyleGENE{Titi}{alpha} -\bibliographyGENE{Titi}{speci} - -\end{document} - -il faut alors compiler de la manière suivante : -latex fichier-source -bibtex Toto -bibtex Titi -latex fichier-source -latex fichier-source -%%%% fin exemple %%%% - -# 15.3 # Comment changer de langue dans une bibliographie ? ------------------------------------------------------------ -* Il existe des versions francisées des styles bibliographiques -(fplain, falpha, fralpha, frealfullname...) qui ne sont pas -parfaits mais qui peuvent être modifiés facilement. Voir la -distribution GUTenberg. - -Exemple : -\documentstyle{falpha} -%%%% fin exemple %%%% - -* Sachant que les items d'une bibliographie sont des -paragraphes, ils peuvent commencer par la spécification d'une -langue. Si on utilise le package 'french', on dispose des -commandes \french et \english et si l'on utilise le package -'babel', il faut utiliser la commande \selectlanguage{} (cf. -paragraphe 11.1). - -* Voir également le package 'frbib' pour les bibliographies -françaises. - -* Le package 'mlbib' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/mlbib/ permet de gérer des -bibliographies multilingues. - -# 15.4 # Comment renvoyer une référence en note de bas de page ? ----------------------------------------------------------------- -* Pour remplacer une référence insérée dans le texte par la -commande \cite, par un appel à une note de bas de page -contenant une référence succinte à un document (la référence -détaillée apparaissant toujours dans la bibliographie), il faut -redéfinir la commande \cite dans le préambule du document par : -%%%% debut macro %%%% -\makeatletter -\def\@cite#1#2{% - \footnote{#1\if@tempswa, #2\fi}} -\makeatother -%%%% fin macro %%%% - -Les informations reportées dans la note de bas de page -dépendent du style de bibliographie choisi. - -* Le package 'overcite', de D. Arseneau, est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/cite/. Il permet de faire -référence à des documents par un exposant. - -Le problème qui se pose alors est de distinguer les références, -des notes de bas de page. Si le document contient moins de 10 -notes de bas de page, on peut utiliser la commande -\renewcommand{\thefootnote}{\fnsymbol{footnote}}. Sinon pour -disposer de 10 notes de bas de page par page, il existe le -package 'footnote' de R. Fairbairns disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/footnote/. - -Exemple : -\usepackage[perpage,symbol]{footnote} -%%%% fin exemple %%%% - -* Le package 'camel' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/camel/, propose différents -styles de bibliographies renvoyant à des notes de bas de page. - -* E. Domenjoud a également écrit le package 'footbib', -disponible sur CTAN, qui permet de faire cela. -Eric.Domenjoud@loria.fr. - -# 15.5 # Comment faire référence à un document ? ------------------------------------------------- -Il suffit d'utiliser la commande \cite avec en paramètre la clé -du document (cf. paragraphe 15.1). La commande \cite peut -prendre un texte en option. - -Exemple : -Voir~: \cite[chapitre 1]{cle}. -%%%% fin exemple %%%% - -# 15.6 # Comment grouper des références multiples ? ---------------------------------------------------- -* Le package 'cite' de D. Arseneau est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/cite/. Il permet de trier -et de grouper les références multiples. Par exemple, il permet -automatiquement de générer [1-6] au lieu de lister [1, 2, 3, 4, -5, 6]. - -* Il existe également les packages 'mcite' et 'rangecite' (pour -LaTeX2.09) disponibles sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/mcite/ et dans -ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/misc/. - -# 15.7 # Comment changer le titre de la bibliographie ? -------------------------------------------------------- -Suivant la classe de document que l'on utilise (article, -book, report, ...), il faut redéfinir : -\renewcommand{\bibname}{R\'ef\'erences} -ou -\renewcommand{\refname}{R\'ef\'erences} -dans le préambule. - -Remarque : avec certains packages comme french, il faut placer - cette nouvelle définition de commande après le - \begin{document}. - -# 15.8 # Comment changer le style de la bibliographie ? -------------------------------------------------------- -* Il existe un certain nombre de style par défaut (alpha, -plain, unsrt, abbrrv) que l'on peut appeler par la commande -\bibliographystyle{xxx} placée après la commande -\begin{document}. - -Remarque : Certains styles comme plain, acm ou apalike trient - alphabétiquement les références d'une bibliographie - suivant le premier auteur de chaque référence. - D'autres comme alpha utilisent la première lettre du - nom de chacun des auteurs multiples. - -* Il existe également le package 'custom-bib' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/supported/custom-bib/ qui permet de -définir ses propres styles sans avoir à se plonger dans le -language BibTeX. Le programme est interactif. - -* De même le package 'natbib' est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/natbib. Il -permet entre autres de classer la bibliographie de plusieurs -façons différentes, notamment par ordre alphabétique pour les -auteurs, par l'année de parution, etc. - -* Pour remplacer la numérotation [1] par 1., on peut utiliser la -commande : -\makeatletter -\renewcommand{\@biblabel}[1]{\quad #1.} -\makeatother - -* Pour supprimer toute numérotation, il faut utiliser de la même -manière : -\makeatletter -\renewcommand{\@biblabel}[1]{} -\makeatother - -* Le package 'easybib' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/easy/ permet par une syntaxe -simple de définir ses propres styles bibliographiques. - -# 15.9 # Comment construire une bibliographie à partir de plusieurs fichiers .bib ? ------------------------------------------------------------------------------------ -Pour cela il existe le package 'biblist' de J. chrod, disponible -sur ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/biblist/. - -Exemple : -\documentclass[12pt]{article} -\usepackage{biblist} -\begin{document} -\nocite{*} -\bibliographystyle{plain} -\bibliography{bibfile1,bibfile2,...} -\end{document} -%%%% fin exemple %%%% - -# 15.10 # Comment utiliser la commande \cite dans un \caption ? ---------------------------------------------------------------- -On peut mettre la commande \cite dans un \caption à condition de -la protéger : \protect\cite. - -# 15.11 # Comment référencer une thèse française ou un mémoire ? ----------------------------------------------------------------- -Il faut définir de nouvelles références. Pour cela, copier le -fichier .bst dans un autre fichier .bst avec un nom différent -et rechercher PhD thesis puis remplacer par Thèse de doctorat. - -Exemple : -FUNCTION {thesedoc} -{ output.bibitem -format.authors "author" output.check -new.block -format.btitle "title" output.check -new.block -"Th\`ese de Doctorat" format.thesis.type output.nonnull -school "school" output.check -address output -format.date "year" output.check -new.block -note output -fin.entry -} -%%%% fin exemple %%%% - -Idem pour les mémoires de DEA : - -FUNCTION {memdea} -{ output.bibitem - format.authors "author" output.check - new.block - format.title "title" output.check - new.block - "M\'emoire de D.E.A." format.thesis.type output.nonnull - school "school" output.check - address output - format.date "year" output.check - new.block - note output - fin.entry -} - -# 15.12 # Comment supprimer la virgule supplémentaire dans une liste d'auteurs ? --------------------------------------------------------------------------------- -Par défaut, dans une liste d'auteurs le "et" qui introduit le -dernier auteur est précédé d'une virgule. Pour la supprimer, il -faut modifier la fonction format.names dans un nouveau fichier -.bst de la manière suivante : - -%%%% debut macro %%%% -FUNCTION {format.names} -{ 's :=3D - #1 'nameptr :=3D - s num.names$ 'numnames :=3D - numnames 'namesleft :=3D - { namesleft #0 > } - { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=3D - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { namesleft #2 > - { "," * } - 'skip$ - if$ - t "others" =3D - { " et~al." * } - { " and " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr :=3D - namesleft #1 - 'namesleft :=3D - } - while$ -} -%%%% fin macro %%%% - -# 15.13 # Comment configurer la commande \cite ? ------------------------------------------------- -* Le package 'cite' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/cite/ offre certaines -possibilités. - -Exemple : -\usepackage{cite} -\renewcommand\citepunct{;\penalty999\ } -%%%% fin exemple %%%% - -* Pour afficher une clé à la place du label [??] dans le cas où -LaTeX/BibTex ne trouve pas la clé spécifiée dans la -bibliographie, on peut utiliser la macro suivante : - -%%%% debut macro %%%% -\def\@citex[#1]#2{% - \let\@citea\@empty - \@cite{\@for\@citeb:=#2\do - {\@citea\def\@citea{,\penalty\@m\ }% - \edef\@citeb{\expandafter\@firstofone\@citeb}% - \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}} - \fi -%%%% Ligne originale %%%% -% \@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseries ?}% -%%%% Ligne modifiée %%%% - \@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseries \@citeb}% - \G@refundefinedtrue - \@latex@warning - {Citation `\@citeb' on page \thepage \space undefined}}% - {\hbox{\csname b@\@citeb\endcsname}}}}{#1}} -%%%% fin macro %%%% - -# 15.14 # Comment construire une liste d'auteurs ? --------------------------------------------------- -Pour séparer les éléments d'une liste d'auteurs, il faut -utiliser "and". - -Exemple : -Dewitt, D.J. and Naughton, J. -%%%% fin exemple %%%% - -# 15.15 # Comment spécifier un tri dans une bibliographie ? ------------------------------------------------------------ -Il existe l'outil BibTool disponible sur -ftp://ftp.fdn.org/pub/CTAN/biblio/bibtex/utils/bibtool/ ou sur -http://www.aber.ac.uk/~dbt93/Downloads/bibtool/. BibTool est un -outil de manipulation de bases de données BibTeX et il permet en -particulier de spécifier différents ordres de tri pour une -bibliographie. - -Exemples : -* bibtool -s file.bib -o the_new_bibtex_file.bib -pour trier suivant les auteurs et les titres -* bibtool -s -- 'sort.format={%d(year)}' file.bib -o -the_new_bibtex_file.bib -pour trier par ordre croissant des années de parution -* bibtool -s -- 'sort.format={%s($type)%N(author)}' gn-publ.bib -pour trier par classe de document et par auteur. - -L'appel du fichier ainsi trié se fait alors par exemple par : -\documentclass{article} -\begin{document} -\nocite{*} -\bibliographystyle{unsrt} -\bibliography{the_new_bibtex_file} -\end{document} -%%%% fin exemple %%%% - -# 15.16 # Comment référencer les pages contenant des citations ? ----------------------------------------------------------------- -Il faut utiliser le package 'backref' disponible sur CTAN. - -# 15.17 # Où trouver des styles de bibliographie ? --------------------------------------------------- -* Le package 'biblist' de J. Schrod offre différents styles de -bibliographie prédéfinis. Il est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/biblist/. - -* Le package 'apacite' est disponible sur -ftp://ftp.fdn.org/pub/CTAN/biblio/bibtex/contrib/. - -* Le package 'bbtbase' disponible sur CTAN propose des styles -bibliographiques de base. - -* De nombreux autres styles sont disponibles sur CTAN. - -# 15.18 # Comment faire des références croisées ? -------------------------------------------------- -Il faut utiliser le champ crossref de bibtex. - -Exemple : -@InProceedings{contejean96rta, - author = "Evelyne Contejean and Claude March\'e", - title = "{CiME: Completion Modulo $E$}", - crossref = "rta96", - pages = "416--419", - year = 1996, - note = "System Description", - ftp = "ftp://ftp.lri.fr/LRI/art/march/cime-rta96.ps.gz", - abstract = "http://www.lri.fr/~marche/cime-rta96.html" -} - -@Proceedings{rta96, - title = "7th International Conference on ...", - booktitle = "7th International Conference on ...", - editor = "Harald Ganzinger", - publisher = SV, - year = 1996, - month = jul, - address = "New Brunswick, NJ, USA", - series = LNCS, - volume = 1103, -} -%%%% fin exemple %%%% - -ATTENTION : l'ordre de déclaration @InProceedings/@Proceedings - dans le fichier .bib est important. - -# 15.19 # Comment citer une URL ? ---------------------------------- -* Le style harvard propose un champ URL. Il est disponible à : -http://www.arch.su.edu.au/~peterw/latex/harvard/ ou sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/harvard/. - -* Le style bibliographique 'utphys', de J. Distler, disponible à -http://xxx.lanl.gov/hypertex/bibstyles/ ajoute le champ eprint à -toutes les entrées BibTeX classiques. - -* On peut également utiliser la macro @MISC et mettre la -référence URL dans le champ note. - -* M. Moreau propose la solution suivante : -J'ai recupéré le fichier falpha.bst auquel j'ai ajouté : - -FUNCTION {format.url} -{ url empty$ - {"empty"} - { url emphasize } - if$ -} - -FUNCTION {onTheNet} -{ output.bibitem - format.authors output - format.title "title" output.check - new.block - institution "institution" output.check - format.date output - new.block - format.url "url" output.check - fin.entry -} - -Autrement dit, si on peut avoir des documents de type onTheNet avec -pour entrée obligatoire : title, institution, url et entrée -optionnelle : author, year, month, note. L'URL est indiquée en -italique. - -# 15.20 # Comment définir des initiales à deux lettres ? --------------------------------------------------------- -En français, les prénoms commencant par Ch, Ph, Th... ont pour -initiales leurs deux premières lettres (Ex : Philippe --> Ph.). -Pour forcer BibTeX à considérer ces groupes de lettres, il faut -utiliser : {\relax Ph}ilippe. BibTeX prend alors tout le groupe -{..} pour une lettre. La commande \relax est considérée comme -une commande d'accent qui est supprimée lors du tri -alphabétique. Elle est nécessaire car lorsqu'un groupe apparaît -dans un nom, BibTeX s'attend à trouver une commande d'accent -juste après l'accolade ouvrante. - -# 15.21 # Comment conserver les majuscules dans les titres ? ------------------------------------------------------------- -Il suffit de mettre les majuscules entres accolades. - -# 15.22 # Comment changer l'espace entre les item ? ---------------------------------------------------- -Il faut copier la définition de l'environnement thebibliography -qui se trouve dans le fichier de style de la classe utilisée -(par exemple article.cls pour un article) dans un fichier de -style (qui sera appelé via une commande \usepackage) ou dans le -préambule de votre document (entre \makeatletter, \makeatother). -Il faut ensuite remplacer \newenvironment par \renewenvironment -et modifier la définition en ajoutant \setlength{\itemsep}{0pt} -après \list. - -# 15.23 # Comment réaliser des fiches de lecture ? --------------------------------------------------- -* S. O. Genaud (genaud@galaad.u-strasbg.fr) a écrit un petit -logiciel de gestion des références bibliographiques au format -BibTeX, sous la forme d'une interface graphique. La version -actuelle n'est peut être pas exempte de tout bug. Elle tourne -sur Linux, SunOS et Solaris avec la librairie xview. - -Pour récupérer l'exécutable ou avoir plus d'informations : -http://icps.u-strasbg.fr/~genaud/FRM/ - -Le programme bibfrm permet de lire un fichier BibTeX ou de créer -un fichier de références bibliographiques au format BibTeX et -d'associer à chaque référence un résumé. L'interface graphique -permet de savoir immédiatement quels sont les champs optionnels -et obligatoires pour un type de document donné. Le logiciel -permet de parcourir les différentes références du fichier, de -faire une recherche sur une chaîne, de trier les références par -nom d'auteur, année ou type de document. Pour chaque référence, -un résumé peut être saisi dans l'éditeur de texte incorporé dans -l'interface. Ce résumé peut être envoyé par mail à une liste de -diffusion prédéfinie. - -* Le package 'abstbook' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/ permet de mettre en page des -catalogues de résumés. - -# 15.24 # Comment utiliser la commande \cite dans un item ? ------------------------------------------------------------ -Pour utiliser la commande \cite dans l'item d'un environnement -description, il suffit de l'encadrer dans des accolades. - -Exemple : -\item[{\cite[\S3.1]{Author1}}] -%%%% fin exemple %%%% - -# 15.25 # Comment générer l'expression et al automatiquement ? --------------------------------------------------------------- -Voici une fonction "format.names" (tirée de plain.bst) où V. Henn -a rajouté quelques lignes pour mettre un et al pour les auteurs -de numéro supérieurs à 4. N'importe quel style biblio utilise une -fonction avec une syntaxe similaire, il n'y a qu'à insérer les -nouvelles lignes dans la fonction format.names (juste avant la -fin du while) du fichier biblio qui vous plaît et le tour est -joué... - -%%%% debut macro %%%% -FUNCTION {format.names} -{ 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { numnames #2 > - { "," * } - 'skip$ - if$ - t "others" = - { " et~al." * } - { " and " * t * } - if$ - } - if$ - } % fin du "si nameptr > 1" - 't % "si nameptr = 1" - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - -% ------------------------------ -% si à ce stade on se retrouve avec des noms à placer et que -% le pointeur nameptr est égal à 4 alors il faut -% 1. ajouter un "et al." -% 2. ne pas prendre en compte les auteurs suivants : nameleft:=0 - nameptr #4 = namesleft #0 > and - { " \emph{et~al.}" * - #0 'namesleft := - } - 'skip$ - if$ -% fin des ajouts -% ------------------------------ - - } - while$ % tant qu'il reste des nom à placer -} -%%%% fin macro %%%% - --- -Benjamin Bayart -bayartb@edgard.fdn.fr diff --git a/Master/texmf-doc/doc/french/FAQ-fr/part5 b/Master/texmf-doc/doc/french/FAQ-fr/part5 deleted file mode 100644 index 7aa236b9206..00000000000 --- a/Master/texmf-doc/doc/french/FAQ-fr/part5 +++ /dev/null @@ -1,2443 +0,0 @@ -Path: tempo.univ-lyon1.fr!univ-lyon1.fr!howland.erols.net!netnews.com!opentransit.net!proxad.net!teaser.fr!fdn.fr!edgard.fdn.fr!not-for-mail -Date: 08 Jun 2001 13:31:18 +0200 -Newsgroups: fr.comp.text.tex,fr.usenet.reponses -Subject: [FAQ] fr.comp.text.tex - parties 16 a 24 -Message-ID: <faq-fctt-p520010608133118@edgard.fdn.fr> -X-Posted-By: poste.sh version 1.1 -From: bayartb@edgard.fdn.fr (Nono le robot) -Supersedes: <faq-fctt-p520010501143416@edgard.fdn.fr> -Expires: 08 Jul 2001 13:31:17 +0200 -Followup-To: poster -Organization: French Data Network -Approved: bayartb@edgard.fdn.fr -Lines: 2432 -Xref: tempo.univ-lyon1.fr fr.comp.text.tex:23526 fr.usenet.reponses:20392 - -Archive-name: fr/faq-latex-francaise/part5 - -Author: Marie-Paule Kluth -Posting-Frequency: mensuel (monthly) -Version: 2.27 - -================================================================ - Cette FAQ, rédigée initialement par MP Kluth est maintenant - tenue à jour autant que possible par B. Bayart et - plusieurs volontaires (voir question [30]). -================================================================ - -================================================================ -[16] INDEX -================================================================ - -# 16.1 # Quelles sont les commandes de base ? ---------------------------------------------- -Pour permettre à LaTeX (via un générateur d'index) de construire -un index, il faut référencer dans le texte tous les mots que -l'on souhaite y voir apparaître. La commande à utiliser pour -cela est \index. Elle permet la construction d'un fichier .idx -dans lequel sont répertoriées toutes les références indiquées -dans le texte. - -Les entrées de ce fichier sont ensuite triées dans un fichier -nom_fichier.ind via la compilation : - makeindex fichier.idx -qui sera inclut dans le source .tex par la commande \printindex -ou \input{nom_fichier.ind}. - -Pour indiquer à LaTeX qu'il doit construire un index, il faut -également ajouter la commande \makeindex dans le préambule du -document. - -Remarque : compte tenu du temps pris pour générer un index, il - est conseillé de ne faire apparaître la commande - \makeindex que lors des dernières compilations. - -Si les commandes de génération d'index ne sont pas définies par -défaut, ou dans un package autre que makeidx (tel que french de -B. Gaulle par exemple), il faut utiliser le package 'makeidx' -(cas notamment de la commande \printindex). - -Remarque : Pour éviter de répéter la commande \index dans un - texte où elle devrait apparaître souvent, on peut - utiliser les commandes \index{mot_a_indexer|(} au - début du texte et \index{mot_a_indexer|)} à la fin. - -Pour plus de détails, consulter -ftp://ftp.fdn.org/pub/CTAN/indexing/makeindex/doc/makeindex.ps - -# 16.2 # Comment construire un index hiérarchique ? ---------------------------------------------------- -Pour construire un index à plusieurs niveaux d'entrée, il faut -utiliser les commandes suivantes : -\index{niveau1} comme précédemment puis, pour faire apparaître -un sous-thème de ce niveau, on appellera : -\index{niveau1!niveau1.1}. - -Exemple : -\documentclass{report} -\usepackage{makeidx} -\usepackage{french} -\pagestyle{empty} -\makeindex - -\begin{document} -\chapter{Sports.} -Le sport\index{Sport} c'est fantastique~! - -Mes sports préférés sont~: -\begin{itemize} - \item l'équitation\index{Sport!Equitation} et en particulier - les disciplines de dressage\index{Sport!Equitation!Dressage} - et de complet\index{Sport!Equitation!Complet}~: - \item l'escalade\index{Sport!Escalade} et surtout les - sorties en falaise~; - \item le judo\index{Sport!Judo}. -\end{itemize} - -\printindex -\end{document} -%%%% fin exemple %%%% - -Ces fonctions sont disponibles dans le package 'index' ou -(exclusif) 'french'. - -# 16.3 # Quels sont les générateurs d'index ? ---------------------------------------------- -* makeindex, pour LaTeX sous Unix, Macintosh, MS-DOS ou OS/2 est -disponible sur ftp://ftp.fdn.org/pub/CTAN/indexing/makeindex/, -ftp://ftp.fdn.org/pub/CTAN/systems/mac/macmakeindex.sit et dans les ditributions emTeX et -gTeX. - -* texindex, fondé sur sed pour LaTeX sous Unix, est disponible -sur ftp://ftp.fdn.org/pub/CTAN/support/texindex/. - -* idxtex, pour LaTeX sous VMS, est disponible sur -ftp://ftp.fdn.org/pub/CTAN/indexing/glo+idxtex/. - -* texix pour TeX sur CMS et Macintosh. - -# 16.4 # Comment changer le style de certains mots indexés ? ------------------------------------------------------------- -Il faut utiliser la commande : -\index{mot_a_indexer@mot_reporte} - -Exemple : -\documentclass{report} -\usepackage{makeidx} -\usepackage{french} -\pagestyle{empty} -\makeindex - -\begin{document} -\chapter{Sports.} -Le sport\index{Sport@\textbf{Sport}} c'est fantastique~! - -Mes sports préférés sont~: -\begin{itemize} - \item l'équitation\index{Sport@\textbf{Sport}!Equitation} et - en particulier les disciplines de - dressage\index{Sport@\textbf{Sport}!Equitation!Dressage} et de - complet\index{Sport@\textbf{Sport}!Equitation!Complet}~: - \item l'escalade\index{Sport@\textbf{Sport}!Escalade} et - surtout les sorties en falaise~; - \item le judo\index{Sport@\textbf{Sport}!Judo}. -\end{itemize} - -\printindex -\end{document} -%%%% fin exemple %%%% - -# 16.5 # Comment changer le style des pages de référence ? ----------------------------------------------------------- -Pour mettre en relief certains numéros de référence par rapport -à d'autres, on peut utiliser les macros suivantes : -+ pour appeler un numéro de page en gras (LaTeX2e) : - \newcommand{\idb}[1]{\textbf{#1}} -+ pour appeler un numéro de page en italique (LaTeX2.09) : - \newcommand{\idi}[1]{\it{#1}} - -La référence dans le texte se fait alors par : -\index{mot_a_indexer|idb} - -# 16.6 # Comment rappeler certains mots dans un haut de page ? --------------------------------------------------------------- -Le package 'fancyhdr' (LaTeX2e) disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/fancyhdr/ permet entre autres de -faire apparaître le premier mot de la page en haut à gauche de -la page et le dernier en haut à droite. - -# 16.7 # Comment générer plusieurs index ? ------------------------------------------- -* Il faut utiliser le package 'index' (et, si nécessaire, -charger le package 'french' après). - -* Il existe également le package 'multind'. - -Remarque : french (3.45) fonctionne bien avec "multind", par - contre "multind" n'implémente pas toutes les - commandes d'index (notamment, le séparateur "!" ne - fonctionne pas). -AL: toujours vrai ? - -# 16.8 # Qu'est ce que IdXTeX ? -------------------------------- -IdXTeX programme écrit en C par R. Aurbach facilite la -génération d'index. Il est disponible sur -ftp://ftp.fdn.org/pub/CTAN/indexing/glo+idxtex/. - -# 16.9 # Qu'est ce que xindy ? ------------------------------- -xindy est un système d'indexation. Il est disponible sur -ftp://ftp.fdn.org/pub/CTAN/support/xindy/. Il est capable de gérer différentes -langues suivant différentes lettres (notamment les lettres -accentuées) et règles de tri. Il est paramétrable en fonction de -repères de localisation dans le document qui ne correspondent -pas forcément à un numéro de page ou de paragraphe prédéfini. - -Pour plus de détails, consulter : -http://www.iti.informatik.th-darmstadt.de/xindy/. - -================================================================ -[17] GLOSSAIRE -================================================================ - -# 17.1 # Quelles sont les commandes de base ? ---------------------------------------------- -* La création d'un glossaire avec le package 'french' -s'apparente à la création d'un index. La commande d'insertion -d'un mot dans le glossaire est \glossary, la commande de -construction du fichier .glo est \makeglossary. L'insertion du -glossaire dans le document source se fait par \glossaire et -\input{fichier.glo}. - -Exemple : -\documentclass{report} -\usepackage{french} -\makeglossary - -\begin{document} - Construisons un glossaire avec les abréviations suivantes : -PS\glossary{[PS :] Pur Sang}, PSA\glossary{[PSA :] Pur Sang -Arabe}, SF\glossary{[SF :] Selle Français}, PP\glossary{[PP :] -Paso Péruvien}\ldots - -\glossaire -\input{fichier.glo} - -\end{document} -%%%% fin exemple %%%% - -* Pour trier un glossaire avec makeindex, il faut utiliser -la commande : - (UNIX) makeindex -s style -o fichier.gls fichier.glo -L'appel du glossaire se fait alors par la commande -\printglossary. - -Remarque : un exemple de style gglo.ist est disponible sur - ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/nomencl/ ou dans - http://planck.plmsc.psu.edu/~boris/. - -# 17.2 # Quels sont les générateurs de glossaire ? --------------------------------------------------- -* Le programme "GloTeX" de R. Aurbach, utilise une base de -données pour créer un glossaire. Il est donc possible d'utiliser -la même BD pour plusieurs documents, et ainsi d'avoir des -glossaires cohérents (les mêmes termes auront la même -définition). GloTeX est disponible sur -ftp://ftp.fdn.org/pub/CTAN/indexing/glo+idxtex/. - -* L'outil "GlossTeX", de V. Yavuz, disponible sur -ftp://ftp.fdn.org/pub/CTAN/support/glosstex/ est un générateur de glossaire, de liste -d'acronymes ou d'autres listes. Il s'appuie sur LaTeX et -MakeIndex. Il combine les fonctionnalités de GloTeX et nomencl. - -La construction du glossaire nécessite les compilations -suivantes : -latex, glosstex, makeindex et encore latex. - -Exemple : -\documentclass{article} -\usepackage{glosstex} -\begin{document} -This document is typeset using \LaTeX\glosstex{LaTeX}. - \section*{Glossary} - \printglosstex -\end{document} -%%%% fin exemple %%%% - -================================================================ -[18] STYLES PRÉDÉFINIS -================================================================ - -# 18.1 # Où trouver un style de thèse ? ---------------------------------------- -* Le package 'thesis' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/thesis/ est une classe de thèse -basée sur la classe report. - -* Le serveur loria présente quelques exemples de styles de -thèses : http://www.loria.fr/services/tex/. - -* La classe 'thloria' de Denis Roegel (roegel@loria.fr) -est disponible en http://www.loria.fr/~roegel/TeX/TL.html. -Sa documentation peut aussi être trouvée en -http://www.loria.fr/tex/guide.html. - -* Un autre exemple est disponible à l'université de Californie -ou sur ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/ucthesis/. - -* utthesis est le package de l'université du Texas. Il est -disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/utthesis/. - -* Il existe également le package 'uwthesis' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/uwthesis/ de l'université -de Washington. - -* Une classe de thèse est également disponible par ftp sur -ftp://cat.rpi.edu/pub/tibbetts/thesis.zip. - -# 18.2 # Comment faire son CV en LaTeX ? ----------------------------------------- -* Il existe deux packages : 'resume' et 'vita' disponibles sur -CTAN. 'vita' se trouve sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/vita/. - -* Le package 'ESIEEcv' écrit par B. Bayart offre un certain -nombre d'environnements qui facilitent la mise en page type -d'un CV. Il est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/ESIEEcv/. - -Exemple : -\begin{rubrique}{Titre de la rubrique.} - \begin{sousrubrique} - \Date{deb-fin} - \Duree{longue} - \Lieu{Ca c'est passe ici} - \Titre{Ce que j'ai fait} - \Descr{Quelques details} - \Apport{Ce que cela m'a apporte} - \Apport{et ca aussi} - \end{sousrubrique} - \begin{sousrubrique} - \Competence{Parlote} - \Descr{Bonne maitrise} - \end{sousrubrique} -\end{rubrique} -%%%% fin exemple %%%% - -Remarque : la largeur de la première colonne peut être modifiée - par : \setlength{\largeurcolonne}{2.5cm} - -* Voici quelques macros qui peuvent être utiles : -Dans le préambule : -%%%% debut macro %%%% -% Definition des catégories de rubriques. -\newcommand{\categorie}[1]{\vspace*{1cm}\noindent% - {\large\textsl{#1}\par}\vspace*{2pt}\hrule\vspace*{.5cm}} -% On definit une colonne pour les dates -\newlength{\duree} -\settowidth{\duree}{\textbf{1985-1987}} -% La seconde colonnes doit occuper le reste de la page -\setlength{\duree}{-\duree} -\addtolength{\duree}{\textwidth} - -% Definition des rubriques. -\newcommand{\rubrique}[2]{\noindent{\textbf{#1\ \ }}% - \parbox[t]{\duree}{#2}} -%%%% fin macro %%%% - -Utilisation : -\categorie{Formation~:} -\rubrique{1990--1992}{Étudiant à l'école Machin. Cette école -propose un programme~\ldots. - -Major de promo.} - -\rubrique{1992--1993}{Spécialisation dans le domaine~\ldots.} - -\categorie{Expérience~:} -\rubrique{1987-1988}{Stage ouvrier dans l'usine de carton de -La Ville aux Cartons.} - -* Voici d'autres macros de JM Lasgouttes : -%%%% debut macro %%%% -%%%% cv document class -%%%% Author: Jean-Marc Lasgouttes (Jean-Marc.Lasgouttes@inria.fr) -%%%% Last modification: 29/11/1996 -%%%% WARNING: this documentclass is really a hack. Don't expect too much. - -%%% Basic usage: -%% \leftheader[width]{text} : defines what should appear in the upper -%% left of the first page. The optionnal argument `width' specifies -%% the width of the header (default: 0.48\textwidth). `Text' may -%% contain \\ to break lines. -%% \rightheader[width]{text} like \leftheader, but for the right -%% header. -%% \makeheader: actually typesets the header. -%% -%% \section*{title}: gives a title for a new topic of the CV. The text -%% is typeset in font \topicfont (by default Sans Serif -%% semi-condensed bold). -%% `topic' environment: begins an itemize-like environment where the -%% argument of \item[] is typeset in font \itemfont (by default Sans -%% serif). You can also use \\ just after \item[xxx] if the label is -%% too large. -%% -%% The cv document class also has some primitive support for -%% bibliography. You can use the `thebibliography' environment as -%% usual (or directly BibTeX). It will provide text similar to the -%% `topic' environment. - -%% Basic definition to have a real LaTeX document class -\NeedsTeXFormat{LaTeX2e} -\ProvidesClass{cv}[1996/11/29 Curriculum vitae] -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} -\ProcessOptions -\LoadClass{article} - -%% The fonts used for headings -\newcommand\topicfont{\normalfont\sffamily\fontseries{sbc}\selectfont} -\newcommand\itemfont{\sffamily} - -%% stuff needed for the header -\newcommand\cv@lh{}\newcommand\cv@rh{} -\newcommand\cv@lh@l{\z@} \newcommand\cv@rh@l{\z@} -\newcommand\leftheader[2][0.48\textwidth]{ - \def\cv@lh@l{#1} - \def\cv@lh{#2}} -\newcommand\rightheader[2][0.48\textwidth]{ - \def\cv@rh@l{#1} - \def\cv@rh{#2}} -\newcommand\makeheader{\par\noindent - \parbox[t]{\cv@lh@l}{\raggedright\cv@lh} - \hfill - \parbox[t]{\cv@rh@l}{\raggedright\cv@rh}\par\vspace*{2cm}} - -%% Redefine \section to use \topicfont -\renewcommand\section{ - \@startsection{section}{1}{\z@} - {-3.5ex \@plus -1ex \@minus -.2ex} - {2.3ex \@plus .2ex}{\topicfont}} - -%% Define the topic environment -\newcommand\@topic@setup{ - \setlength{\leftmargin}{2cm} - \setlength{\rightmargin}{0cm} - \setlength{\labelwidth}{1.5cm} - \renewcommand{\makelabel}[1]{\itemfont ##1\hfill}} -\newenvironment{topic} - {\list{}{ - \@topic@setup - \let\CV@cr=\\ - \renewcommand\\{\hspace{0cm}\CV@cr}}} - {\endlist} - -%% Redefine the thebibliography environment to look like the topic -%% environment. The argument of thebibliography is ignored -\renewenvironment{thebibliography}[1] - {\section*{Publications} - \list{\@biblabel{\theenumiv}}{ - \@topic@setup - \@openbib@code - \usecounter{enumiv} - \let\p@enumiv\@empty - \renewcommand\theenumiv{\@arabic\c@enumiv}} - \sloppy \clubpenalty 4000 \widowpenalty 4000 \sfcode`\.=\@m} - {\endlist} -%%%% fin macro %%%% - -# 18.3 # Où trouver un format de publication ? ----------------------------------------------- -* Des classes et packages de format de publication dans les -revues scientifiques telles que IEEE, IFAC, SIAM, SIGGRAPH, etc., -sont disponibles sur CTAN. - -Pour plus de renseignements sur les documents IEEE, consulter la -page http://www.ieee.org/pubs/authors.html qui donne des -références de style pour LaTeX2.09 et LaTeX2e. - -* La classe paper, disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/paper/, est dérivée de la classe -article. Elle est mieux adaptée pour la publication, notamment en -termes de présentation de la page, le choix des fontes. Elle -définit un certain nombre de macros utiles. - -* De même, la classe elsart est disponible sur CTAN. Cette classe -est en outre très bien documentée. - -* On trouve également une classe pour journaux d'Academic -Press, que l'on peut trouver sur -http://www.academicpress.com/www/journal/latex_a.htm. - -* Kluwer propose une classe sur http://www.wkap.nl/kaphtml.htm/STYLEFILES - -* Annual Reviews (uniquement pour Annual Review of Nuclear and Particle -Science) fait de même sur -http://www.AnnualReviews.org/ibbin/ibGate.exe?LOADPAGE=%2fARI%2fauthors%2fauthors.htm - -* American Chemical Society, ne fournit, quant à elle, qu'un "Guidelines" -sur http://pubs.acs.org/instruct/texguide.html - -# 18.4 # Où trouver un style de manuel de référence ? ------------------------------------------------------ -Il existe la classe 'refman' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/refman/. - -# 18.5 # Où trouver un style de poster ? ----------------------------------------- -* Il existe le package 'poster' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/generic/poster/. Il permet entre autres d'imprimer un -texte s'étalant sur plusieurs pages avec des parties communes -de manière à pouvoir recoller les morceaux après. - -* G. Kettl propose également un style de poster accompagné -d'une documentation sur -http://rphibm1.physik.uni-regensburg.de/cluster/software/tex/a0poster.html. - -# 18.6 # Comment créer son propre style ? ------------------------------------------ -Lorsque l'on veut modifier un style prédéfini pour l'adapter à -ses besoins, il est conseillé de créer son propre fichier .cls -dans lequel seront réunies les nouvelles commandes de mise en -page. - -Ci-dessous un exemple de V. Henn pour définir son propre style -d'article : - -%%%% debut macro %%%% -%%% A sauver dans MonArticle.cls -%%% -%%% Format de style adapté de article.cls -%%% -%%% V.H. le 13 avril 1995 -%%% - -\NeedsTeXFormat{LaTeX2e} -\ProvidesClass{MonArticle}[1995/06/20 Article personnel] - -%%% Chargement de la classe article, avec transfert d'options -\PassOptionsToClass{a4paper}{article} % format a4paper par défaut -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} -\ProcessOptions - -\LoadClass{article} - -%%% Chargement des Packages les plus courants -\RequirePackage{frbib} -\RequirePackage{general} -\RequirePackage{fuzzy} -\RequirePackage{bigcenter} -\RequirePackage{traffic} -\RequirePackage[dvips]{epsfig} -\RequirePackage{epic} -\RequirePackage{french} - -%%% Destination de l'article (proposé pour une conf, une revue...) - -\def\Destination#1{\ifx{#1}{}\gdef\@Destination{}% -\else\gdef\@Destination{#1}\fi} - -%%% Destination vide par défaut - -\Destination{} - -%%% Auteur par défaut, pour eviter de recopier a chaque fois - -\author{Vincent \fsc{Henn}\thanks{Laboratoire d'ingénierie -circulation--transport, (Unité mixte \lsc{INRETS}--\lsc{ENTPE}), -109, Avenue Salvador Allende, Case 24, -F--69675 \fsc{Bron} Cedex, {\tt henn@inrets.fr}.}} -%%%% fin macro %%%% - -Utilisation : -\documentclass[a4paper,11pt]{MonArticle} - -\title{Exemple d'article} -\Destination{IEEE} -\begin{document} -\maketitle - -\chapter{Introduction} - -Bla bla - -\end{document} - -================================================================ -[19] CRÉATION DE TRANSPARENTS -================================================================ - -# 19.1 # Quels sont les packages et styles existants ? ------------------------------------------------------- -* La classe 'seminar', de T. van Zandt, offre de nombreuses -possibilités et peu de modifications sont nécessaires pour -pouvoir l'utiliser avec des documents initialement écrits pour -"slide". seminar est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/seminar/inputs/. - -Remarque : A l'origine, seminar.sty était un package ; - aujourd'hui, il a évolué en classe. - -La lecture du cahier GUTenberg no 16 disponible en ligne à -l'URL : -http://www.gutenberg.eu.org/publications/publis.html -peut être utile. Voir également la page -http://tug.cs.umb.edu/applications/ ou -http://www.tug.org/applications/Seminar/ qui présente notamment -une FAQ. - -* Le package 'cours' permet également de réaliser des -transparents. Il permet, à partir d'un fichier source de créer -des transparents et de gérer un syllabus. Cela fonctionne très -bien sous LaTeX2.09 et LaTeX2e (disponible sur les serveurs -CTAN). - -* La classe 'foiltex', de J. Hafner, est pas mal du tout. -Elle permet de définir des entêtes et des pieds de page. Elle a -été adaptée à LaTeX2e et est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/foiltex/. - -* La classe 'slides' est la classe de document fournie avec -LaTeX en remplacement de SliTeX, la solution proposée avec -LaTeX2.09 et disparue avec lui. - -Exemple : -\documentclass[a4paper]{slides} - -\begin{document} -\begin{slide} -Sous cet environnement slides, le texte est : -\begin{itemize} - \item en gros caractères, - \item d'une fonte sans serif, - \item centré verticalement. -\end{itemize} - -\end{slide} -\end{document} -%%%% fin exemple %%%% - -# 19.2 # Comment définir un contour pour des transparents ? ------------------------------------------------------------ -* Avec le package 'seminar', disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/seminar/. - -Exemple : -\slideframe[]{oval} -%%%% fin exemple %%%% - -* Il existe également le package 'fancybox', disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/others/seminar/inputs/, qui définit -des fonctions telles que \shadowbox, \doublebox, \ovalbox,... - -* On peut également utiliser une commande \special (cf. -paragraphe 29.8). - -Exemple : -Cet exemple nécessite dvips et travaille sur un format a4. Il -permet d'obtenir un fond jaune clair avec un cadre noir à 1 cm -du bord de la feuille et de définir deux zones de texte en -vert. -%%%% debut macro %%%% -\special{ - !userdict begin /bop-hook {gsave - 1 1 0.5 setrgbcolor clippath fill - 0 setlinecap 0 setlinejoin 2 setlinewidth 0 setgray - /Times-Bold findfont 10 scalefont setfont newpath - (Maurizio Loreti, 1996-02-25) - dup stringwidth pop neg 510 add 25 moveto - currentpoint 3 -1 roll 0 1 0 setrgbcolor show 0 setgray - moveto -6 3 rmoveto 28 28 28 814 15 arcto - 28 814 567 814 15 arcto 79 814 lineto 6 -3 rmoveto - 0 1 0 setrgbcolor - (CMS week at CERN) - show 0 setgray 6 3 rmoveto 567 814 567 28 15 arcto - 567 28 516 28 15 arcto 516 28 lineto stroke grestore} - def end -} -%%%% fin macro %%%% -%%%% fin exemple %%%% - -# 19.3 # Comment inclure des commentaires dans les transparents ? ------------------------------------------------------------------ -* Dans l'environnement slide, l'environnement note permet de -taper du texte qui sera imprimé sur une page séparée sans être -intégré dans un transparent. Cela permet à l'auteur de taper -ses notes personnelles sans qu'elles apparaissent dans un -transparent. - -* Le package 'xcomment' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/seminar/src/ permet de gérer -l'inclusion ou non de certains commentaires. - -# 19.4 # Comment modifier l'interligne sous seminar ? ------------------------------------------------------ -Pour modifier l'espacement entre lignes à l'intérieur des -paragraphes (sous seminar), il faut utiliser le paramètre -\slidestretch (cf. page 9 de la documentation de Seminar). - -Exemple : -\documentclass[portrait]{seminar} -\begin{document} -\begin{slide*} - Ceci est le texte de la d\'eclaration que j'ai \`a vous - communiquer. Ceci est le texte de la d\'eclaration que j'ai - \`a vous communiquer. Ceci est le texte de la d\'eclaration - que j'ai \`a vous communiquer. -\end{slide*} - -\def\slidestretch{0.5} -\begin{slide*} - Ceci est le texte de la d\'eclaration que j'ai \`a vous - communiquer. Ceci est le texte de la d\'eclaration que j'ai - \`a vous communiquer. Ceci est le texte de la d\'eclaration - que j'ai \`a vous communiquer. -\end{slide*} -\end{document} -%%%% fin exemple %%%% - -# 19.5 # Comment définir des en-têtes et pieds de pages ? ---------------------------------------------------------- -Le package 'seminar' permet de définir des entêtes et des pieds -de pages. - -Exemple : -\documentclass{seminar} -\usepackage{french,enumerate} -\newpagestyle{filets}% - {\hrulefill}% en haut - {\hrulefill\tiny\theslide}% en bas -\slidepagestyle{filets} - -\begin{document} -\begin{slide} - Voici les résultats de notre société pour les 5 derniers - trimestres : - \begin{enumerate}[Q1] - \item 120 MF - \item 123 MF - \item 145 MF - \item 143 MF - \item 193 MF - \end{enumerate} -\end{slide} -\end{document} -%%%% fin exemple %%%% - -# 19.6 # Comment modifier la taille du cadre d'un transparent ? ---------------------------------------------------------------- -Sous seminar, pour un changement local, il suffit de préciser -les dimensions voules dans le \begin{slide} ou \begin{slide*}. - -Pour un changement global, il faut modifier les variables -\slidewidth et \slideheight. - -Exemple : -\documentclass[a4,portrait]{seminar} -\usepackage{semcolor} - -\begin{document} -% Cadre de la taille par defaut (en A4) -\begin{slide*} - Texte ... -\end{slide*} - -% Changement global de la taille du cadre -\addtolength{\slidewidth}{1cm} -\addtolength{\slideheight}{1cm} -\begin{slide*} - Texte... -\end{slide*} - -% Changement local de la taille du cadre -% [hauteur,largeur] en mode portrait -% [largeur,hauteur] en mode paysage -\begin{slide*}[15cm,10cm] - Texte -\end{slide*} - -% On revient a la taille précédente -\begin{slide*} - Texte... -\end{slide*} -\end{document} -%%%% fin exemple %%%% - -# 19.7 # Comment empêcher les figures de flotter ? --------------------------------------------------- -On peut forcer l'option par défaut à H : -\usepackage{float} -\newfloat{figure}{H}{lof} %Don't let them float by default -\newfloat{table}{H}{lot} -\floatname{figure}{\figurename} -\floatname{table}{\tablename} - -# 19.8 # Comment gérer la couleur avec seminar ? ------------------------------------------------- -* L'exemple suivant montre comment paramétrer la couleur du -fond. - -Exemple : -\documentclass[a4,portrait]{seminar} -\usepackage{semcolor} - -\newcommand{\SlideColours}[1]{% -\slideframe[\psset{fillcolor=#1,fillstyle=solid}]{scplain}} - -\begin{document} -\SlideColours{blue} - \begin{slide*} - Mon transparent avec un fond bleu. - \end{slide*} -\end{document} -%%%% fin exemple %%%% - -* Pour utiliser d'autres couleurs que celles prédéfinies (black, -blue, cyan, darkgray, gray, green, lightgray, magenta, red, -white, yellow), il faut le faire via l'une des commandes de -PSTricks définissant les couleurs (dans Seminar, par défaut la -couleur est en effet gérée via PSTricks). PSTricks est disponible -sur ftp://ftp.fdn.org/pub/CTAN/graphics/pstricks/. - -Néanmoins, aujourd'hui il est conseillé d'utiliser plutôt -l'extension standard 'color' de LaTeX pour ce faire. - -Exemple : -\documentclass[a4,portrait]{seminar} - -% Pour utiliser l'extension standard "color" avec Seminar -\usepackage[dvips]{pstcol} -\usepackage{semcolor} - -\newcommand{\SlideColours}[1]{% -\slideframe[\psset{fillcolor=#1,fillstyle=solid}]{scplain}} - -\definecolor{Bleu}{rgb}{0.,0.,1.} -\definecolor{Rose}{rgb}{1.,0.75,0.8} - -\begin{document} -\SlideColours{Bleu} - \begin{slide*} - Mon transparent avec un fond bleu. - \end{slide*} - -\SlideColours{Rose} - \begin{slide*} - Mon transparent avec un fond rose. - \end{slide*} -\end{document} -%%%% fin exemple %%%% - -* On peut également composer un fond dégradé. - -Exemple : -\documentclass[a4,portrait]{seminar} - -% To use the standard "color" package with Seminar -\usepackage[dvips]{pstcol} -\usepackage{semcolor} - -\usepackage{gradient} -\definecolor{Gold}{rgb}{1.,0.84,0.} -\slideframe[\psset{fillstyle=gradient,gradbegin=Gold, - gradend=yellow, gradmidpoint=0.5}]{scplain} -\begin{document} - \begin{slide*} - Sympa le dégradé ! - \end{slide*} -\end{document} -%%%% fin exemple %%%% - -# 19.9 # Comment imprimer des transparents en miroir ? ------------------------------------------------------- -* Pour imprimer en miroir un document (pour faire de la -photocomposition), il existe un prologue PostScript pour DVIPS -que voici : - -%%%% debut macro %%%% -%% A sauver dans miroir.pro -% Pour imprimer des films transparents en miroir -% Pascal PERICHON - Distribution PC-TeXMF 2.6 - (c) 1997 -userdict begin -/bop-hook{ - 210 2.834 mul - 0 translate - -1 1 scale -}def end -%%%% fin macro %%%% - - Il s'utilise de la façon suivante : - dvips -hmiroir.pro - -Remarque : N'oubliez pas de mettre ce fichier dans la path - HEADERS de dvips (ou dans un chemin spécifié dans - config.ps pour l'inclusion des en-têtes). - -* Le package 'mirr' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/generic/TeX-PS/ permet d'obtenir des fichiers miroir. - -# 19.10 # Comment inclure une image de fond ? ---------------------------------------------- -* Le package 'seminar' permet d'inclure une image de fond. - -Exemple : -\documentclass{seminar} -\usepackage{semcolor} -\usepackage{fancybox} -\usepackage[dvips]{graphicx} - -\begin{document} - -\newslideframe{IMAGE}% -{\boxput{\rput(1,0){\includegraphics[scale=0.4]{image.eps}}}{#1}} -\slideframe*{IMAGE} - -\begin{slide} - My first word. -\end{slide} - -\begin{slide} - My last word. -\end{slide} - -\end{document} -%%%% fin exemple %%%% - -* On peut également utiliser l'environnement picture. - -Exemple : -\setlength{\unitlength}{1in} -\begin{picture}(0,0) - \put(-2.2,-6){\includegraphics[width=\textwidth]{bilder/sigel.eps}} -\end{picture} -%%%% fin exemple %%%% - -# 19.11 # Comment imprimer plusieurs transparents par page ? ------------------------------------------------------------- -Pour cela, il existe le package '2up'. - -================================================================ -[20] LETTRES, MAILING ET FAXS -================================================================ - -# 20.1 # Comment structurer une lettre ? ----------------------------------------- -* Il existe pour cela la classe letter. Celle-ci définit les -commandes : -+ \address qui définit l'adresse de l'expéditeur placée, en haut -à gauche de la première page si l'on utilise une mise en page à -la française (\usepackage{french} par exemple), ou en haut à -droite dans le cas d'une mise en page anglo-saxonne (solution -par défaut), -+ \signature prépare la signature de l'auteur de la lettre. -Celle-ci sera placée en bas à droite de la dernière page de la -lettre, -+ \la commande \begin{letter} prend en argument le nom du -destinataire, -+ les commandes \opening et \closing permettent respectivement -d'ouvrir et de fermer la lettre généralement par des formules de -politesse. -+ la commande \makelabels utilisée dans le préambule, permet de -générer une liste des adresses des destinataires pour préparer -un mailing, -+ un certain certain nombre d'autres commandes permet de générer -des champs spécifiques tels que : pièces jointes, postscriptum... - -De manière générale, le positionnement des différents champs -dépend de la langue utilisée dans la lettre. - -Remarque : lorsque plusieurs environnements letter sont utilisés - dans un même source, ils produiront chacun une lettre. - Toutes ces lettres auront la même adresse - d'expéditeur et la même signature. - -Exemple : -\documentclass[11pt]{letter} - -\name{expediteur} -\address{adresse \\ de l'expediteur} -\signature{signature \\ de l'expediteur} - -\begin{document} -\begin{letter}{le destinataire} - \opening{Cher destinataire,} - - texte -- texte -- texte -- texte -- texte -- texte -- texte - -- texte -- texte -- texte -- texte -- texte -- texte -- - texte -- texte -- texte -- texte -- texte -- texte -- texte - -- texte -- texte -- texte -- texte -- texte -- texte -- - texte -- texte -- texte -- texte -- texte -- texte -- texte - -- texte -- texte -- - - \closing{Formule de politesse} - \ps{PS : j'ai oublie...} - \cc{Monsieur Truc.} - \encl{pieces jointes} -\end{letter} -\end{document} -%%%% fin exemple %%%% - -ATTENTION : si l'on ajoute le package 'french' la disposition - des champs utilisés change puisque les lettres - anglo-saxonnes ne respectent pas la même typographie - que les françaises. - -* La classe 'lettre' de D. Megevand est un outil très -bien fait et adaptable à toutes les situations. Elle est -disponible par ftp sur ftp://obsftp.unige.ch/pub/tex/macros/. - -Exemple (D. Mégevand) : -\documentclass[11pt]{lettre} -\usepackage{french} -\begin{document} -\begin{letter}{Mme Marie-Paule \textsc{Kluth}\\ - Alcatel Alsthom Recherche\\ - Route de Nozay\\ - \textbf{F-91460 Marcoussis}} - -\signature{Denis Mégevand} -\def\concname{Objet :~} -\conc{FAQ de \TeX} - -\vref{A VOUS} -\nref{DE MOI} - -\opening{Chère Madame,} -Je vous remercie de citer ma classe lettre dans le \S20.1 de -votre FAQ sur \TeX. Il est exact que l'on peut faire beaucoup de -choses avec cette classe dans le domaine de la correspondance, -notamment des lettres et des télécopies (fax). On peut également -obtenir une page d'étiquettes avec les adresses des destinataires -des lettres contenues dans le document. - -Tous les paramètres de mise-en-page, ainsi que les chaînes -"Concerne", "Cc", "PS", etc. peuvent être facilement modifiés. - -Cependant, le pointeur vers -html(???)://obswww.unige.ch/pub/tex/macros ne conduit nulle part. -Le pointeur ftp est correct. Pour la doc, il existe une version -en HTML sur http://obswww.unige.ch/Manuels/letdoc2.31.html. - -Au \S20.3, vous parlez de classe 'lettre', ce qui est correct, -mais l'exemple donné montre un \verb+\documentstyle+, et les -commandes \verb+\signature+, \verb+\vref+ et \verb+\nref+ ne sont -pas à l'endroit specifié dans la doc. Cet exemple ne compilera -pas, ou plutôt ne donnera pas ce qui est attendu. Voici comme est -structurée cette lettre : -\begin{verbatim} - -\documentclass[11pt]{lettre} -[...] -\end{verbatim} - -\closing{Meilleures salutations} -\cc{À personne !} -\end{letter} -\end{document} -%%%% fin exemple %%%% - -* La classe 'fribrief' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/fribrief/ permet également de -mettre en page des lettres. - -* La classe 'akletter' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/akletter/ est une extension de -la classe lettre classique. Elle permet notamment de définir sa -propre entête et de gérer la position de l'adresse pour des -enveloppes à fenêtre. - -* Le package 'newsletr' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/plain/contrib/newsletr/ offre un ensemble de macros pour -mettre en page des lettres. - -# 20.2 # Comment préparer un mailing ? --------------------------------------- -* Le package 'mailing', disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/mailing/ permet de créer -plusieurs documents similaires avec des valeurs définies dans -des bases externes (fichiers ou autres). Il ne fonctionne -qu'avec la classe 'letter'. - -* Il existe également le package 'envlab', de B. Veytsman -(boris@plmsc.psu.edu), disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supoorted/envlab/. Il est -aujourd'hui aux standards américains mais doit être étendu à -d'autres pays. - -* Le package 'labels' est également disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/labels/. - -Exemple : -\documentclass[12pt]{book} -\usepackage{labels} -\LabelCols=3 -\LabelRows=11 -\LeftBorder=8mm -\RightBorder=4mm -\TopBorder=2mm -\BottomBorder=4mm -%\LabelInfotrue - -\begin{document} - -%\footnotesize\sf -\numberoflabels=3 - -\addresslabel[\small\sf] -{Me, Myself \& I\\ -SomePlace\\ -SomeCompany\\ -SomeStreet\\ -SomeTown, SomeZip} - -\end{document} -%%%% fin exemple %%%% - -* Le package 'adrlist' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/adrlist/ permet de gérer des listes -d'adresses. - -* Le package 'envbig' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/envbig/ permet d'imprimer des -adresses sur des enveloppes. - -* Le package 'formlett' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/generic/formlett.sty permet de gérer des mailings. - -# 20.3 # Comment faire des références dans une lettre ? -------------------------------------------------------- -* Dans la classe 'lettre' de D. Megevand, il existe les -commandes \nref, pour les références de l'expéditeur et \vref -pour celles du destinataire. - -Exemple : -\documentclass[11pt]{lettre} -\usepackage{french} - -\begin{document} -\begin{letter}{Mme Marie-Paule \textsc{Kluth}} - -\signature{MPK} -\vref{A VOUS} -\nref{DE MOI} - - \opening{Cher ami,} - - Texte.... - - \closing{Sincèrement.} - \encl{Pièces jointes :} - \cc{copie àTotor} -\end{letter} -\end{document} -%%%% fin exemple %%%% - -* Le package 'french' offre également les commandes \yourref et -\ourref. - -Exemple : -\documentclass[a4]{letter} -\usepackage{french} -\signature{ma signature} - -\begin{document} -\yourref{mon texte} -\ourref{mon autre texte} -\begin{letter}{le destinataire} - \opening{Cher Monsieur,} - - Texte... - \closing{Salutations} - \encl{pieces jointes} - \cc{copie a M. Totor} -\end{letter} -\end{document} -%%%% fin exemple %%%% - -# 20.4 # Comment mettre en page un fax ? ----------------------------------------- -Le package 'fax' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/fax/ propose un ensemble de -commandes pour préparer un fax. - -# 20.5 # Comment positionner une adresse pour une enveloppe à fenêtre ? ------------------------------------------------------------------------ -La classe scrlettr.cls du package koma-script permet de faire -cela. - -# 20.6 # Comment suppprimer la date sur une lettre ? ----------------------------------------------------- -Sous la classe lettre disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/, -il existe la commande \nodate. - -# 20.7 # Comment inclure une figure dans une lettre ? ------------------------------------------------------ -Il faut utiliser le package float et déclarer le type figure : -\usepackage{float} -\newfloat{figure}{htbp}{lof} - -================================================================ -[21] SYMBOLES ET LOGOS -================================================================ - -# 21.1 # Où trouver des symboles électroniques ? ------------------------------------------------- -* Le package 'epic' disponible sur CTAN permet d'accéder aux -symboles électroniques. - -* Il y a également le package 'circ' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/generic/diagrams/circ/ qui fait ça. -AL: incompatible avec french ou pas alors ? - -* Le package 'circuit_macros' disponible sur -ftp://ftp.fdn.org/pub/CTAN/graphics/circuit_macros.tar.gz permet de définir des -circuts électriques à partir d'éléments de base tels que des -amplis, des transistors, et portes logiques ... - -# 21.2 # Comment dessiner des circuits électroniques ? ------------------------------------------------------- -* Certains packages sont disponibles sur -ftp://ftp.fdn.org/pub/CTAN/graphics/lcircuit/, ftp://ftp.fdn.org/pub/CTAN/graphics/circuit_macros/ et -ftp://ftp.fdn.org/pub/CTAN/macros/generic/diagrams/circ/. - -* Il existe également des librairies xfig disponibles sur -ftp://epb1.lbl.gov/xfig/. - -# 21.3 # Quelles sont les polices de symboles sous LaTeX ? ----------------------------------------------------------- -Il y en a plusieurs que l'on peut trouver sur ftp://ftp.fdn.org/pub/CTAN/fonts/. - -dancers Des petits bonshommes stylisés (dessins d'enfants) - qui se trémoussent dans tous les sens... -dingbat Symboles Zapf dingbats -bbding Symboles Zapf dingbats -goblin On dirait des personnages (étranges) stylisés... -hands Des grosses mains pointant vers la gauche ou la - droite -iching Yi-King. Avec des symboles chinois bizarres... -karta Symboles bizarres (voir aussi niceframes.sty) -knot noeuds -wasy2 Symboles - -# 21.4 # Comment obtenir les symboles mâle et femelle ? -------------------------------------------------------- -* Les polices "astrosym", "cmastro", "wasy" ou "wasy2" -définissent ces caractères. - -* Voir également le package 'genealogy' disponible sur -ftp://ftp.fdn.org/pub/CTAN/fonts/genealogy/. - -# 21.5 # Comment obtenir le symbole degré ? -------------------------------------------- -* En fait le symbole "degré" ne devrait pas être confondu avec -un << petit o en exposant >>. C'est un caractère définit : -+ en codage OT1, par \char23 -+ en codage T1, par \char6 - -En LaTeX2e, -\DeclareTextSymbol{\degre}{T1}{6} -\DeclareTextSymbol{\degre}{OT1}{23} -définiront la commande \degre, que vous travailliez en codage -OT1 (défaut) ou T1 sélectionné par \usepackage[T1]{fontenc} - -* Le package 'french' définit de cette manière la commande -\degre. - -* Le package 'babel' définit lui \degre et \degres. - -* Le package 'textcomp', de S. Rahtz, disponible sur -ftp://ftp.fdn.org/pub/CTAN/fonts/psfonts/ts1/, basé sur les fontes DC 1.2 ou plus récentes, -disponibles sur ftp://ftp.fdn.org/pub/CTAN/fonts/dc/, définit les commandes -\textdegree et \textcentigrade. - -* Le package 'inputenc' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/base/ fournit les commandes \textdegree et -\mathdegree. - -* La solution qui consiste à mettre dans le préambule (LaTeX2e) : -\newcommand{\deg}{\ensuremath{^\circ}} ou -\newcommand{\deg}{\ensuremath{^\circ}\xspace} en utilisant le -package 'xspace' ou encore -\newcommand{\deg}{\(\mathsurround=0pt{}^\circ\)} -puis utiliser \deg en mode texte ou mathématique, -est donc à éviter. - -# 21.6 # Où trouver des symboles astronomiques ? ------------------------------------------------- -Il existe le package 'astro' disponible sur -ftp://ftp.fdn.org/pub/CTAN/fonts/astro/. - -# 21.7 # Où trouver une police de symboles phonétiques ? --------------------------------------------------------- -* Il existe le package 'phonetic' disponible sur -ftp://ftp.fdn.org/pub/CTAN/fonts/phonetic/. - -* La fonte ipa est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/ipa/. - -* La fonte tipa de F. Rei est également disponible dans -ftp://ftp.fdn.org/pub/CTAN/fonts/tipa/. - -# 21.8 # Où trouver des opérateurs de logique floue ? ------------------------------------------------------ -* Il existe le package 'logic' disponible sur -ftp://ftp.fdn.org/pub/CTAN/fonts/logic/. - -* V. Henn (henn@inrets.fr) propose ses propres définitions -(LaTeX2e). Sauvegarder les commandes suivantes dans un fichier -'fuzzy.sty'. Ce package nécessite les packages 'amsfonts' et -'xspace'. - -ATTENTION : Le fichier ci-dessous est perso, ce qui signifie : - 1. pas d'exhaustivité - 2. pas de garantie de solution optimale (en terme de - 'pureté teX') - 3. pas de garantie de non bug - 4. ces opérateurs ne correspondent pas à une norme - pour la notation : ce sont des choix perso (qui - correspondent plus ou moins à l'usage) - -%%%% debut macro %%%% -%%% -%%% Format de style permettant d'utiliser directement un certain -%%% nombre d'operateurs propres à la logique floue. Ces -%%% opérateurs sont généralement surlignés d'un tilde... -%%% -%%% V.H., le 12 avril 1995 -%%% - -\RequirePackage{amsfonts} -\RequirePackage{xspace} - -\message{Opérateurs flous} - -\newcommand{\fmin}{\mathop{\flou{\min }}} -\newcommand{\fmax}{\mathop{\flou{\max }}} -\newcommand{\V}{\mathop{\mathrm V\kern 0pt}} -\newcommand{\ET}{\mathrel{\mathrm{ET}}} -\newcommand{\OU}{\mathrel{\mathrm{OU}}} -\newcommand{\Sim}{\mathop{\mathrm S \kern 0pt}} -\newcommand{\hauteur}{\mathop{\mathrm h\kern 0pt}} -\newcommand{\card}[1]{\| #1 \|} -\newcommand{\flou}[1]{\ensuremath{\widetilde{#1}}} -\newcommand{\R}{\ensuremath{\Bbb{R}}} -\newcommand{\cpp}{\ensuremath{\hbox{C}^{++}}\xspace} - -\newcommand{\Poss}{\mathop{\Pi}} -%\newcommand{\Nec}{\mathop{{\cal{N}}}} -\newcommand{\Nec}{\mathop{\mathrm N\kern 0pt}} - -\newcommand{\poss}{\operatoname{Poss}} -\newcommand{\nec}{\operatoname{Néc}} - -\newcommand{\serie}[3]{% -% #1 -> le nom de la variable -% #2 -> l'indice de début -% #3 -> l'indice de fin -\ensuremath{{#1}_{#2},\ldots,{#1}_{#3}}} - -\newcommand{\DP}{\fsc{Dubois} et \fsc{Prade}\xspace} -%%%% fin macro %%%% - -# 21.9 # Comment obtenir le symbole de paragraphe ? ---------------------------------------------------- -Il suffit de taper \S. - -# 21.10 # Comment obtenir le caractère 'registered' ? ------------------------------------------------------ -* La commande \textregistered est disponible lorsqu'on utilise -une fonte qui le permet (TS1 ou 8r, p. ex. DC). - -* Le package 'textcomp', de S. Rahtz, disponible sur -ftp://ftp.fdn.org/pub/CTAN/fonts/psfonts/ts1/ définit également ce caractère. - -* Voici d'autres définitions : -%%%% debut macro %%%% -\def\Registered{\raisebox{1ex}{\kern-.1em\setbox\@tempboxa\hbox{% -\footnotesize$\bigcirc$}\hbox -to 0pt{\hbox -to\wd\@tempboxa{\hss\tiny\textrm{R}\hss}\hss}\box\@tempboxa\kern-.1 -em}} -%%%% fin macro %%%% - -* de Ulick Stafford (ulick.stafford@nd.edu) - -%%%% debut macro %%%% -\def\registered{{\ooalign {\hfil\raise .05ex\hbox{\scriptsize -R}\hfil\crcr\mathhexbox20D}}} -%%%% fin macro %%%% - -* de Maurice Dohmen (m.dohmen@cs.tudelft.nl) - -%%%% debut macro %%%% -\def\REgistered{{\ooalign -{\hfil\raise.09ex\hbox{\tiny \sf R}\hfil\crcr\mathhexbox20D}}} -%%%% fin macro %%%% - -* On peut également utiliser le package 'amssymb', de J. -Knappen (KNAPPEN@VKPMZD.kph.Uni-Mainz.DE) qui propose la -commande \circledR. - -Exemple : -\documentclass{article} -\usepackage{amssymb} -\usepackage{autredefs} -\begin{document} -\Registered - -\registered - -\REgistered - -\circledR -\end{document} -%%%% fin exemple %%%% - -* De Boris A. Veytsman <BAV2@psuvm.psu.edu> : - -%%%% debut macro %%%% -\newcommand{\reg}{\textsuperscript{\textcircled{\textsc r}}} -%%%% fin macro %%%% - -# 21.11 # Où trouver le symbole trade-mark ? --------------------------------------------- -* Il suffit d'utiliser le package "pifont" puis de faire -\Pisymbol{psy}{212} ou encore \Pisymbol{psy}{228}. - -* Avec des fontes TS1 (tc livrées avec dc ou ec, ou sinon ps) : -\usepackage{textcomp} -\texttrademark - -# 21.12 # Comment obtenir un underscore ? ------------------------------------------ -Il suffit de taper \_. - -# 21.13 # Où trouver le symbole radioactif ? --------------------------------------------- -Il est disponible dans le package 'karta' disponible sur CTAN. - -# 21.14 # Comment obtenir le logo LaTeX ? ------------------------------------------ -Il suffit d'appeler la commande \LaTeX. - -# 21.15 # Comment obtenir le logo LaTeX2e ? -------------------------------------------- -Le nouveau logo s'obtient par \LaTeXe. - -# 21.16 # Où trouver des chiffres entourés ? --------------------------------------------- -* Le package 'go' disponible sur ftp://ftp.fdn.org/pub/CTAN/fonts/go/ propose -des chiffres blancs sur fond noir. - -* Le package 'pifont' propose également des chiffres entourés. - -* A défaut, on peut construire ses propres symboles à l'aide du -package 'overlay' ci-dessous. - -%%%% debut macro %%%% -% Dans TTN Vol3 Num 2 1994, Jeremy Gibbons propose une macro -% \overlay qui permet de créer des symboles en superposant -% d'autres symboles. Le symbole ainsi construit peut changer de -% taille en fonction du style (display, script...) -% -%%% overlay.sty to overlay two symbols, respecting styles - -\def\loverlay#1#2{\mathpalette\@overlay{{#1}{#2}{}{\hfil}}} -\def\overlay#1#2{\mathpalette\@overlay{{#1}{#2}{\hfil}{\hfil}}} -\def\roverlay#1#2{\mathpalette\@overlay{{#1}{#2}{\hfil}{}}} - % calls to \@overlay look like - % \overlay\textstyle{{x}{y}{\hfil}{\hfil}} -\def\@overlay#1#2{\@@overlay#1#2} - % strip brackets from 2nd arg, to get - % \@@overlay\textstyle{x}{y}{\hfil}{\hfil} -\def\@@overlay#1#2#3#4#5{{% - \def\overlaystyle{#1}% - \setbox0=\hbox{\m@th$\overlaystyle#2$}% - \setbox1=\hbox{\m@th$\overlaystyle#3$}% - \ifdim \wd0<\wd1 \setbox2=\box1 \setbox1=\box0% - \setbox0=\box2\fi % \box0 is now the wider box - \rlap{\hbox to \wd0{#4\box1\relax#5}}\box0}} - -%%% fin du style overlay -%%%% fin macro %%%% - -Utilisation : $\overlay{symbole1}{symbole2}$ - -Exemple (V. Henn) : -$ \overlay{\lower.6ex\hbox{$\overlaystyle\smile$}} - {\raise.6ex\hbox{$\overlaystyle - {\roverlay{\circ}{\cdot}}{\roverlay{\circ}{\cdot}}$}} -$ -%%%% fin exemple %%%% - -# 21.17 # Comment obtenir le symbole numéro ? ---------------------------------------------- -* Le package 'french' propose la commande \numero. - -# 21.18 # Comment obtenir les symboles pourcent et pourmille ? --------------------------------------------------------------- -* Le symbole pourcent s'obtient symplement par la commande \%. - -* Le symbole pourmille est définit dans le package 'textcomp' via -la commande \textperthousand. - -ATTENTION : ce package nécessite la disponibilité de fontes ec. - -* A défaut, on peut construire soit même le symbole : -%%%% debut macro %%%% -\newcommand{\promille}{% - \relax\ifmmode\promillezeichen - \else\leavevmode\(\mathsurround=0pt\promillezeichen\)\fi} -\newcommand{\promillezeichen}{% - \kern-.05em% - \raise.5ex\hbox{\the\scriptfont0 0}% - \kern-.15em/\kern-.15em% - \lower.25ex\hbox{\the\scriptfont0 00}} -%%%% fin macro %%%% - -* Autre solution : -%%%% debut macro %%%% -\newcommand{\promille}{% -\def\pourmille{\hbox{$\,^0\!/_{00}$}} -%%%% fin macro %%%% - -# 21.19 # Comment obtenir un e dans l'o ? ------------------------------------------ -Il faut appeler la commande \oe{}. Les accolades permettent -d'isoler la commande dans un mot. - -# 21.20 # Quels sont les symboles réservés dans LaTeX ? -------------------------------------------------------- -Il s'agit des symboles : # $ % & ~ _ ^ \ { }. -Pour les imprimer il faut donc utiliser des commandes à savoir : -\# \$ \% \& \_ \^{} \{ \}. Pour le caractère tilde voir la -question 29.32, et pour le backslash, il faut appeler \backslash -en mode mathématique. - -# 21.21 # Comment obtenir des lettres cursives ? ------------------------------------------------- -Il suffit d'utiliser la fonte caligraphique. - -Exemple : -$\cal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$ -%%%% fin exemple %%%% - -# 21.22 # Comment obtenir le logo AMS-(La)TeX ? ------------------------------------------------ - -Le logo AMS-TeX s'obtiens en appelant \AmS-\TeX et le logo -AMS-LaTeX en appelant \AmS-\LaTeX. - -# 21.23 # Quels sont les symboles par défaut de LaTeX ? -------------------------------------------------------- -Voici une liste des symboles les plus courants : -+ \dag, \ddag, -+ \S pour paragraphe, -+ \P, -+ \copyright, -+ \pounds pour le symbole de livre, -+ \oe, \OE pour e dans l'o, -+ \ae, \AE pour e dans l'a, -+ \aa, \AA, -+ \o, \O, pour le zéro barré, -+ \l, \L pour un l barré, -+ \ss pour le double s allemand, -+ ?` pour un ? à l'envers, -+ !` pour un ! à l'envers. - -# 21.24 # Quels sont les différents tirets ? --------------------------------------------- -Il existe effectivement différents tirets sous LaTeX : -+ la commande - pour un trait d'union -+ la commande -- pour citer un intervalle -+ la commande --- pour un tiret de ponctuation. - -Exemple : -Marie-Paule -voir page 19--32 -entre deux thèmes --- par exemple. -%%%% fin exemple %%%% - -# 21.25 # Comment obtenir le symbole arobasse ? ------------------------------------------------ -Il existe différentes solutions qui doivent être sélectionnées -en fonction de l'endroit où elles sont appelées : dans le texte, -dans un titre dans une note de bas de page, .... - -%%%% debut macro %%%% -+ \def\at{\string@} -+ \edef\at{\string@} -+ \def\at{\char`@} -+ \chardef\at=`\@ -%%%% fin macro %%%% - -# 21.26 # Comment obtenir un backslash ? ----------------------------------------- -Il existe différentes techniques : -+ $\backslash$ (produit un backslash mathématique) -+ \textbackslash -+ {\tt\char`\\} -+ \verb+\+ -on peut également définir une commande : -+ \newcommand{\bslash}{\texttt{\symbol{92}}} -+ \newcommand{\backslash}{\mbox{\char`\\}} - -# 21.27 # Comment faire un carré plain de fin de démonstration ? ----------------------------------------------------------------- -* Le package 'amssymb' propose la commande \blacksquare. - -* Voici deux macros proposées par S. Cirilli: -%%%% debut macro %%%% -\def\sqw{\hbox{\rlap{\leavevmode\raise.3ex\hbox{$\sqcap$}}$% -\sqcup$}} -\def\sqb{\hbox{\hskip5pt\vrule width4pt height6pt depth1.5pt% -\hskip1pt}} - -% Rectangle noir: -\def\qed{\ifmmode\hbox{\hfill\sqb}\else{\ifhmode\unskip\fi% -\nobreak\hfil -\penalty50\hskip1em\null\nobreak\hfil\sqb -\parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi} -% Rectangle blanc: -\def\cqfd{\ifmmode\sqw\else{\ifhmode\unskip\fi\nobreak\hfil -\penalty50\hskip1em\null\nobreak\hfil\sqw -\parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi} -%%%% fin macro %%%% -================================================================ -[22] MUSIQUE -================================================================ - -# 22.1 # Comment écrire de la musique sous LaTeX ? --------------------------------------------------- -* Le package 'MuTeX', écrit par A. Steinbach et A. Schofer, -permet d'écrire de la musique. Il est disponible par ftp -anonyme sur ftp://ftp.cs.ruu.nl/pub/TEX/MuTeX.tar.Z. - -* Un autre package encore plus performant est 'MusiXTeX' de -D. Taupin (taupin@frups51.bitnet ou taupin@lps.u-psud.fr), R. -Mitchell et A. Egler. Il permet d'écrire des partitions pour -orchestres ou de la musique polyphonique. Il est disponible par -ftp anonyme sur ftp://rsovax.ups.circe.fr/musictex/ ou sur -ftp://hprib.lps.u-psud.fr/pub/musixtex/, ou encore sur -ftp://ftp.fdn.org/pub/CTAN/macros/musixtex/taupin/ ou ftp://ftp.fdn.org/pub/CTAN/macros/musixtex/egler/. La -lecture du cahier GUTenberg 21 apporte beaucoup d'informations à -ce sujet. Voir http://www.ens.fr/gut/cahiers.html ou -http://www.gutenberg.eu.org/publications/node7.html. -A voir également http://www.gmd.de/Misc/Music/ le site de -W. Icking avec une mine d'informations, en particulier des -pointeurs vers des partitions saisies en musixtex, etc., - -Il existe une FAQ disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/musictex/FAQ/. - -Remarque : le programme abc2mtex d'aide à l'utilisation de - MusiXteX peut également être utile, voir - http://www.gre.ac.uk/~c.walshaw/abc/ - -# 22.2 # Comment convertir du midifile en MusicTeX ? ------------------------------------------------------ -* Music TeX, de M. Beigbeder et J.J. Girardot permet la -conversion de midifiles en Music TeX. - -* midi2tex permet également de traduire des fichiers de données -midi. Il est disponible sur ftp://ftp.fdn.org/pub/CTAN/support/midi2tex/. - -# 22.3 # Existe-t'il une liste de discussion de musique ? ---------------------------------------------------------- -Il existe une liste de discussion consacrée à l'écriture de -musique en TeX. Pour s'y inscrire, il faut envoyer un mail -"subscribe" à mutex-request@gmd.de. - -Les articles postés sur cette liste sont archivés dans -http://www.gmd.de/Mail/mutex-archive/. - -Consulter également : http://www.gmd.de/Misc/Music/ ou -ftp://ftp.gmd.de/music/. - -# 22.4 # Comment éditer un livre de chants ? --------------------------------------------- -Il existe le package 'songbook' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/songbook/. Voir la page -http://www.cyberus.ca/~crath/Misc/Songbook/index.html pour -quelques exemples. - -# 22.5 # Comment mettre en page un programme de concert ? ---------------------------------------------------------- -Le package 'concprog' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/concprog/ propose un certain -nombre de macros pour préparer un programme de concert. - -================================================================ -[23] CONVERSIONS DE FICHIERS -================================================================ - -# 23.1 # Comment générer un fichier .ps à partir d'un .dvi ? ------------------------------------------------------------- -* dvips, de T. Rokicki, a l'avantage de savoir gérer les -"virtual fonts". Il est disponible par ftp anonyme à : - -+ pour unix sur ftp://labrea.stanford.edu/pub/ ou sur -ftp://ftp.fdn.org/pub/CTAN/dviware/dvips/. - -+ pour VMS sur ftp://ftp.fdn.org/pub/CTAN/systems/vms/Alpha/ ou -ftp://ftp.fdn.org/pub/CTAN/systems/vms/VAX suivant l'architecture utilisée. - -+ pour MSDOS sur ftp://monu1.cc.monash.edu.au/pub/dvips54.zip ou -sur ftp://shape.mps.ohio-state.edu/pub/msdos/dvips/dvips54.zip ou -sur ftp://ftp.fdn.org/pub/CTAN/systems/msdos/drivers/dvips/. - -+ pour OS2 sur -ftp://ftp.fdn.org/pub/CTAN/systems/msdos/dviware/dvips/dvips558.pc. - -* dvitops, pour unix, msdos, vms et primos, de J. Clark, est -disponible sur ftp://ftp.fdn.org/pub/CTAN/dviware/. dvitops ne gère pas les -fontes virtuelles. - -* dvipsk, de K. Berry, est disponible sur ftp://ftp.fdn.org/pub/CTAN/dviware/. - -# 23.2 # Qu'est ce que le "Literate Programming" ? --------------------------------------------------- -Le "Literate Programming" est une approche de la programmation -qui met en valeur le fait qu'un programme doit pouvoir être lu -aussi bien par une personne que par un compilateur. Les outils -associés (disponibles dans les archives CTAN) vont ainsi -permettre de générer des documents combinant du code source et -du texte (souvent au format TeX). Ensuite, la documentation et -le code source seront automatiquement extraits de ce document -unique. Pour plus d'information sur ces techniques, consulter : -http://www.ius.cs.cmu.edu/help/Programming/literate.html. Il -existe également une FAQ comp.programming.literate disponible -sur ftp://ftp.fdn.org/pub/CTAN/help/comp.programming.literate_FAQ. - -Remarque : À l'origine, D.E. Knuth a basé TeX sur un système - de "programmation littéraire" nommé Web. Le code - source en question était du Pascal. Aujourd'hui où - l'on ne trouve quasiment plus de compilateurs - Pascal, il a fallu écrire des outils de passage - au C. D'où l'outil Web2C actuellement utilisé. La - plupart des distributions Unix utilisent Web2c - maintenu actuellement par Karl Berry. - -* WEB, est le premier outil/langage de literate programming. Il -a été créé par D.E. Knuth, qui l'a d'ailleurs utilisé pour -écrire TeX et metafont. WEB est une surcouche du langage -pascal. Il offre un indexage et des références croisées -automatiques pour les identificateurs et les procédures ainsi -qu'un pretty printing du code. Il est disponible sur -ftp://ftp.fdn.org/pub/CTAN/web/tweb/. - -* CWEB, de D.E. Knuth et S.Levy, est une réécriture de WEB en C. -Cette application est simple d'accès et marche très bien. Un -clône de ce produit est CWEBx qui est un peu plus riche (donc -plus compliqué mais sans excès). Il est disponible sur -ftp://ftp.fdn.org/pub/CTAN/web/c_cpp/cweb/. - -* FunnelWEB se présente en tant que surcouche de n'importe quel -langage, mais pour cette raison n'offre pas de "pretty-printing" -du code. Il en existe une variante (FunnelWEB-AC) pouvant -générer de la doc HTML, en plus de la doc TeX. - -Il présente l'originalité par rapport aux autres d'avoir été -réécrit de toutes pièces, et non d'être une branche de -développement séparée de CWEB. - -Il semble par ailleurs que FunnelWEB soit le seul à pouvoir -donner à l'utilisateur le contrôle total à l'octet près de son -fichier de sortie (utile pour les Makefiles, par exemple), mais -peut paraître assez rigide à un utilisateur habitué à la -puissance de fweb. - -Funnel WEB, est disponible sur ftp://ftp.fdn.org/pub/CTAN/web/funnelweb. - -* fweb (1.53), de J. Krommes, dérivé de CWEB, met à disposition -une FAQ sur http://www.arsc.sunyit.edu/fwebdocs/fweb.html et une -DOC sur http://w3.pppl.gov/~krommes/fweb_toc.html. -Cette application est très complète, mais un peu difficile -d'accès. Elle permet notamment de travailler en fortran (77 ou -90), RATFOR (77 ou 90), C ou C++. Elle intègre entre autres un -système de gestion de macros très complet, "à la m4" (boucles, -arguments variables, etc.), ainsi qu'un traducteur de RATFOR en -Fortran, pour ceux qui n'auraient pas le compilateur adéquat... - -Elle est l'une des rares à utiliser LaTeX plutôt que TeX en -standard, ce qui permet d'utiliser toute la puissance de -celui-ci... - -fweb est disponible sur ftp://ftp.fdn.org/pub/CTAN/web/fweb/. - -* noweb et nuweb sont plus légers, plus fiables et très -utilisés. Ils mettent à disposition des mécanismes pour générer -des documents LaTeX ou du code source. Ils sont disponibles sur -ftp://ftp.fdn.org/pub/CTAN/web/noweb/ et ftp://ftp.fdn.org/pub/CTAN/web/nuweb/. Pour plus de détails, -consulter : http://www.cs.purdue.edu/homes/nr/noweb/. - -* SpiderWEB, de N. Ramsey, dérivé de CWEB, est disponible sur -ftp://ftp.fdn.org/pub/CTAN/web/spiderweb/. SpiderWEB permet de gérer la plupart -des langages, tant que les blancs et les tabs ne sont pas -critiques, tout en assurant le pretty-printing. Quelques heures -suffisent pour ajouter un nouveau langage, sans avoir à tout -recompiler. Un certain nombre de langages sont supportés dans la -distribution (C, ADA, awk, etc.) - -* DOC++ est disponible à : -http://www.ZIB-Berlin.DE/VisPar/doc++/doc++.html -Il se base sur les infos dans les commentaires. Il structure -bien les classes, mais est un peu rigide au niveau des -possibilités. Génère du LaTeX ou du HTML. - -* wflman est disponible à : -ftp://ftp.keck.hawaii.edu/pub/wlupton/wflman-2.1.1.tar.Z -générateur automatique de doc au choix LaTeX, RTF, man et HTML. - -# 23.3 # Comment convertir du LaTeX en word ? ---------------------------------------------- -TeXport, de K-Talk permet de convertir vos fichier TeX -et LaTeX en documents WordPerfect ou Microsoft Word. Il traite -les styles de fontes, les notes de bas de page, les caractères -grecs, les mathématiques, les tableaux simples, les accents -européens, ainsi que les commandes \def et \renewcommand. - -Ce logiciel est payant (et cher). Pour plus de détails, voir : -http://www.ktalk.com/. - -# 23.4 # Comment convertir du word en LaTeX ? ---------------------------------------------- -* - -* Il y a l'outil "Publishing Companion" de K-Talk (voir -http://www.ktalk.com/). - -* Wd2latex, pour MS-DOS, est disponible sur -ftp://ftp.fdn.org/pub/CTAN/dviware/wd2latex/. Cet utilitaire paraît somme toute assez -rudimentaire. - -* Word2x disponible sur ftp://ftp.fdn.org/pub/CTAN/tools/word2x/ permet de -convertir du Word 6.0 en texte ou en LaTeX. - -* Voir également texcnven dans -http://www.kfa-juelich.de/isr/1/texconv/pctotex.html. - -# 23.5 # Comment convertir du scribe en LaTeX ? ------------------------------------------------ -s2latex, de V. Jacobson, fait partie de la ditribution GUTenberg -pour Unix. Celle-ci est disponible par ftp sur -ftp://ftp.gutenberg.eu.org/pub/gut/distribunix/. - -# 23.6 # Comment convertir du WordPerfect en LaTeX ? ----------------------------------------------------- -* wp2latex, de R.C. Houtepen, est disponible sur -ftp://wuarchive.wustl.edu/mirrors/msdos/tex/ et sur -ftp://ftp.fdn.org/pub/CTAN/support/wp2latex/. wp2latex a été écrit pour PC en Turbo -Pascal. Il travaille à partir d'un document WordPerfect5.0. On -note quelques limitations concernant les indices, la table des -matières, les marges et les graphiques. - -* wp2latex, de G. Geers (glenn@qed.physics.su.oz.au), a été -écrit en C. Il devrait être étendu à WordPerfect 5.1. La version -la plus récente est disponible par ftp sur -ftp://suphys.physics.su.oz.au/wp2latex/ ou sur -ftp://ftp.fdn.org/pub/CTAN/support/wp2latex/glenn/. - -* texperf est disponible sur ftp://ftp.fdn.org/pub/CTAN/support/texperf/. - -# 23.7 # Comment convertir du LaTeX en RTF ? --------------------------------------------- -Le format RTF (Rich Text Format) correspond à un format ASCII -contenant des informations de formatage lisibles (entre autres) -par Word pour DOS, Word pour Windows et Word pour Macintosh. -Pour plus d'informations sur ce format, voir : -ftp://ftp.primate.wisc.edu/pub/RTF/index.html ou -ftp://ftp.lps.u-psud.fr/pub/doc/gc0165.zip et -ftp://ftp.lps.u-psud.fr/pub/doc/gc1282.exe. - -* TeX2RTF, est disponible sur ftp://ftp.fdn.org/pub/CTAN/support/tex2rtf/ ou -par ftp sur ftp://ftp.aiai.ed.ac.uk/pub/packages/tex2rtf/. -Il tourne sous SPARC Open Look, SPARC Motif et Windows3.1. -TeX2RTF ne gère pas les formules mathématiques ni les tableaux -compliqués. - -* LaTeX2rtf, de F. Dorner et A. Granzer, est disponible sur -ftp://ftp.fdn.org/pub/CTAN/support/latex2rtf/. Il s'appuie sur LaTeX 2.09. Une version -est également disponible sur -ftp://ftp.lps.u-psud.fr/pub/ltx2rtf/ltx2rtf.zip. - -LaTeX2rtf produit du RTF avec la simple commande (sous DOS): - ltx2rtf srcltx.tex -qui produit - srcltx.rtf - -ATTENTION : 1. Ça ne traite pas toutes les maths mais ça traduit - du texte LaTeX pour être relu en Word. - 2. L'exécutable 386 est fourni mais il y a un - makefile qui compile le tout pour UNIX - 3. Les lettres accentuées au codage 850 ne sont pas - traduites correctement, utiliser le codage 7bits - (\'e, \^i, etc). - 4. Ça utilise la numérotation automatique pour les - sections, les chapitres, etc. Mais les nombreux bugs - que j'ai découverts dans Word 6.0 rendent la - présentation un peu aléatoire. - 5. Ça traite les << et les >> pour les guillemets. - 6. Ça traite (sauf erreur) les commandes de - changements de polices de LaTeX2e du genre - \bfseries, \ttfamily, \sffamily, \slshape et les - tailles de polices. - -# 23.8 # Comment convertir du RTF en (La)TeX ? ----------------------------------------------- -* rtf2TeX (Unix), de R. Lupton (rhl@astro.princeton.edu), est -disponible sur ftp://ftp.fdn.org/pub/CTAN/support/rtf2tex/. - -* rtf2latex (Unix), de E. Wechtl, est disponible sur -ftp://ftp.fdn.org/pub/CTAN/support/rtf2latex/. - -* rtf2latex2e (Mac, Unix, Win), d'Ujwal Sathyam, est disponible -sur ftp://ftp.fdn.org/pub/CTAN/support/rtf2latex2e/. - -* w2latex, de J. Garmendia et J.L. Maltret, est disponible sur -ftp://ftp.fdn.org/pub/CTAN/support/w2latex/. w2latex est un outil de conversion -entre deux formats descripteurs de texte, permettant de -traduire un document rédigé sous certaines versions de -Word pour obtenir du code LaTeX . - -* RTFLATEX, de D. Taupin, est capable de transcrire un fichier -RTF en LaTeX et de lui associer des fichiers de macros (.sty). -Toutefois, il ne traite pas encore les formules ni les tables. -RTFLATEX est disponible sur ftp://ftp.fdn.org/pub/CTAN/support/rtflatex/ ou par -ftp sur ftp://hprib.lps.u-psud.fr/pub/rtflatex/. - -# 23.9 # Comment convertir du Excel en LaTeX ? ----------------------------------------------- -* Le package 'Tabular', de A. Gjestland, est disponible par ftp -sur ftp://ftp.ssh.no/pub/tabular/. Il existe deux versions -Tabular4.xla pour Excel4 et Tabular5.xla pour Excel5. Une -documentation est également disponible : docu-tab.ps.Z. Vous -pouvez aussi consulter la page WEB -http://www.ssh.no/~ag/tabular/docu-tab.html. Pour tous -renseignements, contacter l'auteur par e-mail : ag@hsh.no. - -* Il existe également l'utilitaire Excel2LaTeX disponible sur le -WEB à -http://www.informatik.uni-trier.de/CIP/marder/xl2latex.zip. - -# 23.10 # Comment convertir du HTML en LaTeX ? ----------------------------------------------- -* http://www.w3.org/hypertext/WWW/Tools/html2things.html -propose un certain nombre d'outils de conversion à partir d'un -document html. - -* html2latex, de N. Torkington, est disponible à -http://www.w3.org/hypertext/WWW/Tools/html2latex.html ou sur -ftp://ftp.fdn.org/pub/CTAN/support/html2latex/. Cet outil semble assez limité. Il -est basé sur le parser HTML de Mosaic (NCSA). - -* h2l, de J. Korpela, est disponible à -http://www.hut.fi/~jkorpela/h2l/. Il est un peu plus complet que -le précédent mais doit encore être complété. Une documentation -est également prévue. - -Remarque : HTML étant à la base du SGML, une autre solution (non - testée) serait d'utiliser un traducteur SGML->LaTeX. - Le système 'linuxdoc-sgml' devrait pouvoir faire ça - si on lui donne la DTD de la version d'HTML concernée - et les règles de traduction. Pour plus de détails - consulter le document disponible sur - ftp://ftp.loria.fr/pub/linux/sunsite/utils/text/linuxdoc-sgml-*.tar.gz - -* techexplorer disponible sur -http://www.ics.raleigh.ibm.com/ics/techexp.htm est un Browser -Hypermedia qui met en forme des documents scientifiques écrits en -LaTeX pour les présenter sous forme HTML. Il gère notamment les -expressions mathématiques. Il est compatible avec les -navigateurs Netscape 3.0 et avec MicroSoft Internet Explorer. -Pour plus de détails voir la mailing liste -techexplorer@LISTSERV.NODAK.EDU. - -* Le package 'typehtml' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/carlisle/ permet de lire des -fichiers HTML2 et les mathématiques dans HTML3.0. - -# 23.11 # Comment convertir du LaTeX en HTML ? ----------------------------------------------- - Remarque : IDVI est un outil qui permet de présenter des - documents WWW à partir de sources LaTeX. IDVI - est une implémentation Java d'un viewer dvi qui - permet d'afficher des pages LaTeX sur le WEB et non - plus un document HTML. Pour plus de détails, - consulter : http://www.geom.umn.edu/java/idvi/ - -* LaTeX2HTML pour Windows 95, NT et UNIX, de N. Drakos (Perl), -est disponible sur ftp://ftp.fdn.org/pub/CTAN/support/latex2html/. Pour plus de -détails, consulter : http://saftsack.fs.uni-bayreuth.de/~latex2ht/. - -Remarque : le package 'html' permet d'insérer dans le source - LaTeX des commandes traitées de manière spéciale par - le convertisseur latex2html. - -Il existe également une liste de discussion latex2html à -laquelle on peut s'abonner en envoyant un mail subscribe -latex2html [<address>] à majordomo@mcs.anl.gov - -La nouvelle version de LaTeX2HTML est la 96.1. Une documentation -est disponible en ligne à l'irisa dans -/usr/local/doc/LaTeX/latex2html.ps. - -* Il est possible également d'utiliser hyperlatex, qui produit -des documents HTML plus jolis pour peu que votre source LaTeX -suive certaines conventions. Pour plus de détails, consulter : -http://www.cs.ruu.nl/pub/SGI/IPE/Hyperlatex-1.4pl2.tar.gz ou -encore sur ftp://ftp.fdn.org/pub/CTAN/support/hyperlatex/. - -ATTENTION : cet utilitaire nécessite l'utilisation de LaTeX2e et - de emacs. - -* A voir également : OmniMark sur http://www.omnimark.com§. - -* Il existe également ltx2x disponible sur ftp://ftp.fdn.org/pub/CTAN/support/. - -* TeX4ht est un environnement configurable qui permet de -générer des documents hypertextes. Pour plus de détails, voir : -http://www.cis.ohio-state.edu/~gurari/TeX4ht/mn.html - -* HeVeA est un programme gratuit destiné à transformer un source -LaTeX en HTML 4.0. Ce programme est disponible à l'URL -<http://para.inria.fr/~maranget/hevea> -C'est un interpréteur du langage TeX. Donc toutes les nouvelles macros, -tous les environnements que l'on peut définir sont correctement interprétés, -que l'on peut charger des fichiers de style exotiques, etc. si l'on désire -obtenir un résultat particulier dans la sortie HTML. HeVeA transforme -les formules mathématiques en HTML 4.0 « pur » (sans graphique) en utilisant -la fonte symbole, des tags de positionnements fins et des tables. -(Contribution dûe à Éric Brunet) - -* ltoh est un script perl paramétrable. Il sait gérer différents -types de macros, les tables, la plupart des caractères spéciaux, -etc. Pour plus de détails, voir : -http://www.best.com/~quong/ltoh/ - -* mn de E. Gurari est un convertisseur plain TeX ou LaTeX vers -HTML. Il est hautement configurable. Cet outil est disponible -sur : http://www.cis.ohio-state.edu/~gurari/TeX4ht/mn.html. - -* Webbuilder de MicroPress, est un éditeur TeX qui permet de -générer du code HTML. Il gère aussi bien les commandes TeX que -les macros utilisateur. Tous les environnements mathématiques, -tables, notes de bas de page, table des matières, références, -listes, etc, sont gérés. La plupart des documents LaTeX peuvent -facilement être convertis. Webbuilder est disponible sous Win95, -NT, ou Win 3.1 (Win32s nécessaire). Pour plus de détails et -quelques exemples, consulter : http://www.micropress-inc.com/. -Pour toutes questions écrire à support@micropress-inc.com. - -* TTH est un convertisseur TeX to HTML disponible sur : -http://hutchinson.belmont.ma.us/tth/. Il gère les mathématiques -(il convertit les formules mathématiques au lieu d'en faire des -images) et reconnaît les structures de document plain TeX et -LaTeX qu'il convertit en hyperliens. TTH est rapide et portable. - -* Le package 'typehtml' de D. Carlisle permet de gérer des -documents HTML directement depuis le source LaTeX. Ce package -est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/carlisle/. - -# 23.12 # Comment convertir un fichier dvi en ascii ? ------------------------------------------------------ -* dvi2tty est disponible sur ftp://ftp.fdn.org/pub/CTAN/dviware/dvi2tty/. - -* dvispell de la distribution EmTeX permet également de -convertir un fichier dvi en fichier texte. - -# 23.13 # Comment convertir du WEB en LaTeX ? ---------------------------------------------- -SchemeWEB, de J. Ramsdell, est disponible sur -ftp://ftp.fdn.org/pub/CTAN/web/schemeweb/. - -# 23.14 # Comment convertir du TeX en Framemaker ? --------------------------------------------------- -Framemaker dispose d'un filtre permettant d'importer des -fichiers TeX. - -# 23.15 # Comment enlever les balises LaTeX d'un document ? ------------------------------------------------------------ -detex, disponible sur ftp://ftp.fdn.org/pub/CTAN/support/detex/, permet -d'enlever toutes les commandes et séquences de contrôle LaTeX -d'un document. Il existe sous Unix, Doc et Mac. - -ATTENTION : detex n'enlève que les macros, et pas leurs - arguments, ce qui donne des résultats pas - toujours très propres avec des documents LaTeX. - -# 23.16 # Comment convertir du SGML en (La)TeX ? ------------------------------------------------- -Remarque : SGML = Standard Generic Markup Language - SGML est une norme de balisage de documents structurés - - Pour plus de détails, consulter : - http://www.gutenberg.eu.org/publicationsPS/19-sgml.ps.gz - http://www.sil.org/sgml/sgml.html - http://cals.debbs.ndhq.dnd.ca/french/bulletin/issue02/index.html (en français !) - -* sgmlspm, de D. Megginson, (Perl) est disponible à -http://www.connection.co.uk/bob/sgml/SGMLSpm/sgmlspl/sgmlspl.html. - -* stil, de J. Schrod et C. Detig, (Common Lisp) est disponible -par ftp sur ftp://ftp.th-darmstadt.de/pub/text/sgml/stil/. - -Ces deux outils s'appuient sur le parser nsgmls de J. Clark qui -traduit du SGML en ESIS. - -* linuxdoc-sgml s'appuie aussi sur sgmls de J.Clark. - -* sgml2tex, de P. Flynn, sur PC est disponible sur -ftp://ftp.fdn.org/pub/CTAN/support/sgml2tex/. - -# 23.17 # Comment convertir du WinWord en LaTeX ? -------------------------------------------------- -* WINW2LTX, de A. Cottrell, est disponible sur -ftp://ftp.fdn.org/pub/CTAN/support/winw2ltx/english/ww2/ pour WinWord2, et -ftp://ftp.fdn.org/pub/CTAN/support/winw2ltx/english/ww6/ pour WinWord6. Il ne traite ni les -équations, ni les graphiques. - -# 23.18 # Comment convertir un fichier 8 bits en fichier 7 bits ? ------------------------------------------------------------------ -* B. Raichle a fourni un tel convertisseur parfaitement portable -qui se présente sous forme d'un programme ".tex" appelé -convert.tex. Celui-ci est disponible sur -ftp://ftp.fdn.org/pub/CTAN/language/typingtex/. - -Il existe également une version modifiée par L. Siebenmann dans -/Convert-RaichleHacked.dir/ (interface modifiée, ajout de -quelques tables de transformation dont mac2dek.tbl ou pc2dek -pour la conversion du Macintosh ou du PC vers la syntaxe -classique de Knuth \'e, \c{c} etc.). - -* L'outil Tower of Babel (avec option TeX activée), permet -également de réaliser de telles conversions. Il est disponible -par ftp sur ftp://ftp.lip6.fr/pub/mac/info-mac/text/tower-of-babel-13.hqx. - -* recode de F. Pinard est un programme unix (GNU) qui convertit -tous types de fichiers texte. De nombreux formats sont supportés -(ASCIIs, EBCDIC, CDC, LaTeX, etc). - -Exemple : -recode latin1:applemac <fichier> -pour une conversion 7 bits vers 8 bits -%%%% fin exemple %%%% - -* dans emacs, le package iso-cvt.el, peut convertir -automatiquement un fichier codé 7 bits en fichier codé 8 bits -(et réciproquement) lors de la lecture et de l'écriture. Pour -l'utiliser, ajouter (require iso-cvt) dans .emacs. Le fichier -sera alors en 7 bits sur le disque. - -* De même, il existe le package x-symbol pour (X)emacs. Pour -plus de détails, voir -http://brahms.fmi.uni-passau.de/~wedler/x-symbol.html. - -* Il existe également les utilitaires kb7to8/8to7 distribués -avec 'french'. - -# 23.19 # Comment convertir un fichier ChiWriter en TeX ? ---------------------------------------------------------- -chi2tex est disponible sur ftp://ftp.fdn.org/pub/CTAN/support/chi2tex/. Il y a -plusieurs versions du convertisseur, selon la version de -ChiWriter à convertir. A partir des versions 2 ou 3 cela ne -marchait que pour des fichiers très simples (pas plus d'un -niveau d'exposant et d'indice, etc). Il est probable que le -convertisseur de la version 4 marche beaucoup mieux : il fait -une analyse syntaxique des formules, alors que les versions 2 et -3 étaient purement graphiques. - -# 23.20 # Où trouver une FAQ de convertisseurs (La)TeX/Traitement de texte ? ----------------------------------------------------------------------------- -* La FAQ de W. Hennings est disponible sur -http://www.kfa-juelich.de/isr/1/texconv.html ou sur -ftp://ftp.fdn.org/pub/CTAN/help/wp-conv/. - -Elle est également postée toutes les semaines dans comp.text.tex. -AL: Ceci ne semble plus être le cas... - -* Voir également la page http://www.wotsit.demon.co.uk/text.htm -ou la page http://wotsit.simware.com/. - -# 23.21 # Comment convertir une image en police metafont ? ----------------------------------------------------------- -C'est le programme bm2font qui permet de faire cela. Il est -disponible sur CTAN. La documentation est aussi sur le LaTeX -Navigator (http://www.loria.fr/services/tex/). - -Pour plus de détails sur metafont il existe la liste -metafont@ens.fr. Pour s'inscrire, envoyez à - listserv@ens.fr -le message : - SUBSCRIBE metafont nom de forme libre - -# 23.22 # Comment convertir un fichier postscript en ascii ? ------------------------------------------------------------- -pstotext est un outil Unix freeware qui permet d'extraire du -texte ascii d'un fichier postscript. Il utilise Ghostscript. -pstotext est disponible à -http://www.research.digital.com/SRC/virtualpaper/pstotext.html. - -Sous Windows et OS/2 pstotext est accessible via l'outil GSview -de R Lang (version 2.0 minimum). Voir -http://www.cs.wisc.edu/~ghost/gsview/. - -Pour DOS, pstotext est disponible à -http://www.cs.ruu.nl/~piet/software.html. - -# 23.23 # Comment convertir un fichier pdf en ascii ? ------------------------------------------------------ -L'outil pstotext présenté à la question précédente permet -également d'extraire du texte ascii d'un fichier pdf. - -# 23.24 # Comment convertir du LaTeX en PDF ? ---------------------------------------------- -Remarque : il vaut nettement mieux demander à LaTeX de travailler - avec des polices PostScript, si l'on compte - transformer le document en PDF par la suite. Si vous - utilisez des polices à résolution fixe, le texte - aura une apparence on ne peut plus laide sur votre - écran. - -* L'utilitaire ps2pdf de ghostscript (version 4.01 au moins) -permet de convertir des fichiers postscript au format PDF -d'Adobe. Ghostscript version 4.02 est disponible par ftp sur -ftp://ftp.cs.wisc.edu/pub/ghost/aladdin/. -Sur mac, ps2pdf livré avec cmactex, nécessite l'installation de -psview disponible par ftp sur ftp://ftp.lip6.fr/pub/mac/local/tex/cmactex/. - -* il existe une version préliminaire de PDFTeX (disponible pour -faire des tests). PDFTeX est un moteur tex qui permet de -produire directement un fichier PDF sans passer par DVI. Il -dispose donc en natif d'un support pour les objets graphiques et -les liens hypertextes. PDFTeX est disponible pour WinNT/Win95 -par ftp sur ftp://ftp.ese-metz.fr/pub/TeX/private/pdftex/. - -T. Bouche a créé une page w3 de présentation de pdftex avec -trois fichiers pdf créés de cette façon : -http://www-fourier.ujf-grenoble.fr/~bouche/PDFtex/. - -Il existe également une liste de discussion à ce sujet : -pdftex@tug.cs.umb.edu. - -* Adobe Acrobat Distiller permet avec des fontes simples de -générer des fichiers PDF à partir de postscripts. Dans ce cas, -il vaut mieux utiliser des fontes de type1 car les bitmaps de -tex sont très très mal rendus par acrobat reader. Pour plus de -détails consulter http://www.adobe.com/. - -* Netpbm est un paquet d'utilitaires domaine public permettant -des manipulations d'images, en les convertissant en un format -PPM (Portable PixMap), très facile à manipuler par programmes. -Il est disponible pour MSDOS dans -ftp://ftp.lps.u-psud.fr/pub/pc/netpbm/. Une version Win32 -(Win95, NT) est également disponible sur tout site CTAN tel que -ftp://ftp.fdn.org/pub/CTAN/systems/win32/web2c/. - -# 23.25 # Comment définir son propre format de sortie ? -------------------------------------------------------- -ltx2x disponible sur ftp://ftp.fdn.org/pub/CTAN/support/ltx2x/ permet de -remplacer des commandes LaTeX par des commandes définies par -l'utilisateur. - -================================================================ -[24] PRÉVIEWERS ET VIEWERS -================================================================ - -Les viewers et previewers présentés ci-dessous peuvent permettre -entre autres de visualiser des documents .dvi et .ps. -Toutefois, ils ne sont pas attachés à LaTeX. - -# 24.1 # Où trouver un previewer ? ----------------------------------- -* dvipage pour SunView est disponible par ftp anonyme sur : -ftp://archive.cis.ohio-state.edu/dviware/dvipage/ ou sur -ftp://ftp.fdn.org/pub/CTAN/dviware/dvipage/. - -* xtex pour X Window System disponible par ftp anonyme sur -ftp://ftp.cs.colorado.edu/pub/cs/misc/SeeTeX/SeeTeX/SeeTeX-*.tar.Z -ou sur ftp://ftp.fdn.org/pub/CTAN/dviware/seetex/. - -* dviapollo pour stations Apollo disponible par ftp anonyme sur -ftp://alabrea.stanford.edu/pub/dviapollo.tar.Z ou sur -ftp://ftp.fdn.org/pub/CTAN/dviware/dviapollo/. - -* dvidis pour VAXstation sous VWS disponible par ftp anonyme sur -ftp://src.doc.ic.ac.uk/packages/tex/dviware/dvidis/ ou sur -ftp://ftp.fdn.org/pub/CTAN/dviware/dvidis/. - -* xdvi pour X Window System disponible par ftp anonyme sur -ftp://ftp.x.org/contrib/xdvi.tar.Z ou sur -ftp://ftp.fdn.org/pub/CTAN/dviware/xdvi/. - -* dviwin sous Windows est disponible sur CTAN. - -* xdvik de K. Berry est disponible sur -ftp://ftp.fdn.org/pub/CTAN/dviware/xdvik/. - -* dvitovdu pour Tektronix 4010 et autres terminaux sous Unix -est disponible sur ftp://ftp.fdn.org/pub/CTAN/dviware/dvitovdu/. - -* texsgi pour SGI sous Irix disponible par ftp anonyme sur -ftp://ftp.brl.mil/info-iris/tex/ ou sur -ftp://ftp.fdn.org/pub/CTAN/dviware/texsgi/. - -# 24.2 # Où trouver un viewer ? -------------------------------- -* Ghostscript, Ghostview et GSview pour PC, Mac et station de -travail sont disponibles sur -http://www.cs.wisc.edu/~ghost/index.html. - -* viewps de T. Kiffe est inclu dans la distribution CMacTeX -disponible sur CTAN. - -* TrueTeX est un viewer pour PC sous windows. - -* gv est une interface basée sur Ghostview et améliorée. Les -actions disponibles sont nombreuses et il est possible de -lire un document sur écran. On dispose aussi de l'anti-aliasing -et de zooms impressionnants sur les parties de la page que l'on -veut. gv peut même afficher des fichiers PDF si on dispose de -la version de GhostScript adéquate. - -Pour plus de détails consulter : -http://wwwthep.physik.uni-mainz.de/~plass/gv/ ou un site FTP : -ftp://thep.physik.uni-mainz.de/pub/gv/. - -gv tourne sur les versions d'Unix les plus courantes, il faut -néanmoins disposer du widget Xaw3d. - -# 24.3 # Comment visualiser des fichiers non postscript sous xdvi ? -------------------------------------------------------------------- -D. Barbier propose le script suivant pour inclure des fichier MPS -générés pas Metapost. - -La démarche retenue est de pomper dans le .ps toutes les -définitions qui manquent à ce pauvre xdvi. Par exemple, pour voir -les dessins dans le fichier essai.tex, je fais : - makepro essai.tex -Ce qui génère essai.ps (s'il est vieux) et produit un fichier -essai.pro. Il ne reste plus qu'à mettre \special{header=essai.pro} -avant le \begin{document} et le tour est joué. Quand on modifie -le source (on rajoute des dessins), il suffit de relancer -makepro, et de recompiler le document. - -Quelques remarques : -+ il faut une version de xdvi >= 20 -+ on peut sans encombres utiliser plusieurs fois cette commande -sur le même fichier ; -+ pour faire le .ps final, il faut enlever -\special{header=essai.pro} et recompiler ; -+ s'il y a des problèmes d'échelle, essayer de modifier des paramètres -dans la définition de fshow et fstore. -+ je travaille en 600dpi ; - -Comme je ne connais pas grand chose en PostScript, toutes les -remarques seront les bienvenues. Par exemple, les paramètres -dans fshow et fstore sont mis au pif. Quelles sont les bonnes -valeurs ? Comment faire pour que Psfrag passe à la moulinette ? -Et bien d'autres choses. - -%%%% debut macro %%%% - #!/bin/sh - # D. Barbier 31/10/97 barbier@cmapx.polytechnique.fr - # Commande : makepro nom_de_fichier - # Usage : voir ci-dessous (ou taper makepro -h) - - usage="Usage: `basename $0` nom[.tex]\n\ - Cree un preambule \"nom\".pro qui permet l affichage - des fichiers non postscript (inclus par \"nom\") avec - xdvi (version 20 et plus).\n\ - Les applications sont notamment l inclusion de fichiers - generes par Metapost." - - case "$#:$1" in - 1:-h*|1:--h*) echo "$usage"; exit 0;; - 1:*) ;; - *) echo "$usage"; exit 1;; - esac - - if test -r "$1" ; then - filetex=$1 - file=`echo "$filetex" | sed -e 's/\.[^.]*$//'` - else - file=$1 - filetex=$file.tex - if test ! -r "$filetex" ; then - echo "Erreur: le fichier $file n existe pas" - exit 1 - fi - fi - filedvi=$file.dvi - fileps=$file.ps - filepro=$file.pro - rm -f $filepro - - # On teste si la commande \special{header=...} - # est dans le fichier - # Autant ne faire qu'une compilation avant de - # voir le resultat - ligne="\\\\special{header=$filepro}" - if test -z "`grep $ligne $filetex`" ; then - echo "Rajouter la comande $ligne avant \\\\begin{document}" - exit 1 - fi - - echo "%!" > $filepro - - # On ne compile le .tex que si necessaire. Il y a - # plusieurs possibilites pour voir la date de modification - # des fichiers : - # 1) utiliser newer fourni avec certaines distributions de TeX - # (je n'ai pas reussi a le faire marcher). - # 2) test (si l'option -nt est supportee) - # 3) creer un makefile. - # J'ai choisi cette derniere solution - - echo "$filedvi: $filetex\n\tlatex $filetex\n\ - $fileps: $filedvi\n\tdvips -o $fileps $filedvi\n" > .tmp$$ - - make -f .tmp$$ $fileps - - rm -f .tmp$$ - - awk ' - # Liste des preambules qu on veut utiliser - BEGIN {header["tex.pro"]=1;header["texps.pro"]=1} - /%%BeginProcSet:/ { if ( header[$2] == 1 ) {getline - while ( $1 != "%%EndProcSet" ) {print;getline}}} - /%%EndProlog/ {exit 0} - ' $fileps | - # On supprime la creation des dictionnaires. - sed -e 's%/TeXDict [[:digit:]]* dict \([[:alpha:]]*\)%%' \ - -e 's%/SDict [[:digit:]]* dict \([[:alpha:]]*\)%%' \ - >> $filepro - - # Ce sont les commandes qui font l affichage. - # En remplacant les commandes de finclude.pro par celles-ci, - # ca a l air de marcher - - cat << EOF >> $filepro - /fstore{TeXDict begin /VResolution 120 def /Resolution 120 - def end - dup dict exch{dup 4 2 roll put}repeat def}bind def - /fshow{gsave 72 TeXDict /Resolution get div -72 TeXDict - /VResolution get div scale 1 - 5 div dup scale get cvx exec show grestore}bind def - EOF - - # Et la, ce sont les commandes de fontes - awk ' - /TeXDict begin ([[:digit:]]* ){5}/ {i++} - /TeXDict begin ([[:digit:]]* ){5}/,/end/ {if (i==1) print} - /%%EndProlog/ {exit 0} - ' $fileps >> $filepro - - echo "Fichier $filepro genere" - - exit 0 -%%%% fin macro %%%% - --- -Benjamin Bayart -bayartb@edgard.fdn.fr diff --git a/Master/texmf-doc/doc/french/FAQ-fr/part6 b/Master/texmf-doc/doc/french/FAQ-fr/part6 deleted file mode 100644 index 99454a01f6a..00000000000 --- a/Master/texmf-doc/doc/french/FAQ-fr/part6 +++ /dev/null @@ -1,2261 +0,0 @@ -Path: tempo.univ-lyon1.fr!univ-lyon1.fr!howland.erols.net!newsfeed.skycache.com!Cidera!netnews.com!opentransit.net!proxad.net!teaser.fr!fdn.fr!edgard.fdn.fr!not-for-mail -Date: 08 Jun 2001 13:31:18 +0200 -Newsgroups: fr.comp.text.tex,fr.usenet.reponses -Subject: [FAQ] fr.comp.text.tex - parties 25 a 30 -Message-ID: <faq-fctt-p620010608133118@edgard.fdn.fr> -X-Posted-By: poste.sh version 1.1 -From: bayartb@edgard.fdn.fr (Nono le robot) -Supersedes: <faq-fctt-p620010501143417@edgard.fdn.fr> -Expires: 08 Jul 2001 13:31:17 +0200 -Followup-To: poster -Organization: French Data Network -Approved: bayartb@edgard.fdn.fr -Lines: 2251 -Xref: tempo.univ-lyon1.fr fr.comp.text.tex:23527 fr.usenet.reponses:20393 - -Archive-name: fr/faq-latex-francaise/part6 - -Author: Marie-Paule Kluth -Posting-Frequency: mensuel (monthly) -Version: 2.27 - -================================================================ - Cette FAQ, rédigée initialement par MP Kluth est maintenant - tenue à jour autant que possible par B. Bayart et - plusieurs volontaires (voir question [30]). -================================================================ - -================================================================ -[25] LOGICIELS DE DESSINS -================================================================ - -# 25.1 # Où trouver un logiciel de dessin ? -------------------------------------------- -* Xfig est un logiciel de dessin disponible sur station de -travail Unix sous X Window System. Il permet via des menus de -manipuler des objets de façon interactive dans une fenêtre X -Window. Il nécessite une souris à trois boutons. Il est -disponible par ftp anonyme sur ftp://epb1.lbl.gov/xfig -ou sur ftp://ftp.fdn.org/pub/CTAN/graphics/xfig/. -Son gros avantage est de permettre l'utilisation de -commandes LaTeX (formules mathématiques). Il est capable -d'exporter une figure directement en format TeX ou de -générer de l'encapsulated postscript (si l'on veut des -zones grisées ou des choses de ce type, il faut passer par -un fichier postscript). - -* PSfrag permet également de combiner du dessin et des textes -LaTeX. Il nécessite LaTeX2e et le package 'graphics'. Il est -disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/psfrag/. - -* TeXcad, permet de créer des fichiers de dessin. Le principe -est intéressant puisque cet outil permet de dessiner à l'aide de -la souris et de menus et lui le transforme en commandes LaTeX. -Il permet l'utilisation de la commande \special (cf. paragraphe -29.8). TeXcad est disponible sur PC (il fait partie de la -distribution emTeX) et sous Unix et Linux (on peut le trouver -dans ftp://ftp.fdn.org/pub/CTAN/systems/unix/linux/). - -* Xy-pic permet de réaliser des diagrammes commutatifs, des -automates, et plein d'autres choses (cf. paragraphe 8.6). - -* xgraphic offre une très bonne qualité de dessin. Il est -disponible à -http://blanche.polytechnique.fr/XGRAPHICS/xgraphics.html. - -* tgif permet également de dessiner des figures. Il est -disponible à http://bourbon.cs.columbia.edu:8001/tgif/. -Il peut faire appel à différentes librairies (cf. -http://bourbon.cs.columbia.edu:8001/tgif/current.html) dont une -LaTeX qui permet entre autres de gérer des équations -mathématiques. - -* LaTeXcad sous Windows3.x et Windows '95 permet de convertir -des figures en commandes LaTeX. Il est disponible sur -ftp://ftp.fdn.org/pub/CTAN/systems/msdos/latexcad/. - -* MetaPost que l'on peut trouver dans la distribution CMacTeX -peut produire des figures PostScript. Les commandes MetaPost -permettent entre autres d'obtenir directement des cercles, des -segments et des courbes de Bezier ; en outre, on peut nommer des -points en précisant leurs coordonnées ou en indiquant les -chemins à l'intersection desquels ils se trouvent. MetaPost -offre d'autres possibilités, bien décrites dans le manuel qui -l'accompagne. - -Pour plus de détails, -consulter http://www.loria.fr/~roegel/metapost.html. - -* Pagedraw sous Windows 3.1/95/NT permet de générer des fichiers -postscript. Il est disponible sur ftp://ftp.fdn.org/pub/CTAN/graphics/pagedraw/. - -Remarque : Il y a un excellent éditeur vectoriel GRATUIT sous - windows, nommé MayuraDraw (anciennement PageDraw) - et que l'on peut trouver sous - http://www.wix.com/PageDraw/ - - Avec Ps2ai, cet éditeur permet d'importer des - fichiers ps (presque) quelconques, de les manipuler - et de les exporter au format pdf, eps, wmf, ai, ps, - bmp et tif. - -* Qfig est un logiciel de dessin sous DOS. Il génère des -fichiers PicTeX et EPIC. Il est disponible sur -ftp://ftp.fdn.org/pub/CTAN/support/qfig/. - -* PovRay est un outil de ray-tracing. Il permet de manipuler -des formes géométriques, des plans, des textures des sources de -lumières, etc. Consultez http://www.povray.org/. - -* Gimp est une application UNIX qui s'appuie sur X Window -system. GIMP permet de manipuler des images pour faire des -retouches sur des photos, des compositions d'images, etc. Pour -plus de détails, consultez : -http://www.gimp.org/. -A noter, gimp tourne aussi sous Windows. - -* Sous Windows 3.1/95/NT il existe également Paint Shop Pro qui -est shareware. Pour plus d'informations, consultez -http://www.jasc.com/. - -* Le package 'mfpic' de T. E. Leathrum et G. Tobin permet -également de faire des dessins, directement dans le source. Son -intérêt est de rendre le document parfaitement portable sans -aucun soucis de compatibilité de format, ni d'envoi de fichiers -multiples. - -Le source d'un dessin mfpic doit être compilé par TeX puis -MetaFont et TeX à nouveau. Ce package est très bien adapté pour -des dessins mathématiques et géométriques. Les programmes -offrent une complexité remarquable (for .. upto .., if .. then -.. else .., calculs numériques, etc). - -Le principe de base du fonctionnement de mfpic est de créer une -police de caractère, dont chaque caractère sera un dessin (d'où -la nécessité de la compilation par Metafont, comme pour toute -nouvelle police). - -Remarque (R. Roussillon) : Ce package mériterait d'être plus - connu que ce qu'il est actuellement. - -Exemple : -\polyline{(0,0),(1,2),(3,-1)} -\arc[t]{(1,0),(1,1),(0.5,1)} -%%%% fin exemple %%%% - -# 25.2 # Comment inclure des formules Latex dans Xfig ? -------------------------------------------------------- -* Il suffit de mettre le flag special au texte, de taper son -texte LaTeX en incluant des commandes, d'exporter son fichier -(toto.fig par exemple) en deux parties : Combined PS/LaTeX (PS -part) Combined PS/LaTeX (LaTeX part) et de faire -\input{toto.pstex_t}, en ayant bien sûr chargé au préalable -le package 'epsfig' par la commande \usepackage{epsfig} placée -dans le préambule. - -* On peut utiliser également tgif qui permet d'insérer du LaTeX -dans les figures. Son fonctionnement est différent : le source -est compilé dans tgif même, et le résultat dvi est converti en -Postscript et apparaît dans la figure. Le positionnement dans la -figure de l'élément compilé est donc plus aisé, mais il est -assez contraignant de lancer LaTeX pour compiler chaque élément. - -# 25.3 # Comment gérer différents formats de figures ? ------------------------------------------------------- -* Sous Unix, Win95, Mac, VMS, l'outil ImageMagick, de J. Cristy, -permet de convertir de nombreux formats d'image vers un autre. -Il permet l'édition et la manipulation d'images. Pour plus de -renseignements, consulter -http://www.wizards.dupont.com/cristy/ImageMagick.html. -ImageMagick est disponible par ftp sur -ftp://ftp.wizards.dupont.com/pub/ImageMagick/. - -ImageMagick est également disponible pour VMS par ftp sur -ftp://ftp.wizards.dupont.com/pub/ImageMagick/vms/ ou sur -ftp://ftp.x.org/contrib/applications/vms/. - -* Transfig permet entre autres de convertir un fichier au format -fig en format postscript. -Il est disponible sur ftp://ftp.fdn.org/pub/CTAN/graphics/transfig/ ou -sur ftp://ftp.x.org/contrib/applications/drawing_tools/transfig. - -* GraphicConverter sur mac (en anglais, français ou allemand) -est capable de lire pratiquement tous types de fichiers -graphiques de toutes origines et de le sauvegarder dans un autre -format dont EPSF. Le programme est shareware et est disponible -sur info-mac. - -* tiff2ps (sous Unix), de S. Leffler, permet de convertir des -images au format tiff en format ps. Disponible sur CTAN: -ftp://ftp.fdn.org/pub/CTAN/support/pstools/tiff2ps. - -* GWSWIN11 ou Graphic Workshop pour Windows est disponible par -ftp sur ftp://hprib.lps.u-psud.fr/pub/pc/utils/. Cet outil -(shareware à $40) permet de convertir du PCX, TIFF, JPEG, GIF, -BMP, etc. Il sait convertir des fichiers à niveaux de gris en -fichier tramés ("dithered" en anglais) utilisable pour -l'impression sur des imprimantes noir-et-blanc comme nos -imprimantes laser. Pour le tramage, il propose 7 algorithmes et -la doc de 60 pages donne des conseils. Son tramage paraît -meilleur que celui d'ImageIn ou des scanners usuels. - -* Paint Shop Pro, outil pour PC, permet d'exporter des fichiers -en postscript qui pourront être appelés directement sous LaTeX. -Il est disponible à http://www.jasc.com/index.html en shareware -ou par ftp sur ftp://ftp.lip6.fr/pc/win95/desktop/psp*.zip ou -dans ftp://ftp.lip6.fr/pc/simtelnet/win3/Graphics/psp*.zip. - -* L'utilitaire gif2eps disponible par ftp sur -ftp://ftp.scn.rain.com/pub/graphics/. - -* Voir également les pages http://wotsit.simware.com/ ou -http://www.wotsit.demon.co.uk/text.htm pour des informations sur -des convertisseurs. - -================================================================ -[26] CORRECTEUR -================================================================ - -# 26.1 # Où trouver un correcteur orthographique ? --------------------------------------------------- -* ispell est disponible sur ftp://ftp.fdn.org/pub/CTAN/support/ispell/ ou sur -ftp://ftp.lip6.fr/pub/gnu/. Il peut être associé au dictionnaire -français de M. Boyer disponible par ftp sur -ftp://ftp.inria.fr/gnu/. ispell peut être associé à emacs (xemacs), NeXT. -Pour plus de renseignements, consulter -http://ficus-www.cs.ucla.edu/ficus-members/geoff/ispell.html. - -* Pour MS-DOS : -+ il existe amspell disponible sur -ftp://ftp.fdn.org/pub/CTAN/support/amspell/ ou jspell dans ftp://ftp.fdn.org/pub/CTAN/support/jspell/. -+ Micropell (commercial) peut être appelé depuis PCTeX pour -windows. - -* Pour Macintosh, Excalibur est disponible sur -ftp://ftp.fdn.org/pub/CTAN/systems/mac/support/excalibur/ avec plusieurs dictionnaires. -Pour plus de détails, voir : -http://www.eg.bucknell.edu/~excalibr/excalibur.html. - -* Pour VMS, il existe vmspell disponible sur -ftp://ftp.fdn.org/pub/CTAN/support/vmspell/. - -* On note également le mode ispell-minor-mode de emacs, qui est -capable de vérifier l'orthographe en ligne sans prendre en -compte les commandes LaTeX. - -* La distribution Full VTeX [DOS/Win] inclut un correcteur -orthographique (américain, anglais, français, allemand, -hollandais et italien). Pour plus de détails, consulter : -http://www.micropress-inc.com/. - -* L'éditeur textpad sous Win3.1x et Win95 est capable de -supporter des textes LaTeX et comprend de nombreux -dictionnaires. Pour plus de détails, consulter : -http://www.textpad.com/. - -* Le dictionnaire de R. Cougnenc peut s'utiliser en mode shell -sous DOS comme sous Linux. Il contient 95 000 mots et 39 000 -codes postaux, et permet de vérifier très rapidement une -orthographe. Ce dictionnaire est disponible sur la page web de -D. Trystram : -http://www.starnet.fr/Homepages/dtrystram/index.html. - -# 26.2 # Où trouver un vérificateur de syntaxe LaTeX ? ------------------------------------------------------- -* TeX est un outil puissant disponible par ftp sur -http://www.tex.ac.uk/. - -* lacheck, disponible avec la distribution AUC-TeX (mode (La)TeX -pour emacs) est capable de vérifier la syntaxe LaTeX et de -détecter les erreurs les plus fréquentes. - -* Le package 'syntonly' permet également de vérifier la syntaxe -LaTeX. - -Utilisation : - \documentclass[syntonly]{...} - -* ChkTeX, de J. T. Berger Thielemann (jensthi@ifi.uio.no), dont -la version v1.5 est disponible sur ftp://ftp.fdn.org/pub/CTAN/support/chktex/. -Il est capable de détecter des erreurs typographiques dans -LaTeX. Cet outil permet de s'affranchir de certaines -constructions LaTeX non intuitives. Les binaires pour UNIX, -Amiga, MSDOS et OS/2 sont disponibles. - -Quelques exemples de services : -+ pas d'espace ou assimilé après/avant une parenthèse -+ indique les espaces multiples qui ne sont pas équivalents à un -seul -+ gère la ponctuation en mode mathématique -+ indique les espaces avant une note de bas de page -+ gère les fichiers inclus -+ détecte les blancs avant une référence au lieu de ~ -+ vérifie les couples de parenthèses -+ gère l'espace après un passage en italique -+ ... - -Cet outil est configurable. Il supporte LaTeX209 et LaTeX2e. - -* Le package 'refcheck' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/refcheck/ permet de vérifier les -références d'un document. - -================================================================ -[27] ASSOCIATIONS -================================================================ - -# 27.1 # Qu'est ce que l'association GUTenberg ? ------------------------------------------------- -L'association GUTenberg (loi 1901) a pour objectifs de -regrouper les utilisateurs francophones de TeX, de favoriser -les échanges techniques permettant d'augmenter les possibilités -d'impression et de publications scientifiques et d'offrir à ses -adhérents un certain nombre de services dont des distributions -TeX et LaTeX francisées. Le serveur d'archives de GUTenberg est -herbergé sur le serveur ftp anonyme : -ftp://ftp.gutenberg.eu.org/pub/gut/ ou sur le WEB à -http://www.gutenberg.eu.org. - -GUTenberg publie la Lettre GUTenberg ainsi que les cahiers -GUTenberg. - -Remarque : Le cahier 23 de GUTenberg est également une FAQ - LaTeX. - -ATTENTION : la FAQ que vous êtes en train de lire est - indépendante de l'association GUTenberg. - -# 27.2 # Qu'est ce que l'association TUG ? ------------------------------------------- -TUG (TeX Users Group) est une organisation internationale dont -un tiers des membres est européen. TUGboat est la lettre de ce -groupe. Pour plus de renseignements, contacter tug@tug.org par -mail ou consulter le site WEB http://www.tug.org/. - -# 27.3 # Qu'est ce que l'association AsTeX ? --------------------------------------------- -L'association AsTeX a comme objectif principal d'essayer de -faire du travail utile au plus grand nombre, dans le domaine des -logiciels scientifiques, et d'essayer de faire ce travail aussi -bien que les éditeurs privés, mais dans un esprit de service -public. - -Cela passe par l'écriture d'utilitaires d'installation et de -configuration automatisés (pour que le débutant en TeX/LaTeX -n'ait pas à lire 1000 pages de docs disparates, en anglais de -surcroît, avant de pouvoir imprimer "Bonjour"), par l'écriture -de docs raisonnablement bien rédigées et agréables à consulter, -par des distributions sur disquettes bien présentées. Cela passe -également par la traduction de docs originales dans un français -correct, etc. - -================================================================ -[28] FONTES -================================================================ - -# 28.1 # Que signifient les sigles T1, mf, fd etc. ? ----------------------------------------------------- -Contribution de P. Pichaureau (ppichaur@grannus.u-strasbg.fr) : - -Voici une mise au point rapide, histoire que vous compreniez -de quoi ça parle. - -En 1990, lors d'une réunion d'utilisateurs de TeX, à Cork, il a -été décidé de développer une table d'encodage particulière pour -les fontes de TeX. Cette table contient des signes diacritiques -et un certains nombre de symboles qui permettent de composer des -textes dans un bon nombre de langues européennes. - -Ce codage s'appelle T1 (parfois Cork encoding), et l'ancien -codage de TeX s'appelle OT1 (Old T1). Les autres codages (U, -etc.) concernent des polices particulières et/ou des polices qui -ne respectent ni T1 ni OT1. - -Les fontes « standard » de TeX qui respectent ce codage -s'appellent fontes EC (pour european coding, il me semble). Les -fontes DC étaient une pré-version des fontes EC. La phase de -mise au point des fontes EC ayant duré un certain nombre -d'années, on s'y perd un peu. - -Les fontes TC (text companion) contiennent un certain nombre de -caractères textuels utilisés en mode mathématique. À l'origine, -Knuth prenait ces caractères dans les polices textes normales, -mais cela pose des problèmes si vous essayez d'utiliser d'autres -polices de texte. C'est pour cela qu'on préfère maintenant les -mettre à part. - -Ça c'est pour les problèmes de codage. - -Pour les pk, mf, etc. je refuse de rentrer dans les détails, -mais voici un rapide aperçu de la question : - -fichiers mf -> sources metafont. À partir de là, metafont génère -les fichiers tfm et pk. - -fichiers tfm -> métriques des fontes. Contient la taille des -caractères, les corrections d'espacement éventuelles, etc. TeX a -imperativement besoin de ces fichiers pour compiler un -document. - -fichiers pk -> polices au format bitmap. C'est ce qui est -utilisé pour la prévisualisation et l'impression (même en -PostScript, et ne me demandez pas pourquoi !). - -fichiers vf -> vf pour Virtual Font. Les fontes virtuelles ont -été mises au point par Knuth pour vous permettre -d'utiliser des fontes de provenance diverses. Les fichiers vf -sont utiles lorsque vous essayez d'utiliser des fontes -PostScript. - -fichiers fd -> description des fontes. Ça, c'est en rapport avec -NFSS. Bon, là, je suis obligé de m'étendre. - -NFSS, c'est la manière dont LaTeX2e sélectionne une fonte. LaTeX -ne le faisait pas assez proprement, alors on a fait le ménage. -Un fichier .fd dit à LaTeX2e quels sont les fichiers .mf à -utiliser pour telle police, dans telle taille, dans telle -famille, avec telle variation. C'est avec ce fichier que vous -dites à LaTeX2e de prendre la version sans serif dans tel -fichier, la taille 9pt dans tel autre, et le gras dans ce -troisième fichier. - -En tout état de cause, tfm et fd sont indispensables à la bonne -marche de LaTeX2e. Les mf sont indispensables à la creation des -tfm et despk, et les pk sont indispensables à la visualisation -et à l'impression. - -# 28.2 # Quels sont les attributs d'une fonte ? ------------------------------------------------ -Une fonte possède : -+ une famille (family) qui par défaut vaut cmr - Autre valeurs : cmtt, cmss, cmdh, cmfib. - - La famille correspond à l'allure générale de la - fonte. cmtt pour les fontes « machines à écrire » - cmss pour les sans serifs, cmdh et cmfib pour - respectivement les polices dunhill et fibonacci. - -+ un codage (encoding) qui par défaut vaut OT1 (cf. question -28.1) - Autres valeurs : T1, OML, OMS, ... - -+ une série (series) de valeur m par défaut - Les autres valeurs sont obtenues par une combinaison - de deux attributs : - - un poids (qui correspond à la graisse de la fonte) : - ul (ultral), el (extral), l (light), sl (semil), sb - (semib), b (bold), eb (extrab), ub (ultrab), - - une largeur : uc (ultrac), ec (extrac), c (condensed), - sc (semic), m (medium), sx (semix), x (expanded), ex - (extrax), ux (ultrax). - -+ une forme (shape) dont la valeur par défaut est n - Autres valeurs : n, it, sl, sc, ui, ol - - La forme correspond aux différents variations - de la fonte : n pour normal, it pour italique, - sl pour penché (slanted), sc pour les petites - capitales (small capital). - -+ une taille (size) qui vaut par défaut 10pt. Lorsque deux -valeurs sont précisées, la première correspond effectivement à -la taille de la fonte et la seconde généralement supérieure -correspond aa la taille de l'interligne. - -# 28.3 # Comment utiliser une fonte ? -------------------------------------- -* Pour déclarer une fonte par défaut dans un document, il -existe les commandes \familydefault, \encodingdefault, -\seriesdefault et \shapedefault. - -Exemple : -\documentclass{report} -\usepackage{french} -\pagestyle{empty} -\renewcommand{\familydefault}{cmtt} - -\begin{document} -\begin{verbatim} -\renewcommand{\familydefault}{cmtt} -\end{verbatim} - -dans le préambule d'un document permet de sélectionner la fonte -computer moderne de type machine à écrire pour tout le corps du -document. -\end{document} -%%%% fin exemple %%%% - -* En LaTeX2e, un certain nombre de packages permettent de faire -appel à une fonte particulière. - -Exemple : -\documentclass{report} -\usepackage{french} -\pagestyle{empty} -\usepackage{times} -\begin{document} -\begin{verbatim} -\usepackage{times} -\end{verbatim} - -dans le préambule d'un document permet de sélectionner la fonte - times pour tout le corps du document. -\end{document} -%%%% fin exemple %%%% - -* A un niveau plus bas, dans la création d'un style par -exemple, la sélection d'une fonte peut se faire de la manière -suivante : -\fontfamily{ccr}\fontencoding{T1}\fontseries{c}\fontshape{sl}% -\fontsize{9}{11pt}\selectfont - -ou encore : - -\fontsize{14}{16pt}\usefont{OT1}{cmdh}{bc}{it} - -* Pour définir une commande de changement de fonte, on peut -utiliser \DeclareFixedFont. - -Exemple : -\DeclareFixedFont{\petitefonte}{\encodingdefault}% -{\familydefault}{\seriesdefault}{\shapedefault}{6pt} -\newcommand{\petit}{\petitefonte} -%%%% fin exemple %%%% - -# 28.4 # Comment changer la forme d'une fonte ? ------------------------------------------------ -* En LaTeX2e, pour un changement ponctuel de fonte, un certain -nombre de commandes sont disponibles par défaut : -+ \textrm pour romain -+ \textsf pour sans sérif -+ \texttt pour du type machine à écrire -+ \textmd pour une série moyenne -+ \textbf pour du gras -+ \textup pour des lettres droites -+ \textit pour de l'italique -+ \textsl pour des lettres penchées -+ \textsc pour des petites capitales -+ \textnormal pour la fonte par défaut du document. - -Exemple : -Un \textbf{bel} arbre. -Un \textbf{\textit{très bel}} arbre. -%%%% fin exemple %%%% - -* Pour changer la fonte de tout un paragraphe, on utilisera -plutôt les commandes \rmfamily, \sffamily, \ttfamily, \bfseries, -\mdseries, \itshape, \slshape, \upshape et \scshape. - -Remarque : si on utilise ces commandes sur un seul mot ou sur - un groupe de mot dans un paragraphe, alors l'espace - suivant une telle déclaration ne sera pas géré (il - vaut mieux dans ce cas utiliser les commandes - \textxx). - -Exemple : -{\scshape BlaBla } -ou -\begin{itshape} - blabla -\end{itshape} -%%%% fin exemple %%%% - -# 28.5 # Comment changer la taille d'une fonte ? ------------------------------------------------- -* Il existe les commandes \tiny, \scriptsize, \footnotesize, -\small, \normalsize, \large, \Large, \LARGE, \huge, \Huge, -classées dans l'ordre croissant de taille. Ces commandes sont -prédéfinies en fonction de la classe de votre document. - -Remarque : Le changement de taille de la fonte entraîne -automatiquement un changement de l'interligne. - -* Plus globalement, vous pouvez utiliser la commande \fontsize -(cf. 28.3). - -# 28.6 # Comment modifier la fonte des numéros de paragraphe ? --------------------------------------------------------------- -Pour modifier la fonte des numéros de paragraphe, il faut -redéfinir seccntformat. - -Exemple (\LaTeXe) : -\makeatletter -\renewcommand\@seccntformat[1]{\texttt{\@nameuse{the#1}\quad}} -\makeatother -%%%% fin exemple %%%% - -# 28.7 # Comment modifier la fonte du mode verbatim ? ------------------------------------------------------ -* Le package 'verbatim' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/tools/ permet de faire cela. Il est alors -conseillé d'utiliser des fontes aux normes T1. - -* L'environnement verbatimcmd du package 'moreverb', disponible -sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/, permet de -garder les caractères backslash (\) et les accolades ({, et }) -actifs. On peut donc entre autres opérer des changements de -fonte. - -* Pour changer la taille de la fonte du mode verbatim, il faut -l'encapsuler dans des commandes de modification de taille. - -Exemple : -Texte avant. - -\begin{small} -\begin{verbatim} - Texte... -\end{verbatim} -\end{small} - -Texte après. -%%%% fin exemple %%%% - -# 28.8 # Comment réaliser des changements de fontes relatifs ? --------------------------------------------------------------- -* Le package 'relsize' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/ permet de faire ce genre de -choses. Les commandes offertes sont du type : - -+ \relsize{n} permet d'augmenter (n positif) ou de diminuer (n -négatif) la taille de la fonte par rapport à la taille courante. - -Exemple : -Un \relsize{1}texte \relsize{2}de \relsize{3}toutes -\relsize{-1}les \relsize{-4}tailles. -%%%% fin exemple %%%% - -+ \smaller == \relsize{-1} - -+ \larger == \relsize{1} - -+ avec un argument, on trouve : -\textsmaller{text}, \textlarger{text}, \mathsmaller{A}, -\mathlarger{B} -%%%% fin exemple %%%% - -* Le package 'scalefnt' de D. Carlisle disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/carlisle/ permet d'augmenter -ou de diminuer suivant un facteur proportionnel, la taille de -la fonte courante. - -Exemple : -\scalefont{2} double la taille de la fonte courante -\scalefont{.75} réduit de trois quarts la taille de la fonte -courante. -%%%% fin exemple %%%% - -# 28.9 # Comment mettre en évidence une portion de texte ? ----------------------------------------------------------- -Utiliser la commande \emph. Cette commande est définie dans la -classe de votre document, et sert spécifiquement à mettre en -évidence un mot, une expression ou toute une phrase. La plupart -du temps, elle se contente de mettre en italique votre texte. - -# 28.10 # Où trouver des fontes ? ---------------------------------- -Sur CTAN bien sûr, dans ftp://ftp.fdn.org/pub/CTAN/fonts/. - -# 28.11 # Comment suivre le chargement des fontes ? ---------------------------------------------------- -Le package 'tracefnt' permet de suivre le chargement des fontes -lors de la compilation d'un document. Ce package définit -plusieurs options : -+ infoshow pour avoir des informations sur le chargement des -polices, -+ errorshow permet de n'afficher que les erreurs, -etc. - -# 28.12 # Pourquoi MakeTeXPK est lancé alors que la fonte existe ? ------------------------------------------------------------------- -P. Terray : -C'est un problème de mise à jour de la base lié à kpathsea. -Normalement, MakeTeXPK met à jour la base "ls-R" de la TDS, à -chaque ajout de police. Si cette base n'est pas autorisée pour -tout le monde, ou si la variable TEXMF est mal réglée, dvips ou -xdvi ne peuvent pas vérifier que cette police existe. Du coup, -ils lancent MakeTeXPK pour la fabriquer. Et MakeTeXPK sachant -par ailleurs où mettre la police, il vérifie qu'elle existe, et -c'est pour ça qu'il donne le message comme quoi elle existe -déjà. - -Les solutions (UNIX) : -- vérifier que $TEXMF est bien réglée -- ls-R, fichier qui se trouve dans le répertoire texmf, doit -être autorisé en lecture écriture pour tout le monde -- reconstruire la base ls-R avec la commande texhash (tout -court). - -ATTENTION : il faut avoir les droits de gestionnaire -LaTeX (ou root) pour exécuter texhash. - -# 28.13 # Comment utiliser \textsc dans un titre en conservant le gras ? ------------------------------------------------------------------------- -Remarque : les sc grasses n'existent pas dans les fontes de - Knuth. En revanche, elles existent dans les fontes - EC. - -Depuis les dernières modifications dans les fontes EC, la -simple utilisation de ces fontes suffit à activer les -petites capitales grasses. - -# 28.14 # Comment utiliser des fontes TrueType? ------------------------------------------------ - -Une source d'information à ce sujet: -http://www.radamir.com/tex/ttf-tex.htm - -================================================================ -[29] DIVERS -================================================================ - -# 29.1 # A quoi sert la commande \par ? ---------------------------------------- -Elle permet de marquer explicitement la fin d'un paragraphe pour -permettre à LaTeX de le mettre en page. L'utilité de cette -commande se justifie par le fait que LaTeX met en page un texte -par paragraphe. Elle est, le plus souvent, utilisée dans la -définition de macros. - -# 29.2 # Comment commenter une partie d'un source LaTeX ? ---------------------------------------------------------- -* Sous LaTeX2.09, il suffit d'utiliser l'environnement -comment du package 'version'. - -Exemple : -Un paragraphe qui intéresse tout le monde et qui est donc -visible par tout le monde. - -\begin{comment} - Un paragraphe qui n'intéresse que moi et qui n'est visible - que dans le source de mon document. -\end{comment} - -Un autre paragraphe qui intéresse tout le monde. -%%%% fin exemple %%%% - -* Un environnement comment est également défini dans le package -'verbatim' compatible LaTeX2.09 et LaTeX2e. - -* Il est également possible de mettre des parties d'un document -source en commentaire grâce à l'environnement comment défini -dans le package 'comment' de V. Eijkhout. Ce package est -disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/misc/. - -* Sous emacs, il y a une commande `comment-region' qui fait ça -très bien. Avec un argument, elle décommente. - -* Classique et de bon goût, l'évaluation conditionnelle permet -de mettre en commentaire sans se soucier de l'imbrication des -accolades, moins puissant cependant que les packages qui créent -un environnement comment: - -Exemple: -\iffalse -Ce passage est en commentaire. -\fi -%%%% fin exemple %%%% - -# 29.3 # Comment utiliser LaTeX sur des petites machines ? ----------------------------------------------------------- -La capacité de TeX est limitée de manière interne. Cela signifie -que ce sont des variables de TeX qui fixent le nombre de -variables (et la taille mémoire) maximal que TeX s'autorisera à -utiliser. Si vous utilisez plus de variables que prévu, TeX -s'arrêtera sur le message d'erreur : - - sorry, TeX capacity exceeded. - -Tout ceci est destiné à << préserver >> votre machine, c'est à -dire à empêcher TeX d'utiliser la totalité de la mémoire de -la machine, ce qui conduit la plupart du temps à un plantage. - -Sur une station, aucun problème, mais sur un micro-ordinateur, -les configurations peuvent-être nombreuses. C'est pourquoi le -TeX fournit en << standard >> sur les macs, par exemple, des -variables fixées assez bas (on suppose que le Mac a une toute -petite mémoire comparée à une station). Mais il existe -également un BigTeX, dont la seule différence avec le TeX -normal est qu'il est autorisé à utiliser plus de mémoire (les -variables en questions ont des valeurs plus importantes). - -Du coup, si votre micro a une configuration plutôt musclée, vous -pouvez compiler des documents plus gros, plus complexes, etc... - -Heureusement Kiffe a changé de stratégie et dans les futures -versions des outils les paramètres internes seront -configurables (en passant par ResEdit) et donc on décidera -soi-même la << bigness >> de son TeX (cf. distributions emTeX -et AsTeX). Pour changer les paramètres de compilation (pool size, -stack, font mem, main mem etc.) cf. fichier -emtex/doc/english/tex.doc, chapitre 6. - -La version 7.0 de web2c est configurable par le fichier -texmf.cnf. - -Remarque : pour un gros document, il peut être utile de le - découper en chapitres à inclure par la commande - \include (cf. paragraphe 9.2 ). - -# 29.4 # Comment visualiser des paramètres ? --------------------------------------------- -Pour visualiser des paramètres spécifiques, il existe : -* \showt\baselinestretch (n'importe où ou presque, donc -affichage des éventuelles modifs, locales ou globales). Ou -pour avoir le résultat à la volée : -\message{Valeur de /baselinestretch = \the\baselinestretch} - -* Il existe aussi la commande \showthe. Celle-ci affiche les -paramètres demandés dans le log. En outre, pendant la -compilation, elle affiche la valeur demandée puis met LaTeX en -attente. Il faut alors taper s ou <RC> pour continuer. - -Exemple : -\documentclass{report} -\usepackage{french} -\pagestyle{empty} -\begin{document} -Texte. -\showthe\baselineskip -Texte. -\end{document} -%%%% fin exemple %%%% - -* Pour afficher une valeur à l'écran lors de la compilation, il -faut utiliser : \message{** Textwidth = \the\textwidth **}. Le -message s'insère alors au milieu des milliers d'autres choses que -LaTeX affiche : bien surveiller ! - -* Il existe également le package 'showkeys' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/package/tools/. Il modifie les commandes -\label, \ref, \pageref, \cite et \bibitem de manière à -visualiser les paramètres internes utilisés. - -* Pour visualiser les paramètres d'une page, il faut utiliser la -commande \layout du package 'layout'. Ce dernier est disponible -sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/tools/. - -* Pour visualiser des labels, il existe le package 'showlabels' -disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/showlabels/. Les noms des labels -utilisés par \label ou par la numérotation automatique des -équations apparaîtront dans la marge du document. Ce package ne -définit pas de commande particulière, il suffit d'appeler -\usepackage{showlabels} dans le préambule du document. Dans le -cas où des packages AMS sont utilisés, showlabels doit être -appelé après. Les options [inner] ou [outer] ou [twocolumn] -permettent de définir dans quelle marge vont apparaître les -labels. - -Remarque : ce package n'est pas compatible avec les styles - multicolonnes ni avec l'option leqno. - -# 29.5 # Comment visualiser des compteurs ? -------------------------------------------- -Pour visualiser la valeur d'un compteur, il suffit de demander -\immediate\write{16}{\the\nomducompteur} -ou -\message{\the\nomducompteur} - -# 29.6 # A quoi servent \makeatletter et \makeatother ? -------------------------------------------------------- -Le caractère "@" est spécial pour LaTeX, et ne peut pas être -utilisé directement comme partie d'un nom de macro dans un -document LaTeX. Pour utiliser certaines macros internes de LaTeX -(celles qui contiennent un "@"), directement dans un document -(au lieu d'utiliser un fichier .sty), il faut les encapsuler -dans une macro dont le nom ne contient pas de "@". En outre, -cette macro doit impérativement être déclarée dans le -préambule du document, et être encadrée par les commandes -\makeatletter et \makeatother. - -En fait ces commandes permettent d'indiquer à LaTeX que l'on -veut effectivement travailler sur ses commandes internes en le -forçant à considérer le "@" (at) comme une lettre -(makeatletter). - -ATTENTION : les commandes internes de LaTeX sont à manipuler - avec précaution. - -# 29.7 # Comment numéroter les lignes d'un document ? ------------------------------------------------------ -* Le package 'lineno' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/lineno/ permet de numéroter les -lignes d'un document. - -* Il existe également le package 'numline' de M. Jaegermann et -J. Fortune, pour du texte essentiellement. Ce package est -disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/numline/. - -* Pour numéroter les lignes d'un document inclu en mode -verbatim, il faut utiliser la commande \listinginput du package -'moreverb' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/moreverb/. - -* Le package 'vruler' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/vrsion/ permet également de -numéroter les lignes d'un document. - -# 29.8 # A quoi sert la commande \special ? -------------------------------------------- -La commande \special permet à TeX d'envoyer des instructions -particulières (non TeX) à un driver sans les interpréter. Les -instructions ainsi passées sont généralement dépendantes du -driver qui lui, saura les interpréter. L'utilisateur n'a en -général pas à se soucier de cette commande (\special), elle est -gérée par des packages tels que 'psfig' pour LaTeX2.09 ou -'graphics' et 'graphicx' pour LaTeX2e. - -Remarque : \includegraphics est standard dans LaTeX2e et - indépendant de la plateforme alors que le format de - \special est dramatiquement dépendant de la - plateforme de travail. Seul, le \includegraphics - préserve l'aspect universel d'un document source et - donc l'esprit universel de TeX. - -# 29.9 # Comment réaliser des calculs avec les variables LaTeX ? ----------------------------------------------------------------- -* Pour pouvoir utiliser des expressions du type \truc * \machin -dans une macro, il faut charger le package 'calc' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/calc/. - -Exemple : -\setcounter{x}{3*\real{1.3}} -%%%% fin exemple %%%% - -* Une autre solution consiste à utiliser les commandes -\addtolength\dim\dim, \divide \dim by \dim, etc. - -* Le package 'realcalc' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/generic/realcalc/ permet de faire des calculs sur des -réels. - -* Plus difficile à utiliser, il y a aussi le package 'trig'. - -# 29.10 # Où trouver une fonte 9pt ? ------------------------------------- -* La classe de document 'amsart' disponible sur CTAN offre -l'option 9pt. - -* De même les classes 'extarticle' et 'extreport' sont -disponibles à -http://www.informatik.uni-freiburg.de/~may/extsizes.html. - -* size9.clo de H. Steffani est disponible à -http://www.tu-chemnitz.de/~hfst/size9.clo. - -# 29.11 # Comment automatiser les compilations LaTeX ? ------------------------------------------------------- -* latexmk est un script perl, disponible sur -ftp://ftp.fdn.org/pub/CTAN/support/latexmk/, qui automatise la compilation d'un document -LaTeX. Il tourne en démon et relance une compilation à -chaque fois qu'un fichier source (.tex, .bib, \input, etc) est -sauvegardé. "latexmk fichier" lance latex/makeindex/bibtex autant -de fois qu'il le faut pour que le dvi soit à jour. - -* latexn disponible sur ftp://ftp.fdn.org/pub/CTAN/support/latexn est un script -csh qui permet également d'automatiser les compilations LaTeX. - -* Le package AUC-TeX sous emacs conseille l'utilisateur sur la -prochaine opération à effectuer (LaTeX, bibtex, makeindex, xdvi, -etc.), en fonction des dépendances entre les différents -fichiers. - -# 29.12 # Comment obtenir des cadres gris ? -------------------------------------------- -* Le package 'shade' disponible sur ftp://ftp.fdn.org/pub/CTAN/macro/generic/ -permet de tracer des cadres gris. - -* Le package 'psboxit', disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex2.09/contrib/misc/, permet d'obtenir du gris ou de -la couleur. - -# 29.13 # Comment obtenir certaines abréviations ? --------------------------------------------------- -* Pour obtenir des abréviations dont certaines lettres doivent -être rehaussées et de taille réduite, on peut utiliser les -indices mathématiques. Mais, ce n'est pas une technique -recommandable. - -Exemple : -M$^{\mathrm{lle}}$ -%%%% fin exemple %%%% - -* Le package 'babel' propose la commande \ieme pour les -quantièmes. - -* Le package 'french' de B. Gaulle, définit la commande \fup -pour écrire une chaîne de caractères en exposant, ainsi que les -commandes \ier \iers \iere \iere \ieme \iemes pour les -quantièmes. - -Exemple : -M\fup{lle} -%%%% fin exemple %%%% - -Remarque : pour que la commande \fup suive les changements de - taille de fonte, il faut utiliser l'une des extensions - prévues à cet effet, à savoir les extensions - "smaller" et "relsize" (\usepackage{smaller,french} - par exemple). Une copie de l'extension smaller est - distribuée depuis 94 avec la distribution des - fichiers du style french (sous le nom mysmall.sty). - En revanche, la surélévation ne tient pas compte de - l'inclinaison de la police. - -* Le package 'smaller' de D. Taupin est disponible par ftp sur -ftp://ftp.lps.u-psud.fr/pub/latex/contrib/smaller.sty. Il -propose également une commande \fup qui définit smaller et -l@rger pour être compris par french.sty. Cette commande gère -l'inclinaison des \sl et des \it. - -ATTENTION : le fup de B. Gaulle étant installé au - \begin{document}, pour utiliser mon \fup modifié - avec french.sty, il faut après le \begin{document} - écrire: - \makeatletter - \let\fup\f@up - \makeatother - -* On peut également définir une nouvelle commande \abbr dans le -préambule du document : -\newcommand{\abbr}[1]{\raisebox{1ex}{\footnotesize #1}} -Cette solution a l'avantage d'éviter d'utiliser le mode -mathématique improprement. - -* Il existe aussi la commande \textsuperscript qui permet -d'obtenir un exposant sans passer en mode mathématique. - -# 29.14 # Comment gérer les espaces après une macro ? ------------------------------------------------------ -* Pour forcer LaTeX à introduire un espace après une macro, il -suffit de faire suivre son appel d'un backslash (\). - -Exemple : -texte \oe\ texte \oe, texte - -texte \oe texte \oe, texte -%%%% fin exemple %%%% - -* Pour que LaTeX gère lui même les espaces, il suffit d'utiliser -systématiquement les caractères {}. - -Exemple : -texte \oe{} texte \oe{}, texte \oe{}uf -%%%% fin exemple %%%% - -* On peut également définir une macro TeX \keepspace : -%%%% debut macro %%%% -\def\keepspace{\ifnum\catcode`\ =10 - \let\next\keepspacebis \else \let\next\relax \fi - \next} -\def \keepspacebis{\obeyspaces - \afterassignment\keepspaceaux\let\next= } -{\obeyspaces% -\gdef\keepspaceaux{% -\ifx \next\space\let\next\ignorespaces\fi% -\catcode`\ =10\relax\next}} -%%%% -%%%% fin macro %%%% -puis l'utiliser dans une autre définition de macro. - -Exemple : -\newcommand{\macro}{\textit{blablabla}\keepspace} -%%%% fin exemple %%%% - -* Le package 'xspace' intègre ces définitions qui lui permette -de gérer automatiquement l'espace après une macro suivant le -contexte. - -Exemple : -\documentclass{report} -\usepackage{french,xspace} -\pagestyle{empty} - -\newcommand{\macro}{aaaaa\xspace} - -\begin{document} -\macro bbbb \macro, bbbb -\end{document} -%%%% fin exemple %%%% - -Remarque : à noter que le package xspace est conforme aux règles - de typographie anglo-saxones donc la gestion des - caractères de ponctuation composés tels que : où ; ne - sera pas correcte en français. La solution consiste - alors à utiliser le blanc insécable qui de toutes - façons est recommandé dans ce cas : \macro~: blabla. - On peut également se créer son propre package - 'fxspace'. - -# 29.15 # Où trouver les notices d'utilisation des packages ? -------------------------------------------------------------- -Généralement la notice d'utilisation d'un package est incluse -dans le package lui même (fichier .dtx). Il suffit alors de -compiler ce fichier. Il existe également le fichier doc -disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/base/ qui décrit comment -exploiter ces notices. - -Si on lance "latex package.dtx" il sera produit le fichier -package.sty ou package.cls correspondant et le fichier -package.dvi de documentation de l'extension. - -# 29.16 # Comment obtenir des listes d'objets flottants ? ---------------------------------------------------------- -Certaines sont disponibles par défaut, il s'agit des listes de -figures et de tables, il suffit alors d'appeler les commandes -\listoffigures et \listoftables. D'autres sont liées à certains -packages. Par exemple, le package 'algorithms' de P. Williams -offre la commande \listofalgorithms. - -Remarque : la mise à jour de ces listes nécessite généralement - plusieurs compilations LaTeX. - -Exemple : -\documentclass{report} -\usepackage{algorithm,algorithmic} - -\begin{document} - -\listofalgorithms - -\chapter{toto} - -\begin{algorithm}[h!tp] - \begin{algorithmic}[2] - \REQUIRE $T_1$ et $T_2$ doivent \^etre des tableaux de - valeurs additionnables, et doivent \^etre de la m\^eme - longueur $n$. \ENSURE $\forall 0\leq k< n \;\; - Result[k]=T_1[k]+T_2[k]$. - \FOR{$i\rightarrow 0$ to $n$} - \STATE $Result[i]\rightarrow T_1[i]+T_2[i]$ - \ENDFOR - \end{algorithmic} - \caption{Somme terme \`a terme de deux tableaux3} - \label{algo-ex-3} -\end{algorithm} -[recopie en trois exemplaires] -\end{document} -%%%% fin exemple %%%% - -# 29.17 # Comment connaître les versions des fichiers utilisés lors d'une compilation ? ---------------------------------------------------------------------------------------- -Il suffit d'utiliser la commande \listfiles. - -Exemple : -\documentclass{report} -\listfiles -\usepackage{french} -\usepackage{graphics} - -\begin{document} - texte ... -\end{document} -%%%% fin exemple %%%% - -# 29.18 # Pourquoi certaines commandes sont elles indépendantes ? ------------------------------------------------------------------ -Les commandes LaTeX de type verbatim sont particulières du fait -qu'elles changent les codes de catégorie de leurs arguments. De -ce fait, elles ne sont plus compatibles avec d'autres commandes -et ne doivent pas être appelées par ces dernières. Certains -caractères spéciaux doivent alors être obtenus par \texttt. - -Exemple : -\texttt{\char`\\} -%%%% fin exemple %%%% - -On peut également utiliser l'environement lrbox de LaTeX2e pour -sauver le texte qui doit apparaître en verbatim dans une boîte -et ensuite utiliser cette boîte. - -# 29.19 # Comment installer un package ? ----------------------------------------- -Lorsqu'il s'agit d'un package conçu pour LaTeX2e et utilisant -les procédures et outils définis dans ce cadre, c'est simple : -un package est fourni avec deux (ou plus, pour les packages plus -complexes) fichiers, package.ins et package.dtx - -Il faut commencer par exécuter "latex package.ins" pour créer -le(s) fichier(s) de commandes lui(eux)-même(s) (typiquement -package.sty) puis "latex package.dtx" pour générer la -documentation, avec si besoin construction d'un index : -makeindex -s gind.ist -o package.ind package.idx, et d'un -glossaire : makeindex -s gglo.ist -o package.gls package.glo. - -Ces fichiers doivent ensuite être déclarés dans une variable -d'environnement afin d'être rendus visibles. - -Exemple (UNIX) : -TEXINPUTS=.:/usr/local/TEX/texmf/tex:/users/ADMIN/NG/LATEX: -/users/home/kluth/Section-equit/Modele -%%%% fin exemple %%%% - -Remarques : -* on ne peut évidemment générer la documentation en premier, -parce qu'elle aura toujours besoin du fichiers des commandes ; -* si l'on ne veut obtenir que la documentation <<utilisateur>>, -il faut ajouter la ligne "\OnlyDescription" dans le fichier -package.dtx, avant la ligne "\DocInput{package.dtx}". Sinon on -obtient aussi le listage commenté du code, ce dont on peut ne -pas vouloir se soucier et qui peut être volumineux pour les -packages importants. - -Néanmoins, il est clair que ce mode d'organisation et de -distribution n'est que le mode encouragé par l'équipe de -développement de LaTeX et n'est en rien une obligation. Un bon -nombre de packages disponibles ne le suit d'ailleurs pas (!), -pour diverses raisons (packages qui se veulent utilisables aussi -bien avec Plain TeX qu'avec LaTeX, << vieux >> packages écrits -pour LaTeX2.09, packages écrits par des personnes qui veulent -faire << comme ça leur plait >>, etc.)... Dans ces différents -cas, il faut << aller y voir de plus près >> pour comprendre -l'organisation choisie. - -C'est justement le cas pour slashbox (!) : un seul fichier .sty -est fourni. Il faut l'éditer pour extraire le fichier de -documentation qui se trouve après la ligne 80 "\endinput". - -*Pour WINDOWS : -1/ copier le fichier package.ins dans un répertoire -temporaire et le compiler avec LaTeX ; -2/ déplacer le fichier package.sty dans un répertoire visible par -LaTeX, soit commun à tous les utilisateurs, soit local, -soit personnel : --- pour fpTeX, ce sont respectivement les répertoires (déclarés à -l'installation de fpTeX) ./texmf/tex/latex/lerepertoiredemonpackage (à -créer si besoin), ./texmf.local/tex/latex/lerepertoiredemonpackage (à créer -si besoin), HOME/texmf/tex/latex/lerepertoiredemonpackage (à créer si -besoin) ; --- pour MikTeX, ce sont les mêmes répertoires mais le répertoire local est -./localtexmf/ et que le HOME ne semble pas être prévu : -[FMF : je ne suis pas sûre de ce dernier point] -3/ reconstruire la base de données des packages (rebuild ls-R filenames -databases pour fpTeX, refresh filename database pour MikTeX). - -# 29.20 # Comment générer des codes barres ? --------------------------------------------- -* Il existe les packages 'ean' et 'code128' disponibles sur -ftp://ftp.fdn.org/pub/CTAN/macros/generic/ean/ et ftp://ftp.fdn.org/pub/CTAN/macros/generic/code128/. - -* De même les packages 'envelopes' et 'labels' sont disponibles -sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/envlab/. - -* On peut également trouver le package 'barcodes' sur -ftp://ftp.fdn.org/pub/CTAN/fonts/barcodes/. - -# 29.21 # Comment gérer des abbréviations ? -------------------------------------------- -* Le package 'abbrevs' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/monster/ permet automatiquement -de remplacer des abbréviations par leur formule développée -notamment lors d'un premier appel. - -* Le package 'acronym' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/acronym/ permet de s'assurer que -tous les acronymes utilisés dans un document apparaissent au -moins une fois sous une forme développée. - -# 29.22 # Comment imprimer un fichier postscript sur une imprimante non postscript ? ------------------------------------------------------------------------------------- -alladin est un excellent programme qui permet d'imprimer du -postscript sur à peu près n'importe quelle imprimante. Cet outil -est disponible par ftp sur ftp://ftp.lip6.fr/pub/ghost/aladdin/. - -Remarque : on ne peut pas dire que ce soit d'une très grande - facilité d'installation, mais une fois que ce mauvais - moment est passé, on ne peut plus s'en passer :-) - -# 29.23 # Comment surcharger une commande déjà existante ? ----------------------------------------------------------- -* Pour pouvoir ajouter des définitions sur une commande -prédéfinie sans la réécrire complètement, il faut utiliser la -commande \let. - -Exemple : -\let\standardsection=\section -\def\section{\newpage\standardsection} -%%%% fin exemple %%%% - -* Il existe aussi la commande expandafter. - -Exemples : -\toks0 \expandafter{\section} -\edef\section{\noexpand\newpage\the\toks0 } - -\expandafter\def\expandafter\section\expandafter{\expandafter% -\newpage\section} -%%%% fin exemple %%%% - -* Le package 'babel' propose également la commande \addto. - -# 29.24 # Comment reporter l'exécution d'une commande à la fin d'une page ? ---------------------------------------------------------------------------- -Il existe pour cela le package 'afterpage' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/tools/. - -Exemple : -\afterpage{\clearpage} -%%%% fin exemple %%%% - -# 29.25 # Comment définir des scripts interactifs ? ---------------------------------------------------- -Le package 'dialogl' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/dialogl/ permet de définir des -scripts LaTeX intéractifs. - -# 29.26 # Comment identifier une version provisoire ? ------------------------------------------------------ -* Le package 'draftcopy' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/draftcopy/ permet par exemple -d'écrire le mot DRAFT en grisé en diagonale sur toutes ou -certaines pages d'un document. Il permet également de faire -moins voyant. - -Exemple : -\documentclass{report} -\usepackage{french} -\usepackage{draftcopy} -\begin{document} -Voici une version provisoire de mon texte. Pourriez-vous la -relire et me faire part de vos commentaires avant la fin de -la semaine? - -Merci d'avance. - -\paragraph{Proposition.} -Texte provisoire -- Texte provisoire -- Texte provisoire -- -Texte provisoire -- Texte provisoire -- Texte provisoire -- -Texte provisoire -- Texte provisoire -- Texte provisoire -- -Texte provisoire -- Texte provisoire -- Texte provisoire -- -Texte provisoire -- Texte provisoire -- Texte provisoire -- -Texte provisoire -- Texte provisoire -- Texte provisoire -- -Texte provisoire -- Texte provisoire -- Texte provisoire -- -Texte provisoire -- Texte provisoire -- Texte provisoire -- -Texte provisoire -- Texte provisoire -- Texte provisoire - -\end{document} -%%%% fin exemple %%%% - -* Le package 'drafthead' également disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/misc/ permet lui de n'agir que sur les -en-têtes des documents. - -* On peut également utiliser la macro : -%%%% debut macro %%%% -\special{ -! userdict begin /bop-hook{ -stroke -gsave 240 100 translate -65 rotate /Times-Roman findfont 220 scalefont setfont -0 0 moveto 0.9 setgray (DRAFT) show grestore -}def end} -dans le préambule de son document. -%%%% fin macro %%%% - -* Le package 'prelim2e' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/prelim2e/ offre également un -marquage des versions préliminaires d'un document. - -# 29.27 # Comment obtenir des caractères barrés ? -------------------------------------------------- -* Le package 'ulem' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/ permet de -barrer des caractères. - -Exemple : -\sout{je barre tout} -%%%% fin exemple %%%% - -# 29.28 # A quoi sert la commande \ensuremath ? ------------------------------------------------ -La commande \ensuremath assure que son argument sera imprimé en -mode mathématique quel que soit le mode courant. - -Exemple : -\documentclass{report} -\usepackage{french} -\pagestyle{empty} -\newcommand{\mc}{\ensuremath{(\alpha, \beta)}} -\begin{document} -Le couple \mc\ définit par $\mc = x+y, x-y$, ... -\end{document} -%%%% fin exemple %%%% - -# 29.29 # A quoi servent les commandes \(re)newcommand ? --------------------------------------------------------- -La commande \newcommand permet à l'utilisateur de définir ses -propres commandes. La commande \renewcommand permet de -redéfinir des commandes LaTeX déjà existantes. Elle s'utilise -dans le préambule du document : - \newcommand{nom_commande}[nb_arguments]{définition} -nb_arguments définit le nombre d'arguments de la nouvelle -commande LaTeX. Il est compris entre 0 et 9. Ils sont -référencés par #no_argument dans la définition. - -Exemple : -\documentclass{report} -\usepackage{french} -\pagestyle{empty} -\newcommand{\be}{\begin{enumerate}} -\newcommand{\ee}{\end{enumerate}} -\newcommand{\bold}[1]{\textbf{#1}} -\begin{document} -\bold{Faites votre choix~:} -\be -\item premier choix~: A -\item deuxième choix~: B -\item troisième choix~: C -\ee -\end{document} -%%%% fin exemple %%%% - -Remarques : La commande \providecommand permet de ne prendre en - compte la nouvelle commande que si elle n'existe pas - déjà. - - Pour définir un argument optionnel, on utilise la - syntaxe : - \newcommand{nom}[nb_arg][defaut]{definition} - defaut permet de préciser une valeur par défaut de - la variable qui sera utilisée en l'absence - d'argument. L'argument optionnel ne peut être que - #1. - -# 29.30 # Où trouver des hirondelles ? --------------------------------------- -On peut trouver la package 'cropmark' sur -ftp://ftp.fdn.org/pub/CTAN/macros/generic/. - -# 29.31 # Comment tracer des lignes ? -------------------------------------- -* On peut mettre la définition suivante dans le préambule du -document : -\def\ligne#1{\leaders\hrule height #1\linethickness \hfill} -puis utiliser : -\ligne{5} -dans le texte. - -* Il existe également la commande \rule qui prend en premier -argument, la longueur horizontale du trait et, en deuxième, son -épaisseur. Elle possède également un argument optionnel qui -permet de positionner la ligne traçée par rapport à la ligne -d'écriture. - -Exemple : -\rule[0.5ex]{\textwidth}{0.1mm} -%%%% fin exemple %%%% - -* On peut aussi utiliser les commandes \hrule pour des lignes -horizontales et \vrule pour des lignes verticales. - -# 29.32 # Comment imprimer le caractère ~ ? -------------------------------------------- -* LaTeX2e fournit la commande \textasciitilde sous fonte T1. -Sous OT1, il faut définir -\ProvideTextCommand{\textasciitilde}{OT1}{\~{}}. - -* Il est possible de passer par le mode verbatim via la commande -\verb$~$. - -* On peut aussi définir sa propre commande : -\def\mytilde{\raisebox{-.8ex}{\~~}\hspace{-0.15em}} - -* \~{} permet également d'obtenir un tilde. - -* Une autre solution consiste à utiliser $\sim$. - -* Autre solution, utiliser : \char`\~ - -Remarque : la première solution est de loin la meilleure. - -# 29.33 # Comment visualiser tous les caractères d'une fonte ? --------------------------------------------------------------- -Le plus simple consiste à utiliser : -latex nfssfont -nfssfont.tex est un fichier disponible sur CTAN. - -Il faut ensuite donner le nom de la fonte à examiner par -exemple cmr10 puis construire la table des caractères en -utilisant la commande \table. Cela permet de construire un -fichier .dvi contenant les codes de tous les caractères. - -L'appel d'un symbole se fait alors via la commande \symbol{x} où -x est le code associé au caractère voulu (c'est un entier -compris entre 0 et 255). - -On peut également utiliser \char"<octal> ou \char^^<hexa> -ou encore \char<decimal> mais ces commandes sont moins robustes. - -# 29.34 # A quoi sert % dans les macros ? ------------------------------------------ -Le % en fin de ligne d'une macro permet d'indiquer à LaTeX que -la définition qu'il est en train de lire continue à la ligne -suivante. De manière générale, les espaces après une macro sont -ignorés, mais pas après les accolades. Ce caractère permet de -s'assurer que des espaces non voulus ne seront pas pris en -compte. Ainsi, il est prudent de mettre un % après chaque -accolade qui se trouve en fin de ligne. - -# 29.35 # Comment inclure l'heure dans un document ? ----------------------------------------------------- -* La macro décrite ci-dessous, à inclure dans le préambule de -votre document, définit la commande \timenow : - -%%%% debut macro %%%% -\makeatletter -\def\timenow{\@tempcnta\time - \@tempcntb\@tempcnta - \divide\@tempcntb60 - \ifnum10>\@tempcntb0\fi\number\@tempcntb - \multiply\@tempcntb60 - \advance\@tempcnta-\@tempcntb - :\ifnum10>\@tempcnta0\fi\number\@tempcnta} -\makeatother -%%%% fin macro %%%% - -* Le package 'time' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/generic/time.sty permet d'inclure l'heure courante -dans un document. - -* En ajoutant la macro suivante de H. Hanche-Olsen dans le -préambule de son document, on peut via la commande -%%%% debut macro %%%% -\isodayandtime obtenir la date et l'heure courante : -\begingroup -\count0=\time \divide\count0by60 % Hour -\count2=\count0 \multiply\count2by-60 \advance\count2by\time -% Min -\def\2#1{\ifnum#1<10 0\fi\the#1} -\xdef\isodayandtime{\the\year-\2\month-\2\day\space\2{\count0}:% -\2{\count2}} -\endgroup -%%%% fin macro %%%% - -Autre exemple d'utilisation (qui nécessite dvips) : -%%%% debut macro %%%% -\special{!userdict begin /bop-hook - {gsave -90 rotate -780 560 moveto 1.0 0.7 0.7 setrgbcolor - % 0.8 setgray - 106 45 {dup mul exch dup mul add 1.0 exch sub} setscreen - /Times-Roman findfont 25 scalefont setfont (DRAFT - \isodayandtime) show grestore} def} -%%%% fin macro %%%% - -* On peut également utiliser la macro \time qui donne l'heure -en minutes. Pour afficher l'heure en heures et minutes, il faut -les calculer puis les afficher avec la macro \the. - -Exemple 1 : -\documentclass{article} -\usepackage{french} -\pagestyle{empty} -\begin{document} -Cette compilation a démarré à \the\time\ minutes après minuit -le \today. -\end{document} -%%%% fin exemple %%%% - -Exemple 2 : -\usepackage{calc} -\newcounter{hours}\newcounter{minutes} -\newcommand{\printtime}{% - \setcounter{hours}{\time/60}% - \setcounter{minutes}{\time-\value{hours}*60}% - \thehours :\theminutes} -%%%% fin exemple %%%% - -* Il existe également le package 'heure' de T. Bouche donné -ci-dessous : -%%%% debut macro %%%% -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{heure} -[1996/6/11v0.1 affiche le jour et l'heure de production d'un -document] -\newif\if@heure@fin\@heure@finfalse -\newif\if@heure@final\@heure@finalfalse -\DeclareOption{fin}{\@heure@fintrue} -\DeclareOption{final}{\@heure@finaltrue} -\DeclareOption{draft}{} -\ProcessOptions -%%% définition de hours prise dans testfont -\newcount\m \newcount\n -\def\hours{\n=\time \divide\n 60 - \m=-\n \multiply\m 60 \advance\m \time - \twodigits\n\ :\ \twodigits\m} -\def\twodigits#1{\ifnum #1<10 0\fi \number#1} -%%%%%%% Tant que ça n'est pas définitif. -\if@heure@final\else -\AtBeginDocument{\begin{center}% - {\bfseries\itshape\large Version du \today\ à \hours }% -\end{center}} -\fi -\if@heure@fin -\AtEndDocument{% - \begin{flushright}% - \small \itshape (Le \today\ à \hours )\hspace*{3em}% - \end{flushright}} -\fi -\endinput -%%%% fin macro %%%% - -Utilisation : -Il suffit de passer fin, final ou draft en option de classe. - -Exemple 1 : -\documentclass[11pt,draft]{article} -\usepackage{heure} - -\begin{document} -Voici le résumé de notre expérience avec le Brome~: - -Bla bla bla. -\end{document} -%%%% fin exemple %%%% - -Exemple 2 : -\documentclass[11pt,fin]{article} -\usepackage{heure} - -\begin{document} -Voici le résumé de notre expérience avec le Brome~: - -Bla bla bla. -\end{document} -%%%% fin exemple %%%% - -Exemple 3 : -\documentclass[11pt,final]{article} -\usepackage{heure} - -\begin{document} -Voici le résumé de notre expérience avec le Brome~: - -Bla bla bla. -\end{document} -%%%% fin exemple %%%% - -# 29.36 # Comment compter le nombre de mots d'un fichier ? ----------------------------------------------------------- -A priori, il n'y a pas de solution simple à ce problème : -* A partir du fichier source .tex, il faut enlever toutes les -commandes LaTeX avec un utilitaire tel que detex (disponible sur -ftp://ftp.fdn.org/pub/CTAN/support/detex/) puis utiliser un autre utilitaire tel -que wc sous UNIX. - -* On peut également travailler à partir du fichier .dvi en -appliquant dvitty (ou dvi2tty). - -ATTENTION : aucune de ces méthodes n'est idéale comme l'indique - l'essai comparatif de T. Bouche : - detex -i grfguide.tex | wc -w donne 4420 - dvitty grfguide.dvi |wc -w donne 4524 - wc -w grfguide.tex donne 4539 - ps2ascii grfguide.ps |wc -w donne 5066 - -# 29.37 # Comment rendre inactif un caractère ? ------------------------------------------------ -La commande \string permet de désactiver un caractère rendu -actif par une macro. - -Exemple : -En français le : est rendu actif pour que \LaTeX gère lui-même -l'espace à mettre avant. En revanche, dans une URL ou une -adresse mail cet espace est superflu. On utilise donc : -mailto\string:moi.meme@chez.mon.site -%%%% fin exemple %%%% - -# 29.38 # Comment utiliser le mode verbatim dans une commande ? ---------------------------------------------------------------- -LaTeX2e fournit l'environnement lrbox. - -Exemple : -\documentclass{article} -\usepackage{alltt} -\pagestyle{empty} - -% --------------- -\newsavebox{\inverbatim} -\begin{lrbox}{\inverbatim}% -\noindent\begin{minipage}{\linewidth} -\begin{alltt} - 1 - -8 + 7 Sqrt[2] ArcTanh[-------] - Sqrt[2] -\end{alltt} -\end{minipage}% -\end{lrbox}% box -% ------------------------------------ - -\begin{document} -\noindent -L'expression : \usebox{\inverbatim} démontrée au paragraphe -précédent prend ici tout son sens. - -En effet l'expression \usebox{\inverbatim} permet\ldots -\end{document} -%%%% fin exemple %%%% - -# 29.39 # Comment redéfinir la commande \year ? ------------------------------------------------ -Pour ne faire apparaître que deux chiffres au lieu de quatre, il -faut utiliser : -\newcommand{\ignoretwo}[2]{} -\newcommand{\shortyear}{\expandafter\ignoretwo\the\year} -dans le préambule du document. - -# 29.40 # Qu'est ce que la magnification ? ------------------------------------------- -* La commande magnification permet de faire un zoom d'un -document. - -Exemple : -\mag=1440 -\documentclass{...} -%%%% fin exemple %%%% - -* On peut également travailler sur le fichier postscript via -dvips avec l'option -x nombre où nombre vaut par exemple 1200 -pour un agrandissement de 20%. - -* De la même manière, le package 'scale' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/scale/ permet de modifier -l'échelle d'un document avant impression. - -# 29.41 # Comment sont gérés les postscripts dans LaTeX ? ---------------------------------------------------------- -P. Perichon : -TeX/LaTeX + DVIPS procèdent en 2 temps : -* Lorsque l'on a une figure PostScript (EPS : Encapsulated -PostScrit), on met les commandes nécessaires dans son source -(fichier .tex) pour dire à TeX/LaTeX que l'on veut cette figure -à telle place dans son document avec telles dimensions (en -incluant la bonne extension : graphicx, psfig, epsfig) . - -Lors de la phase d'interprétation du code TeX/LaTeX, -l'interprète TeX/LaTeX va seulement consulter dans le fichier -externe contenant la figure les dimensions/proportions de -l'image (les fameuses bounding box chères au PostScript -Encapsulé). - -En fin de course, dans le fichier DVI on aura le nom et les -dimensions de l'image mais PAS CELLE-CI (qui est toujours -externe). Donc si on visualise juste le fichier DVI, on voit -l'emplacement de l'image mais pas cette dernière (en particulier -la commande \psdraft génère un cadre genre \fbox{...} aux -dimensions de l'image à l'emplacement de celle-ci). - -* Dans un deuxième temps, la commande DVIPS, transformera le -fichier DVI en PostScript et incluera à ce moment les fichiers -images EPS. Donc si on visualise/imprime le fichier PostScript, -on voit le texte et les images. - -* Toutefois, certains visualiseurs DVI, par exemple XDVI sous -UNIX pour ne pas le citer, détectent quelque chose du genre : - PSfile="toto.eps" llx=0 lly=-1 urx=57 ury=29 rwi=4252 -dans le fichier DVI, et appellent gentiment GostScript/GhostView -qui vont préparer une image bitmap que le visualiseur DVI -s'empressera de montrer (quand ça marche : avec psfig.sty pas de -problème, mais avec l'extension graphicx...). Mais d'autres -visualiseurs, comme DVIWIN, ne savent pas que faire d'un fichier -PS. - -DVI signifie DeVice Independent : ceci est un format de document -indépendant du système d'impression. Donc non lié à un langage -de description de page utilisé en interne par une quelconque -imprimante (PostScript, PCL, HPGL, Windows GDI, ...). Il suffit -après d'utiliser un convertisseur qui transforme le DVI en -quelque chose que comprend votre imprimante (PostScript, HPGL, -PCL, ...). Cette méthode permet d'imprimer sur n'importe quel -type d'imprimante (il suffit d'avoir le bon convertisseur). Mais -hélas en DVI, il n'a point été prévu d'y mettre une image (le -problème n'est en effet pas simple). D'où l'utilisation de fichier -EPS. - -# 29.42 # Pourquoi LaTeX n'accepte-t'il pas tous les formats d'image ? ----------------------------------------------------------------------- -P. Perichon : -Le problème est le suivant : un fichier DVI + image TIFF, GIF, -TGA,... comment faire digérer tout ça par votre imprimante ???? -Le fichier DVI peut se faire convertir en un langage -d'impression compréhensible par votre imprimante... mais vos -formats d'images... faudrait-il en plus prévoir un système de -conversion de TIFF, GIF, TGA, ... vers le langage d'impression -de votre imprimante (Alladin avec GhostScript/GhostView propose -quelques filtres, mais bon). A part quelques langages de -description de pages comme PostScript et un ou deux autres qui -pratiquent une compatibilité ascendante quant aux versions du -langage qu'ils utilisent, les autres fabricants d'imprimantes -changent de langage quasiment à chaque modèle ou série -d'imprimante (impossible de tenir à jour autant de -convertisseurs). - -Pour tout cela le langage PostScript (PS et EPS) nous rend -grandement service en nous simplifiant la vie (et pour d'autres -raisons aussi). C'est peut-être un peu plus lourd à manipuler, -mais plus simple pour tout le monde de convertir vos images en -EPS. De plus, si vous ne disposez pas d'imprimante PostScript, -GhostScript/GhostView se chargera d'interpréter le fichier PS -(texte + images), fabriquera une bitmap à la bonne résolution et -pourra l'envoyer à votre imprimante via votre pilote -d'impression. Tout cela automatisé dans une bonne distribution -est transparent à l'utilisateur. - -Pour plus de détails, consulter le grfguide disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/packages/graphics/ et le document epslatex -disponible sur ftp://ftp.fdn.org/pub/CTAN/info/. - -# 29.43 # A quoi sert la commande \(re)newenvironment ? -------------------------------------------------------- -Les commandes \newenvironment et \renewenvironment permettent de -définir des actions qui seront appliquées entre les commandes -\begin{mon_environnement} et \end{mon_environnement}. Ces -commandes doivent être appelées dans le préambule du document -suivant la syntaxe : - \newenvironment{nom}[nb_arg]{avant}{après} -avant et après sont les actions qui auront lieu à l'entrée et à -la sortie du nouvel environnement. - -Exemple : -\documentclass{report} -\usepackage{french} - -\newenvironment{Relief}[1] -{\mbox{\Large{\uppercase{#1}}}} - -\begin{document} -\begin{Relief} - {Il}~était une fois~\ldots -\end{Relief} -\begin{Relief} - {U}n jour peut être~\ldots -\end{Relief} -%%%% fin exemple %%%% - -# 29.44 # Comment récupérer le nom du fichier compilé ? -------------------------------------------------------- -Pour récupérer le nom du fichier compilé et l'afficher lors -d'une compilation, il faut utiliser la commande \jobname. - -Exemple : -Le fichier source est \texttt{\jobname.tex}. -%%%% fin exemple %%%% - -# 29.45 # Comment gérer des conditions de traitement dans un style ? --------------------------------------------------------------------- -Le package 'ifthen' disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/base/ -permet d'implémenter des traitements conditionnels tels que -\ifthenelse et \whiledo. - -# 29.46 # A quoi servent les commandes \setlength et \addtolength ? -------------------------------------------------------------------- -Ces deux commandes permettent de modifier la longueur de -certains paramètres. - -Exemples : -+ \setlength{nom_parametre}{longueur} -+ \addtolength{nom_parametre}{longueur} -%%%% fin exemple %%%% - -# 29.47 # Quelles sont les unités de mesure de TeX ? ----------------------------------------------------- -TeX comprend six unités de mesure : -+ pt point = 0,35 mm -+ mm millimètre -+ ex correspond à la hauteur d'un x dans la fonte courante -+ em correspond à la largeur d'un m dans la fonte courante -+ cm centimètre -+ in pouce = 2,54 cm - -# 29.48 # A quoi sert la commande \mbox ? ------------------------------------------ -La commande \mbox permet à LaTeX de considérer son argument -comme une seule entité. Elle peut ainsi empêcher la coupure -d'un mot ou d'un groupe de mots. - -Exemple : -Mon numéro de téléphone est le~\mbox{01 69 63 12 68}. -%%%% fin exemple %%%% - -# 29.49 # Comment obtenir des points de suspension ? ----------------------------------------------------- -La commande \ldots permet d'obtenir trois points de suspension -espacés correctement. - -# 29.50 # Comment désactiver une ligature ? -------------------------------------------- -Pour désactiver une ligature, il faut introduire {} ou une -\mbox{} entre les lettres ligaturées. - -Exemple : -comparez effacer, ef{}facer et ef\mbox{}facer -%%%% fin exemple %%%% - -# 29.51 # Comment gérer les versions d'un document ? ----------------------------------------------------- -* Pour les versions provisoires, voir la question 29.26. - -* Il existe le package 'vrsion' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/vrsion/ qui permet via la -commande \version d'inclure un numéro de version dans un -document LaTeX. Ce numéro est incrémenté à chaque compilation. - -* On peut également se reporter à la question 29.35 pour inclure -le jour et l'heure de compilation dans un document. - -# 29.52 # Comment changer certains titres ? -------------------------------------------- -Il suffit de renommer les variables suivantes : - \def\refname{R\'ef\'erences}% - \def\abstractname{R\'esum\'e}% - \def\bibname{Bibliographie}% - \def\prefacename{Pr\'eface}% - \def\chaptername{Chapitre}% - \def\appendixname{Annexe}% - \def\contentsname{Table des mati\`eres}% - \def\listfigurename{Table des figures}% - \def\listtablename{Liste des tableaux}% - \def\indexname{Index}% - \def\figurename{{\scshape Fig.}}% - \def\tablename{{\scshape Tab.}}% - \def\partname{\protect\@Fpt partie}% - \def\@Fpt{{\ifcase\value{part}\or Premi\`ere\or Deuxi\`eme\or - Troisi\`eme\or Quatri\`eme\or Cinqui\`eme\or Sixi\`eme\or - Septi\`eme\or Huiti\`eme\or Neuvi\`eme\or Dixi\`eme\or - Onzi\`eme\or Douzi\`eme\or Treizi\`eme\or Quatorzi\`eme\or - Quinzi\`eme\or Seizi\`eme\or Dix-septi\`eme\or - Dix-huiti\`eme\or Dix-neuvi\`eme\or Vingti\`eme\fi}}% - \space\def\thepart{}}% - \def\pagename{page}% - \def\seename{{\emph{voir}}}% - \def\alsoname{{\emph{voir aussi}}}% - \def\enclname{P.~J. }% - \def\ccname{Copie \`a }% - \def\headtoname{}% - \def\proofname{D\'emonstration}% for AMS-LaTeX - -Remarque : lorsque certains changements de noms sont déjà gérés - par un package (french par exemple) il faut placer - les définitions ci-dessus après le \begin{document}. - -# 29.53 # Comment insérer un code source dans un document ? ------------------------------------------------------------ -* Le package 'listings' disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/listings/ permet de gérer la -mise en page de code source avec notamment la mise en relief de -mots clés. - -* La distribution GUTenberg contient un package du nom de -'lgrind' (executable+lgrind.sty) qui, entre autres (C, C++, -Pascal, BASIC, Modula-2, Fortran, RATFOR, Yacc, PostScript, -Prolog, MLisp, Icon, LaTeX, Perl, CSH, Bourne Shell, assembler, -68000 assembler, asm68, VMS assembler, ISP, LDL, Linda, MODEL, -MatLab, Russell), formatte du code C++ en LaTeX. Ce programme -disponible sur CTAN permet à partir de code source C de générer -du code LaTeX respectant l'indentation. Ce package est également -disponible sur ftp://ftp.fdn.org/pub/CTAN/support/lgrind/. - -* wflman disponible par ftp sur -ftp://ftp.keck.hawaii.edu/pub/wlupton/wflman-2.2.2.tar.gz -peut aussi être utile. - -* Il existe également DOC++ qui peut créer une documentation -HTML ou LaTeX à partir des infos ajoutées dans les commentaires -du code C++. Pour plus de détails, voir : -http://www.ZIB-Berlin.DE/VisPar/doc++/doc++.html - -* Le package 'tgrind', qui vient avec un .sty et une moulinette -permet de transformer un .c en .tex - -* Le package 'c++2latex' sous license GNU est capable de -convertir des fichiers C, C++ et JAVA en LaTeX2e. Les lignes -peuvent être numérotées. - -* Le package 'cprog' disponible sur CTAN permet de formater des -programmes C en TeX. - -* Le package 'c2ltx', de M. Plugge -(plugge@biv7.sr.fh-mannheim.de), appartient à la famille de -convertisseurs cvt2ltx. Il numérote les lignes, traduit != en -$\neq$ , gère les commentaires, les en-têtes de procédures, etc. -Il supporte plusieurs fichiers d'entrée et gère automatiquement -les changements de section et la génération d'index. Une -documentation est disponible par ftp sur -ftp://axp3.sr.fh-mannheim.de/cvt2latex/cvt2ltx.zip. -Ce package sera bientôt disponible sur CTAN. -AL: il y est, peut être, non ? - -# 29.54 # Comment tracer une ligne horizontale ? ------------------------------------------------- -* Pour obtenir une ligne centrée par rapport à la mi-hauteur au -dessus de la ligne d'écriture, on peut utiliser ceci : -\hbox{\raisebox{0.4em}{\vrule depth 0pt height 0.4pt width 1cm} -Toto} - -# 29.55 # Comment générer un espace invisible de taille donnée ? ----------------------------------------------------------------- -Il existe pour cela la commande \phantom. Celle-ci génère un -espace invisible de la même longueur que son argument. - -Exemple : -Complète les mots qui manquent dans le texte suivant~: - -Le petit chaperon \phantom{rouge} se promène~\ldots. -%%%% fin exemple %%%% - -# 29.56 # Qu'est ce qu'une correction italique ? ------------------------------------------------- -Pour que LaTeX puisse gérer correctement le passage d'une fonte -italique à une fonte droite, il peut être utile d'utiliser la -commande \/. Cela permet d'augmenter légèrement l'espace qui -sépare la dernière lettre en italique, de la première lettre -droite. - -Exemple : -Un \textit{cheval}\/ file au galop. -%%%% fin exemple %%%% - -# 29.57 # Quels sont les accents accessibles sous LaTeX ? ---------------------------------------------------------- -Les accents accessibles sous LaTeX sont les suivants : -+ \`{a} ou \`a accent grave -+ \'{e} ou \'e accent aigu -+ \^{i} ou \^i accent circonflexe -+ \"{o} ou \"o trema -+ \~{u} ou \~u tilde -+ \={o} ou \=o surligné -+ \.{o} ou \.o point -+ \u{o} -+ \v{o} -+ \H{o} trema hongrois -+ \t{oo} -+ \c{c} cédille -+ \d{o} point en dessous -+ \b{o} sousligné - -# 29.58 # Comment écrire dans un fichier pendant une compilation ? ------------------------------------------------------------------- -* On dispose pour cela des commandes \write et \newwrite. - -Exemple : -\newwrite\test -\openout\test=toto -\write\test{Je m'appelle Paul} -\write\test{\noexpand\thesection} -\closeout\test -\bye -%%%% fin exemple %%%% - -Remarque : \noexpand permet d'inclure des commandes LaTeX sans - qu'elles soient interprêtées. - -* Le package 'french' propose la commande -\originaloutput[fichier]{texte} pour écrire le "texte", tel -qu'il est fourni, dans le "fichier". Dans ce cas, les caracteres -actifs de french sont automatiquement desactivés. C'est donc -l'equivalent de \immediate\write\fichier{texte}. - -* Le package 'sverb' disponible sur CTAN propose -l'environnement verbwrite. - -Exemple : -\begin{verbwrite}{fichier.tmp} - Ce texte va être sauvé dans le fichier fichier.tmp. -\end{verbwrite} -%%%% fin exemple %%%% - -# 29.59 # Comment gérer des compteurs ? ---------------------------------------- -Un certain nombre de compteurs sont prédéfinis dans LaTeX, il -s'agit : -+ des compteurs de structuration du document : part, chapter, -section, subsection, subsubsection, paragraph, subparagraph, -+ du compteur de page, -+ du compteur d'équation, -+ du compteur de figure, -+ du compteur de tables, -+ des compteur de notes : footnote et mpfootnote, -+ et des compteurs de liste : enumi, enumii, enumiii et enumiv. - -Pour définir son propre compteur, il faut utiliser la commande -\newcounter{nv_cptr}[ref_cptr]. Lorsque qu'un compteur déjà -existant est passé en argument (ref_cptr), le nouveau compteur -nv_cptr sera réinitialisé à chaque incrément (via \stepcounter -ou \refstepcounter) du compteur ref_cptr. - -Par défaut, la valeur d'un nouveau compteur est 0. La commande -\setcounter{cptr}{val} permet de lui donner une autre valeur. On -peut également incrémenter la valeur d'un compteur via la -commande \addtocounter{cptr}{val}. La valeur d'un compteur peut -être récupérée, dans un calcul par exemple, grâce à la commande -\value{cptr}. - -\stepcounter{cptr} permet d'incrémenter le compteur cptr et de -réinitialiser tous les compteurs liés par référence (argument -ref_cptr de la commande \newcounter). La commande -\refstepcounter{cptr} permet en outre de mettre à jour la valeur -courante du compteur qui pourrait être appelé par un \ref. - -\thecptr, où cptr est le nom d'un compteur, permet d'afficher sa -valeur. - -Exemple : -\newcounter{section} -\newcounter{subsection}[section] -%%%% fin exemple %%%% - -# 29.60 # Quels sont les différents styles de compteurs ? ---------------------------------------------------------- -Il en existe six prédéfinis : -+ \arabic{cptr} pour un nombre arabe, -+ \roman{cptr} pour un nombre romain minuscule, -+ \Roman{cptr} pour un nombre romain majuscule, -+ \alph{cptr} pour une lettre minuscule, -+ \Alph{cptr} pour une lettre majuscule, -+ \fnsymbol{cptr} pour un symbole. - -Exemple : -\renewcommand{\thesection}{\Roman{section}} -\renewcommand{\thesubsection}{\thesection.\roman{subsection}} -%%%% fin exemple %%%% - -# 29.61 # Comment programmer un traitement itératif ? ------------------------------------------------------ -Le package 'multido' propose une commande \multido qui est une -boucle TeX. Sa syntaxe est la suivante : - \multido{variables}{nbiteration}{code} -Le code sera ainsi répété nbiteration fois. Les déclarations de -variables sont séparées par des virgules. Un déclaration prend -la forme : - variable = valeurinitiale + increment -Elle est utile notamment pour le dessin de figures. - -Exemple (doc package) : -\setlength{\unitlength}{1cm} -\small -\begin{picture}(8,1)(0,-.5) - \put(0,0){\vector(1,0){8}} - \multido{\i=0+1, \n=0+0.25}{8}{% - \put(\i,-.1){\line(0,1){.2}} - \put(\i,-.2){\makebox(0,0)[t]{\n}}} -\end{picture} -%%%% fin exemple %%%% - -# 29.62 # A quoi servent les commandes savebox ? ------------------------------------------------- -Il existe les commandes : -+ \newsavebox{ma_boite} pour déclarer une boîte -+ \sbox{ma_boite}{contenu} pour remplir ma_boite -+ \savebox{ma_boite}[lagr][pos]{contenu} pour remplir une -boîte de largeur lagr et de position pos -+ \usebox{ma_boite} pour appeler le contenu de ma_boite -+ lrbox est l'environnement équivalent à sbox - -Exemple : -\newsavebox{\maboite} -\sbox{\maboite}{\textbf{Alcatel Alsthom Recherche}} -\usebox{maboite} se situe à Marcoussis. Je travaille à -\usebox{maboite} depuis~\ldots... -%%%% fin exemple %%%% - -# 29.63 # Comment résoudre certaines incompatibilités de packages ? -------------------------------------------------------------------- -Il arrive parfois lorsque plusieurs packages sont utilisés -simultanément que des macros différentes portent le même nom, ou -que certaines macros perturbent le fonctionnement d'autres -macros. Dans certains cas le problème peut se résoudre en -changeant l'ordre d'appel des packages. - -Exemple (J.P. Drucbert) : -Le paquetage psboxit définit des commandes \psboxit qui -engendrent \special{ps: ...}. Le problème vient de ce -deux-points. Si vous chargez psboxit.sty AVANT babel (option -french), pas de problème, le deux-points est un caractère -ordinaire (other) lors de la déclaration de la macro \psboxit et -donc le \special écrira bien un ":". - -Par contre si psboxit.sty est chargé APRES babel (option -french), le deux-points est alors un caractère actif au moment -de la déclaration de la macro \psboxit, et le \special n'écrira -pas un deux-points, mais un espace insécable (en fait une macro -interne de babel) et un :, d'où les erreurs. C'est un cas -classique de catcodes pas très bien gérés (en fait psboxit.sty -devrait sauver le catcode de : , donner la catégorie other au -caractère :, définir \psboxit, puis restaurer le catcode). -%%%% fin exemple %%%% - -# 29.64 # Qu'est ce que Lollipop ? ----------------------------------- -C'est un jeu de macro de V. Eijkhout, destiné à faciliter -l'écriture de macros TeX. Il est disponible sur -ftp://ftp.fdn.org/pub/CTAN/macros/lollipop/. - -# 29.65 # J'ai un problème avec babel ! ---------------------------------------- -En tentant d'utiliser babel, j'obtiens l'erreur suivante: - -! Undefined control sequence. -\add@accent ...l \mathchardef \accent@spacefactor - \spacefactor }\accent #1 #... -l.3 \begin{document} - -Le problème est connu et a été corrigé par babel le 19 août 1999. Si vous ne -pouvez pas mettre à jour votre paquetage de babel, utilisez le cache-bogue -suivant, à mettre dans le préambule (donation de Javier Bezos): - -\makeatletter -\let\accent@spacefactor\relax -\makeatother - -Vous pouvez également ajouter la ligne suivante dans vos entêtes: -\usepackage{t1enc} - -En effet, le problème ne se manifeste pas en codage T1. - -# 29.66 # Qu'est ce que cette FAQ ? ------------------------------------ -- quelques 660 url, dont: - - plus de 390 url sur ctan; - - et quelques 270 url externes; -- quelques litres de café; -- beaucoup de sueur; -- de nombreux CDs usés. -================================================================ -[30] REMERCIEMENTS ET CONTRIBUTIONS -================================================================ - -Je [mpk] remercie vivement les personnes qui ont contribué de près -ou de loin à l'élaboration de cette FAQ. Je remercie également -les personnes qui me soutiennent et m'encouragent. - -Je [bb] tiens à remercier les personnes qui m'ont envoyé des patchs -ou des correctifs sur cette faq, et qui ont à vrai dire beaucoup -plus travaillé que moi. - -La liste des contributions ci-après se veut aussi complète que -possible. Si vous avez été oublié, n'hésitez pas à me contacter. - -Contributions [ depuis le 15/07/99 ] -- Arnaud Launay -- Antoine Chambert-Loir -- Maurice Diamantini -- Philippe Pham -- Frédéric Petit -- Jean-Dominique Orvoen -- Éric Depardieu -- Benoît Rivet -- Nadine Manset -- Nicolas Corréard -- Denis Roegel -- Julien Mudry -- François Lesage -- Vincent Lefèvre -- Jean Dezert -- Stéphane Pion -- Jean-Baptiste Marchand -- André Allavena - --- -Benjamin Bayart -bayartb@edgard.fdn.fr diff --git a/Master/tlpkg/bin/ctan2tds b/Master/tlpkg/bin/ctan2tds index a482fae64ae..75a748242f0 100755 --- a/Master/tlpkg/bin/ctan2tds +++ b/Master/tlpkg/bin/ctan2tds @@ -158,6 +158,7 @@ chdir $startdir || die "chdir($startdir) failed: $!"; # back to raw 'euenc', "&MAKEflatten", 'expressgx', "&MAKEexpressg", 'fancyvrb', "&MAKEfancyvrb", + 'faq-fr', "die 'skipping, non-free'", 'fc', "&MAKEflatten", 'featpost', "&MAKEfeatpost", 'feynmf', "&MAKEfeynmf", |