DE FR.COMP.TEXT.TEX
Foire Aux Questions classée et mise en page
`: `; `! `?
Le forum 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 , sachant que certains sites utilisent encore l'ancienne version (notamment pour travailler sur d'anciens documents utilisant des styles ou macros non compatibles avec ), cette FAQ présente encore des aides pour LATEX2.09. Cependant, il est entendu que ces dernières seront amenées à disparaître.
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 accent 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.
Le logiciel TEX est un formateur de texte et non un traitement de texte. De plus il n'est pas WYSIWYG, ce qui peut rebuter plus d'un utilisateur venant des traitements de texte inclus dans les suites bureautique. Il est surtout adapté à la rédaction de document scientifique car sa gestion des mathématiques n'a aucun égal.
Le logiciel TEX (1978) est le formateur de texte de D. E. Knuth. A l'origine, Knuth a développé TEX (en WEB cf. paragraphe ) 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 (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 en mode ``LATEX2.09 compatibility mode''.
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.
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.
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 est la suivante :
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 et ).
Les informations présentées dans ces structures peuvent être mises sous différentes formes grâce à des environnements tels que tabular ou itemize.
\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 %%%%
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 () et la commande \begin{document}).
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 et ).
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.
Quand on utilise plusieurs packages :
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.
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 :
A partir d'un fichier source fichier.tex, pour générer un fichier fichier.dvi, il faut appliquer :
Il en existe différentes sortes :
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 :
Voici une liste d'ouvrage en ligne ou d'imprimeur qui vont vous permettre de devenir des pros de LATEX. Un gros investissement en terme de lecture et de travail est néanmoins nécéssaire. Il faut un peu souffrir pour avoir de beaux documents
http://www.loria.fr/tex/texbib.html propose une bibliographie tenue à jour.
Toutes les bonnes urls, pour découvrir, apprendre, télécharger LATEX. Le système Comprehensive TEX Archive Network rassemble en un même endroit, toutes ces informations.
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 :
Voici quelques exemples de sites :
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:
subscribe gut Votre_Nom Votre_institution
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 :
Les distributions TEX/LATEX sont souvent libres. Les sources sont donc disponibles et il est possible de les télécharger. De plus elles sont disponibles pour la plupart des systèmes d'exploitation du monde informatique.
La distribution GUTenberg est disponible par ftp sur ftp://ftp.gutenberg.eu.org/pub/gut/. Elle est basée sur MlTEX (adapté à ), TEX, Metafont. Les binaires sont disponibles pour :
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/.
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 .
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''.
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 . La distribution comprend également dvips.
XFig est disponible dans /pub/aminet/gfx/edit/.
Ghostscript est disponible dans /pub/aminet/gfx/show/.
Une version a également été développée à l'ESIEE http://www.esiee.fr/~tex/Install/Amiga/index.html.
Pour tous renseignements contacter Ken Yap (ken@syd.dit.csiro.au).
Une distribution TEX sur TOPS-20 est disponible par ftp anonyme sur ftp://ftp.math.utah.edu/pub/tex/pub/web/.
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 . 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/.
Mettre en page un document sous LATEX est assez simple si l'on est capable d'attendre la compilation pour visualiser le document final. Il est vrai que cela s'apparente plus à de la description de page que du traitement de texte.
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.
Il existe également les packages 'doublespace' (pour LATEX2.09) et 'setspace' (pour ) 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
prévoit directement les options de classe twoside et openright.
\begin{document}
\cleardoublepage
\chapter{Introduction.}
Texte.
\cleardoublepage
\chapter{Thèse.}
Texte.
\end{document}
%%%% fin exemple %%%%
Les définitions de \section, \sub(sub)section, etc, se trouvent dans les fichiers .cls (report.cls, article.cls, book.cls).
L'option standard twocolumn permet de présenter un texte sur deux colonnes verticales.
\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 %%%%
\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 %%%%
\begin{multicols}{3}[Titre sur une seule colonne.]
3colonnes équilibrées, 3colonnes équilibrées, 3colonnes
équilibrées, 3colonnes é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 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/required/tools/).
L'option a5paper de 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 .
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/.
Pour PC twoup fait cela, mais ce n'est pas du domaine public.
La structure d'une page LATEX permet de nombreux ajustements :
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, ...).
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 :
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.
Globalement, pour passer en orientation paysage, il suffit de mettre l'option landscape dans \documentclass () ou dans \documentstyle (LATEX2.09).
\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 %%%%
Pour le cas où vous auriez un fichier dvi en landscape, vous pouvez obtenir un fichier postscript propre en utilisant la commande:
L'environnement vcenterpage ci-dessous permet de centrer verticalement un texte sur une page seule.
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, ...).
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 :
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.
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.
Il faut valoriser la variable \parindent.
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).
Il faut ajouter la commande
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 .
Les packages 'initial' et 'initials' pour 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 , disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/misc/.
Le package 'bigstart' pour LATEX2.09 et 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 :
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.
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 faut modifier la macro makechapterhead.
Ajouter, par exemple, dans le préambule :
\def\@makeschapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedright
\normalfont
\interlinepenalty\@M
\Huge \bfseries #1\par\nobreak
\vskip 40\p@
}}
\makeatother
%%%% fin macro %%%%
Il faut utiliser l'environnement tabbing qui permet de placer des marques d'alignement dans un texte.
Voici ¯ des ¯ marques ¯ de tabulation
la je m'aligne sur la première
la sur la troisième
¯ ¯
un autre exemple.
|
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 :
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.
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.
some words
Il faut modifier la variable \columnsep.
L'environnement list permet de définir son propre style de liste. Sa syntaxe est la suivante :
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.
\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 %%%%
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/.
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.
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.
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.
\footnotetext[1]{double bla}
\footnotetext[2]{triple bla}
%%%% fin exemple %%%%
bla blabla bla bla bla blablabla bla bla bla bla blabla bla.
Avec french, on peut utiliser la commande \refmark.
Il suffit d'ajouter les lignes :
Pour agir localement, on peut également utiliser la commande \enlargethispage (cf. question ).
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.
Pour pouvoir attacher un titre de style table à un environnement non flottant (i.e. autre que figure ou table), il faut définir :
\begin{itemize}
\item rouge
\item vert
\item bleu
\end{itemize}
\caption{Liste des couleurs primaires.}
Texte.
%%%% fin exemple %%%%
\captionof{table}{\caption{un titre ici}\label{foo}}
un autre texte
\end{document}
%%%% fin exemple %%%%
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 pour un exemple plus complet.
\end{nom-flottant}
%%%% fin exemple %%%%
\begin{figure}
\begin{bigbox}
\includegraphics{../foobar.ps}
\end{bigbox}
\caption{Dessin.}
\end{figure}
\end{document}
%%%% fin exemple %%%%
La commande \rotcaption fournie avec le package 'rotating' permet de changer l'orientation d'un caption.
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.
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.
À 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$.
Le caractère est interprété par LATEX et permet d'obtenir un espace insécable.
Pour forcer LATEX à laisser une page blanche dans un document, il faut utiliser successivement les trois commandes :
\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 :
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.
Pour agir sur un mot particulier, il faut utiliser la commande \hyphenation.
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 tout un document, il faut utiliser la commande \sloppy dans le préambule du document. On peut également utiliser la déclaration :
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
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/ peut également être utile.
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.
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/.
Pour forcer un retour à la ligne dans un caption, il faut utiliser
Il suffit d'utiliser le package 'changebar' disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/changebar/.
Le package 'moreverb' propose un environnement encadré.
Le package 'shapepar' disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/ définit des environnements losange, coeur, etc.
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 :
Il suffit d'utiliser la commande \vspace et de préciser en argument la hauteur de l'espace voulu.
\vspace{2cm}
Texte après.
%%%% fin exemple %%%%
Texte avant.
Texte après.
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.
blabla bla bli bli bli
Pour agir de manière globale (sur tout le document), les paramètres de définition d'un paragraphe sont :
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.
bla bla bla bla bla bla
un texte normal
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.
Les environnements flushleft et flushright permettent de justifier à gauche ou à droite une portion de texte.
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.
Il existe également les commandes \raggedright et \raggedleft.
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.
Il existe deux environnements de gestion des citations :
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 %%%%
L'environnement quote n'indente pas ces paragraphes par contre l'espace vertical entre ces derniers est supérieur à celui d'un texte standard. La preuve !
L'environnement quotation indente la première ligne de ses paragraphes et sépare ses paragraphe d'un espace vertical standard. La preuve !Dans les deux cas les marges droite et gauche sont plus importante que celles d'un texte standard.
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.
La commande \LaTeX permet d'imprimer le logo LaTeX.
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 *.
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.
Je mange pomme.
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 :
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.
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/required/graphics/. Il permet de coloriser le texte ou le fond du document.
Voir également la question : Comment griser le fond (background) d'un paragraphe ?
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/.
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).
\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 %%%%
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.
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 %%%%
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.
Ci-dessous un exemple de style de JHB Nijhof (nijhojhb@aston.ac.uk) :
\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 %%%%
On peut utiliser la commande \parindent.
\makebox[0pt][r]
{Notes:\ }La première note pour dire que ...
La seconde pour préciser que ...
}
%%%% fin exemple %%%%
Notes :
Notes : |
Il existe trois environnements de liste par défaut :
\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 %%%%
On peut utiliser la commande \marginpar{note marge}.
ldots
%%%% fin exemple %%%%
La valeur du paramètre temps est fixée à 12 minutes
AC |
Les commandes permettant de définir une page de garde sont :
\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 %%%%
Pour associer des remerciements dans chaque chapitre d'un thèse, par exemple, il faut définir sa propre macro à base de \footnote.
\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 %%%%
Le package 'french' propose les environnements resume et abstract.
Cet articleldots
\end{document}
%%%% fin exemple %%%%
\begin{french}
\begin{abstract}
Texte français
\end{abstract}
\end{french}
%%%% fin exemple %%%%
Il existe deux repères pour cela :
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.
L'option a4paper exécute :
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.
Je décide que le dernier mot de cette ligne soit coupé en deux ici: documentation. N'est ce pas beau ?
Pour indiquer à LATEX comment couper certain mots, on peut utiliser la commande \hyphenation.
Les deux variables qui définissent respectivement l'espace avant une légende et l'espace après sont : \abovecaptionskip et \belowcaptionskip.
Les tableaux permettent de regrouper des information d'une manière synthétique et facilement compréhensive. LATEX permet de mettre en page de beau et grand tableau si l'on connait les commandes de mise en page.
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}
une | deux | trois | quatre |
case centrée | encore centrée | à gauche | à droite |
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 :
Le package 'longtable', de D. Carlisle, disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/required/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.
Premiere colonne | Deuxieme | Troisieme |
Premiere | Deuxieme | Troisieme |
Suite ... | ||
Suite page suivante | ||
C'est fini | ||
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 |
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.
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/required/graphics/.
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.
Pour pouvoir associer une légende (\caption) à un tableau, il suffit de l'encapsuler dans un environnement table.
un | deux |
trois | quatre |
Pour obtenir des lignes horizontales fines ou épaisses dans un tableau, il faut utiliser les commandes
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.
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'.
UN | DEUX |
TROIS | QUATRE |
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/required/tools/.
gras | penché | normal |
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 : \
donnee1 | donnee2 |
Il faut utiliser la commande :
Texte sur 2 colonnes | |
donnée1 | donnée2 |
A | B |
Le package 'color' disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/required/graphics/ permet entre autres de le faire. En fait, il permet de définir des couleurs de texte et de fond de page.
1 | ||
2 |
ou ()
\begin{tabular}{|c|c|c|}
\hline
1&Coucou Coucou Coucou &\\
&\colorbox{black}{\makebox[\Coucoulength][c]{\color{white}Coucou}}
&\\
&&2\\
\hline
\end{tabular}
%%%% fin exemple %%%%
1 | Coucou Coucou Coucou | |
2 |
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.
centré | à gauche | largeur fixe | à droite |
bla bla bla | bla bla bla | bla bla bla | bla bla bla |
Avec le package 'array', disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/required/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.
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.
test | |||
DADWRD | RARWRD | ||
2 | 1 | 90 n | 228 n |
3 | pd | 202 n | 449 n |
4 | pd2 | 424 n | 891 n |
5 | pd3 | 866 n | 1774 n |
Il faut utiliser le package 'slashbox' disponible par ftp sur ftp://ftp.tohoku.ac.jp/pub/TeX/latex-styles/bear_collections/style-files/.
|
|
|
|
| ||||||
Meeting Room | ||||||||||
Auditorium | ||||||||||
Seminar Room |
Avec le package 'array' disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/required/tools/, il suffit de déclarer \begin{tabular}{>{$}c<{$}cc} pour avoir une colonne en mode mathématique et deux colonnes de texte.
cf. question .
cf. question .
@{symbole} entre deux descripteurs de colonnes permet de définir "symbole" comme séparateur de colonnes. Cela remplace |.
Le lion | est féroce. |
Le chien | est fidèle. |
La commande \cline{ColonneDebut-ColonneFin} est faite pour ça.
a | b | c | d | e | f | g | h | i | j | k |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
Il faut pour cela utiliser la commande \strut qui simule un objet vertical invisible, après le changement de fonte.
HELLO dfg |
HELLO dfg |
Il existe l'équivalent mathématique : \mathstrut.
On peut également agrandir la hauteur des lignes avec la commande \arraystretch :
Le package 'tabularx' disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/required/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.
Il faut utiliser les packages 'hvdashln' et 'array'.
Le problème qui se pose lorsqu'on utilise :
Il existe différentes solutions pour pallier ce problème :
col1 | col 2 | col3 une | deux | trois |
quatre |
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.
La gestion des figures est un peu particulière. Les points suivants décrivent la manière et les trucs pratiques à connaître pour rendre un document graphiquement agréable.
Sous , il faut utiliser l'un des packages :
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.
Sous , il faut utiliser le package 'graphics' ou 'graphicx' disponibles sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/required/graphics/.
\begin{figure}
\includegraphics[width=5cm]{fig1.eps}\hfill
\includegraphics[width=5cm]{fig2.eps}
\caption{Titre commun}\label{fig:somefiglabel}
\end{figure}
%%%% fin exemple %%%%
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.
PSFrag (disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/psfrag/) donne cette possibilité. La solution consiste en fait à :
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.
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.
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.
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
La FAQ GNUplot est disponible à http://www.uni-karlsruhe.de/~ig25/gnuplot-faq/.
Xy-pic compatible plain TEX, LATEX2.09 et permet de tracer des courbes, de réaliser des diagrammes commutatifs, des automates, et plein d'autres choses. Pour plus de renseignements, consulter :
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.
Comme mentionné précédemment (), il existe différentes options de placement des figures. Les plus classiques sont
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 pour un exemple d'utilisation de ce package.
De même l'utilisation du caractère ! devant une option de placement permet de forcer à effectuer son placement au plus tôt (suivant l'option choisie).
Pour placer une légende à côté d'une figure, il faut utiliser l'environnement minipage.
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 défini, mais, au mieux, sur la page d'après. Le positionnement [h] n'a donc pas de sens.
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.
En format eps (encapsulated postscript), la `bounding box` permet de préciser la taille d'une image. La syntaxe est la suivante :
De plus ces coordonnées sont exprimées en points PostScript, c'est à dire en soixante-douzième de pouce, i.e.:
A. J. Carr a adapté ce package à . 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/.
Il faut utiliser la commande \unnumberedcaption dont voici la définition :
\makeatother % <=== in a .sty file delete this
%%%% fin macro %%%%
Par exemple pour changer la fonte de Figure : en gras, il faut utiliser :
On peut déjà remarquer que la numérotation se fait automatiquement en fonction des chapitres lorsque l'on utilise la classe de document 'book'. Par contre, ce n'est pas le cas lorsque l'on utilise la classe 'article'. Ainsi, pour obtenir des figures numérotées 1.1, 1.2, 1.3, ... dans la section 1, 2.1, 2.2, 2.3, ... dans la section 2, etc..., il suffit de redéfinir la commande \thefigure et de remettre le compteur de figures à zéro lorsque l'on change de section :
\makeatletter
\renewcommand{\thefigure}{\ifnum \c@section>\z@ \thesection.\fi
\@arabic\c@figure}
\@addtoreset{figure}{section}
\makeatother
%%%% fin macro %%%%
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.
A | B | C | D | E | F | G | H | I | J | K | |
picinipar | + | + | + | + | + | + | |||||
wrapfig | + | + | + | + | + | H | - | + | |||
flow | - | - | + | + | |||||||
floatfig | + | - | - | + | + | - | |||||
floatflt | + | + | + | + | + | - | + | ||||
window | - | - | + | + | + | + | |||||
picins | + | - | + | + | + | + |
avec :
Voici également une macro de C. Mercat :
\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 %%%%
Il existe le package 'bar', disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/misc/, qui offre un environnement barenv.
Il existe plusieurs contributions (toutes assez anciennes), disponibles sur CTAN, dédiées spécifiquement à la réalisation de différents types d'organigrammes :
Le package 'bigcenter' ci-dessous permet de centrer des figures très larges sans message d'erreur de type overful.
%%% 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 %%%%
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.
ps2epsi, qui est livré avec GhostScript permet de convertir du postscript en postscript encapsulé.
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/required/graphics/.
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".
\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 %%%%
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 ou elles apparaissent.
On distingue deux techniques majeures :
\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 %%%%
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.
Il est parfois intéressant de pouvoir inclure un fichier de texte complet à l'intérieur d'un document LATEX. Par exemple le code source d'un programme, ou encore un fichier de dessin au format LATEX.
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/required/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/.
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.
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.
Il faut utiliser un outil qui permet de découper en page :
On peut utiliser la commande \special{pictfile mondessin.pict} ou \put(0,0){\special{pict=Mondessin}}.
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.
\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 %%%%
Une jolie mise en page passe par la réalisation des entêtes et des pieds de pages. On peut y intégrer les numéros de pages, des informations concernant l'auteur, un renvoi du titre du chapitre ... bref tout ce qui donne un aspect professionnel à votre document.
Les macros principales sont :
Ce package définit quatre nouvelles longueurs :
\begin{document}
\section{Première section.}
Intro.
\subsection{Sous-section.}
Texte.
\end{document}
%%%% fin exemple %%%%
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.
Le package 'endnotes', de J. Lavagnino, disponible sur CTAN permet de faire cela.
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.
\begin{document}
\section[Titre résumé.]{Un titre trop long pour les rappels.}
Intro.
\subsection{Sous-section.}
Texte.
\end{document}
%%%% fin exemple %%%%
Il suffit simplement de définir un label à l'intérieur de la commande \footnote et de la référencer par \ref.
[...]
..., comme l'indique la noteref{footnote-bla}, ...
%%%% fin exemple %%%%
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.
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/).
\makeatletter
\renewcommand{\@evenfoot}%
{\hfil \upshape page {\thepage} de \pageref{LastPage}}
\renewcommand{\@oddfoot}{\@evenfoot}
\makeatother
\begin{document}
Texte.
\end{document}
%%%% fin exemple %%%%
Il suffit de mettre dans le préambule :
Il faut modifier la commande \thepage.
\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 %%%%
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) :
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.
Il faut utiliser la commande \protect.
Il faut utiliser le package 'footnote', de R. Fairbairns, disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/footmisc/ avec l'option para :
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 :
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.
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).
La commande \samepage peut permettre de forcer LATEX à ne pas couper le contenu d'une note de bas de page.
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.
Bien que prévu au départ pour la langue de Shakespeare, TEX/LATEX permet de rédiger facilement dansnotre belle langue française.
'babel' version 3.6 disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/required/babel/, est un package de J. Braams.
babel permet de composer des documents multilingues. Son appel sous se fait par
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:
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 -------------
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 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' :
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 ).
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.
Les accents disponibles sous LATEX sont présentés à la question .
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 :
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.
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.
\begin{document}
Voici du texte en hébreu
\begin{arabtext}
yOm tOb
\end{arabtex}
Fin du texte en hébreux
\end{document}
%%%% fin exemple %%%%
Il suffit d'utiliser le package ArabTEX 3.05 disponible sur CTAN. Son site primaire est ftp://ftp.informatik.uni-stuttgart.de/pub/arabtex/.
(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.
Ce pour quoi LATEX a été écrit : les mathématiques, c'est un domaine où il excelle.
Pour les mathématiques en ligne, il faut utiliser :
Résoudre l'équation : 3 + 4 x = 0
Pour les formules isolées, il faut utiliser les modes :
Résoudre l'équation :
|
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.
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 åi=0n ui texte texte texte texte texte texte texte texte texte texte texte texte texte texte
De même, on peut utiliser
åi=0n ui.
Pour écrire des mathématiques sous , 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.
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 . 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/amslatex/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/required/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.
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'.
Sous , les options de classe leqno et fleqn permettent d'indiquer si les numéros d'équations doivent apparaître à droite ou à gauche des équations.
|
Pour supprimer la numérotation des équations, il suffit d'ajouter le caractère * aux noms des environnements d'équation.
|
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 :
\begin{document}
\begin{eqnarray}
x + 4 & = & 0 \\
y - 2 & = & 0
\end{eqnarray}
%%%% fin exemple %%%%
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 permet de personnaliser la numérotation des équations.
| (12.3) |
| (12.4) |
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}.
[...]
Voir le systèmeref{E-gp} et en particulier
l'équationref{E-gp2}.
%%%% fin exemple %%%%
x_1 x_2 + x_1^2 x_2^2 + x_3
x_1 x_3 + x_1^2 x_3^2 + x_2
x_1 x_2 x_3
[...]
Voir le système et en particulier l'équation .
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.
\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 %%%%
f(x)
|
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 :
\begin{alignat}{5}
10a& ={}& 3x&& 3y& +{}& 18z&& 2w&\\
6a& ={}& 17x&& & +{}& 5z&& 19w&
\end{alignat}
%%%% fin exemple %%%%
2 x
Le package 'mathenv' disponible sur CTAN propose un éventail d'environnements mathématiques pour aligner des entités en colonne.
Il suffit d'utiliser le package 'amsmath', disponible sur ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/, et d'appeler la commande \overrightarrow.
Le vecteur [( ®) || u]
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' :
\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 %%%%
$\bvec{y} = \left[ \cvec{y}{0}{3} \right]$
%%%% fin exemple %%%%
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.
Pour ajuster la taille de délimiteurs tels que les parenthèses, les accolades, etc, il suffit d'utiliser les commandes \left et \right.
%%%% fin exemple %%%%
( [ 1/2] )
{ et }
Résoudre le système :
|
( (x+1) (x-1) ) 2 {{{{
Il faut utiliser les packages 'amsmath' ou 'amssymb' puis :
\DeclareSymbolFontAlphabet{\mathbfcal}{boldsymbols}
Une formule moins importante:
\mathversion{normal}
$$\sum_{i=0}n v_i$$
%%%% fin exemple %%%%
Une formule importante :
|
|
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.
Pour obtenir le L de la transformée de Laplace, il faut utiliser le package 'mathrsfs' puis la commande
Il faut utiliser l'environnement array.
Résultats :
|
LATEX propose un grand nombre de commandes de symboles.
\pm | ± | \cap | Ç | \diamond | à | \oplus | Å |
\mp | -± | \cup | È | \bigtriangleup | \bigtriangleup | \ominus | \ominus |
\times | × | \uplus | \uplus | \bigtriangledown | \bigtriangledown | \otimes | Ä |
\div | ¸ | \sqcap | \sqcap | \triangleleft | \triangleleft | \oslash | Æ |
\ast | * | \sqcup | \sqcup | \triangleright | \triangleright | \odot | \odot |
\star | * | \vee | Ú | \wedge | Ù | \bigcirc | \bigcirc |
\dagger | f | \setminus | \ | \amalg | \amalg | \circ | ° |
\ddagger |
| \cdot | · | \wr | \wr | \bullet | · |
\lhd | \lhd | \rhd | \rhd | \unlhd | \unlhd | \unrhd | \unrhd |
\leq | £ | \geq | ³ | \equiv | º | \models | \models |
\prec | \prec | \succ | \succ | \sim | ~ | \perp | ^ |
\preceq | \preceq | \succeq | \succeq | \simeq | @ | \mid | | |
\ll | << | \gg | >> | \asymp | \asymp | \parallel | || |
\subset | Ì | \supset | É | \approx | » | \bowtie | \bowtie |
\subseteq | Í | \supseteq | Ê | \cong | @ | \Join | \Join |
\sqsubset | \sqsubset | \sqsupset | \sqsupset | \neq | ¹ | \smile | \smile |
\sqsubseteq | \sqsubseteq | \sqsupseteq | \sqsupseteq | \doteq | \doteq | \frown | \frown |
\in | Î | \ni | ' | \propto | µ | ||
\vdash | \vdash | \dashv | \dashv |
\leftarrow | ¬ | \longleftarrow | ¬ | \uparrow | |
\Leftarrow | Ü | \Longleftarrow | Ü | \Uparrow | Ý |
\rightarrow | ® | \longrightarrow | ® | \downarrow | ¯ |
\Rightarrow | Þ | \Longrightarrow | Þ | \Downarrow | ß |
\leftrightarrow | « | \longleftrightarrow | « | \updownarrow | \updownarrow |
\Leftrightarrow | Û | \Longleftrightarrow | Û | \Updownarrow | \Updownarrow |
\mapsto | ® | \longmapsto | ® | \nearrow | \nearrow |
\hookleftarrow | \hookleftarrow | \hookrightarrow | \hookrightarrow | \searrow | \searrow |
\leftharpoonup | \leftharpoonup | \rightharpoonup | \rightharpoonup | \swarrow | \swarrow |
\leftharpoondown | \leftharpoondown | \rightharpoondown | \rightharpoondown | \nwarrow | \nwarrow |
\rightleftharpoons | \rightleftharpoons | \leadsto | \leadsto |
\sum | å | \bigcap | Ç | \bigodot | \bigodot |
\prod | Õ | \bigcup | È | \bigotimes | Ä |
\coprod | \coprod | \bigsqcup | \bigsqcup | \bigoplus | Å |
\int | ò | \bigvee | Ú | \biguplus | \biguplus |
\oint | (ò) | \bigwedge | Ù |
\aleph | À | \prime | ¢ | \forall | " | \infty | ¥ |
\hbar | (h/2p) | \emptyset | Æ | \exists | $ | \Box | [¯] |
\imath | i | \nabla | Ñ | \neg | Ø | \Diamond | \Diamond |
\jmath | j | \surd | Ö | \flat | \flat | \triangle | \triangle |
\ell | l | \top | T | \natural | \natural | \clubsuit | § |
\wp | Ã | \bot | ^ | \sharp | \sharp | \diamondsuit | ¨ |
\Re | Â | \| | | | \backslash | \ | \heartsuit | © |
\Im | Á | \angle | Ð | \partial | ¶ | \spadesuit | ª |
\mho | \mho |
Il existe un certain nombre de fonctions définies par défaut.
\arccos | arccos | \cos | cos | \csc | csc | \exp | exp |
\arcsin | arcsin | \cosh | cosh | \deg | deg | \gcd | gcd |
\arctan | arctan | \cot | cot | \det | det | \hom | hom |
\arg | arg | \coth | coth | \dim | dim | \inf | inf |
\ker | ker | \limsup | limsup | \min | min | \sinh | sinh |
\lg | lg | \ln | ln | \Pr | Pr | \sup | sup |
\lim | lim | \log | log | \sec | sec | \tan | tan |
\liminf | liminf | \max | max | \sin | sin | \tanh | tanh |
\[
\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 %%%%
De même, le package 'amstex' (LATEX2.09) définit les commandes \operatorname et \operatornamewithlimits.
Il suffit de construire un tableau sans lignes avec l'environnement array.
|
Pour encadrer cette matrice avec des délimiteurs, cf. paragraphe .
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 :
Le package 'amsmath', disponible sur ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/, offre la commande \boxed.
|
Il existe également la commande \fbox.
| (12.8) |
Le package 'fancybox' disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/seminar/inputs/ peut également être utile.
Une dernière solution consiste à mettre la formule dans un tableau d'une seule cellule.
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).
\xrightarrow[au dessus]en dessous
Les commandes \sideset \overset et \underset du package 'amsmath' permettent de placer du texte à gauche, en haut ou en bas.
Xy-pic est un outil simple et puissant qui permet de réaliser de tels diagrammes (cf. paragraphe 8.6).
\[
\begin{CD}
d @> > > e @> > > f \\
@AAA @. @AAA \\
a @> > > b @> > > c
\end{CD}
\]
%%%% fin exemple %%%%
|
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é.
Les packages 'algorithm' 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.
L. Lamport définit certaines conventions dans sa page WEB : http://www.research.digital.com/SRC/personal/Leslie_Lamport/latex/latex.html.
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.
%%%% fin exemple %%%%
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/.
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.
|
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 :
Il suffit d'inclure la macro suivante dans le préambule de votre document :
Il faut utiliser la commande \DeclareMathSizes :
rAB r AB r\scriptscriptstyle AB
En utilisant les caractères romans, on peut appliquer la commande \small.
rAB
La commande \vphantom définit une boîte invisible dont la hauteur est celle de son argument.
|
LATEX offre la commande
\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 importantref{label-th-AA} est à apprendre par
c\oe{}ur, le théorèmeref{label-th-aaa} peut être utile.
%%%% fin exemple %%%%
Package | amsthm | theorem | ntheorem |
Retour à la ligne après le titre | Ö | Ö | Ö |
Pas de numérotation d'un théoreme | Ö | Ö | |
Position du numéro du théoreme | Ö | Ö | |
Style de la numérotation | Ö | ||
Ponctuation après le titre (:,.,etc) | Ö | Ö | |
Fonte du titre ou du corps | Ö | Ö | Ö |
Indentation du titre | Ö | ||
Espace vertical autour du théorème | Ö | Ö | Ö |
Voici une solution présentée par T. Bouche et S.A. Zaimi :
\begin{document}
{\mathtitre0 $$A+B=C{BA}$$}
{\mathtitre1 $$A+B=C{BA}$$}
{\mathtitre2 $$A+B=C{BA}$$}
{\mathtitre3 $$A+B=C{BA}$$}
{\mathtitre4 $$A+B=C{BA}$$}
{\mathtitre5 $$A+B=C{BA}$$}
\end{document}
%%%% fin exemple %%%%
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.
Le package 'dcolumn' disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/required/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.
Voici les différents espaces prédéfinis :
|
Pour écrire un intérieur suivant les habitudes mathématiques françaises, Yannis Haralambous propose un package, ymath, disponible sur le CTAN dans ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/yhmath. On y trouve notamment les commandes \ring{} et \windering{} pour définir un intérieur.
%%%% fin exemple %%%%
\overbrace et \underbrace.
|
En mode math, il existe différents types de points de suspension suivant leur orientation :
|
On peut utiliser les commandes \left délimiteur et \right classiques devant un tableau.
|
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é.
%numérotation de chaque équation du système
\begin{EqSystem}
2x + y = 6 \\
3x + y = 7
\end{EqSystem}
%%%% 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.
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.
LATEX propose la commande \frac{arg1}{arg2} dont l'argument arg1 est le numérateur et arg2 dénominateur.
en formule :
|
Il existe la commande \sqrt[n]{arg}, qui représente la racine nième de arg. [n] est un paramètre optionnel.
|
Il suffit de faire précéder leur nom en toutes lettres d'un backslash :
Il existe pour cela la commande
|
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.
On peut utiliser le package 'amsmath', disponible sur ftp://ftp.fdn.org/pub/CTAN/fonts/ams/amslatex/.
Avec l'environnement array en mode mathématiques (cf. question ).
|
|
|
| ||||||||
|
|
|
|
|
| ||||||
| |||||||||||
|
|
| |||||||||
|
|
On peut faire de plus jolies flèches (redimensonnables) avec les commandes graphiques.
Pour cela, il faut choisir une unité de longueur avant par:
|
La gestion facile des réferences aux équations, aux tables et aux figures....
LATEX permet de gérer automatiquement des références croisées grâce aux commandes suivantes :
Remplir la table 13.1, page pageref
Question | Réponse |
1 + 12 | |
45 + 76 |
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.
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/required/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.
\usepackage{french}
\usepackage[french]{varioref}
\begin{document}
Remplir la tableref{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 %%%%
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/required/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.
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.
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.
Lorsque l'on utilise les techniques classiques de références, le \label fera référence au \caption puisque c'est là que le compteur est incrémenté. Mais le \caption est souvent en bas de figure (ou de tableau, ou de tout autre flottant). Ca ne pose pas de problème pour un document papier, mais pour de l'hypertexte, il serait plus intéressant d'utiliser la solution proposée par Michel Bovani :
\includegraphics{Figure13.pdf}
\caption{C'est ma figure.}
\end{figure}
%%%% fin exemple %%%%
Tout savoir pour donner un plan complet de son document.
LATEX propose la commande \tableofcontents à appeler à l'endroit où l'on veut insérer la table 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.
Le compteur minitocdepth permet de fixer la profondeur des tables des matières désirées.
\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 %%%%
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ù :
On peut utiliser la commande :
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.
\begin{document}
\tableofcontents
\vspace{.5cm}
\hrule
\part{Aaa.}
\section{aaa.}
\subsection{bbb.}
\subsubsection{ccc.}
\end{document}
%%%% fin exemple %%%%
La classe book définit les commandes \frontmatter, \mainmatter et \backmatter qui permettent de faire cela.
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.
Il suffit d'inclure les lignes suivantes dans le préambule du document :
La plupart des documents scientifiques utilisent les références bibliographiques. LATEX permet une gestion aisée et pratique.
Il existe deux techniques pour construire une bibliographie :
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 :
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.
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 :
////////////// 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 %%%%
\let\if@openbib\iffalse
\makeatother
Les commandes qui ont été définies sont :
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.
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.
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 :
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 'footmisc' de R. Fairbairns disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/footmisc/.
E. Domenjoud a également écrit le package 'footbib', disponible sur CTAN, qui permet de faire cela. Eric.Domenjoud@loria.fr.
Il suffit d'utiliser la commande \cite avec en paramètre la clé du document (cf. paragraphe ). La commande \cite peut prendre un texte en option.
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/.
Suivant la classe de document que l'on utilise (article, book, report, ...), il faut redéfinir :
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}.
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 :
Pour cela il existe le package 'biblist' de J. chrod, disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex209/contrib/biblist/.
On peut mettre la commande \cite dans un \caption à condition de la protéger : \protect\cite.
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.
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 :
Le package 'cite' disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/cite/ offre certaines possibilités.
Pour séparer les éléments d'une liste d'auteurs, il faut utiliser ``and''.
Il existe l'outil BibTool disponible sur ftp://ftp.fdn.org/pub/CTAN/biblio/bibtex/utils/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.
L'appel du fichier ainsi trié se fait alors par exemple par :
Il faut utiliser le package 'backref' disponible sur CTAN.
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.
Il faut utiliser le champ crossref de BibTEX.
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é :
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.
Il suffit de mettre les majuscules entres accolades.
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.
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.
Pour utiliser la commande \cite dans l'item d'un environnement description, il suffit de l'encadrer dans des accolades.
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é...
La création d'un index est aussi gèrée par LATEX. Quelques commandes utiles qui permettent de le faire rapidement.
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 :
Pour construire un index à plusieurs niveaux d'entrée, il faut utiliser les commandes suivantes :
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.
Il faut utiliser la commande :
Pour mettre en relief certains numéros de référence par rapport à d'autres, on peut utiliser les macros suivantes :
Le package 'fancyhdr' () 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.
Il faut utiliser le package 'index' (et, si nécessaire, charger le package 'french' après).
Il existe également le package 'multind'.
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/.
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/.
Le glossaire ressemble à l'index. Il est souvent necessaire de le générer à part du document original.
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}.
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 :
Pour créer des documents avec un style déjà defini (une thèse, un rapport technique) est assez aisé avec LATEX. De nombreux contributeurs ont écrit des paquets qui présente toutes les caractéristiques et environnements nécéssaires au style choisi.
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://tex.loria.fr/.
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.
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/.
Dans le préambule :
Ces macros sont distribuées avec LYX, et donc parfaitement intégrées à LYX.
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 .
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
Il existe la classe 'refman' disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/refman/.
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.
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 "newsletter". Il est destiné à TEX (et pas LATEX). Le résultat est très satisfaisant (multicolonages, cadres simples, etc).
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 :
La création de transparents est aussi possible, bien sur le résultat est prévu pour l'impression.
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/.
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 (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 à 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.
Avec le package 'seminar', disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/seminar/.
On peut également utiliser une commande \special (cf. paragraphe ).
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.
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).
Le package 'seminar' permet de définir des entêtes et des pieds de pages.
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.
On peut forcer l'option par défaut à H :
L'exemple suivant montre comment paramétrer la couleur du fond.
Néanmoins, aujourd'hui il est conseillé d'utiliser plutôt l'extension standard 'color' de LATEX pour ce faire.
Pour imprimer en miroir un document (pour faire de la photocomposition), il existe un prologue PostScript pour DVIPS que voici :
Le package 'seminar' permet d'inclure une image de fond.
Pour cela, il existe le package '2up'.
Ecrire sa correspondance avec LATEX permet d'obtenir de jolis documents très professionnels.
Il existe pour cela la classe letter. Celle-ci définit les commandes :
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 '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 '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/.
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.
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.
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.
La classe scrlettr.cls du package koma-script permet de faire cela.
Sous la classe lettre disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/, il existe la commande \nodate.
Il faut utiliser le package float et déclarer le type figure :
Les symboles et Logos sont le plus souvent contenus dans des fontes spéciales. Pour un dessin plus particulier, il est encore possible de l'écrire à la main par l'intermédaire d'une macro.
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 ...
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/.
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 |
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/.
En fait le symbole ``degré'' ne devrait pas être confondu avec un < < petit o en exposant > >. C'est un caractère définit :
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 () :
Il existe le package 'astro' disponible sur ftp://ftp.fdn.org/pub/CTAN/fonts/astro/.
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/.
Il suffit d'utiliser le package "pifont", de S. Rhatz et W. Schmidt, disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/required/psnfss puis de faire \Pisymbol{psy}{210} ou encore \Pisymbol{psy}{226}.
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 (). Sauvegarder les commandes suivantes dans un fichier 'fuzzy.sty'. Ce package nécessite les packages 'amsfonts' et 'xspace'.
Il suffit de taper \S.
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 :
Il suffit d'utiliser le package ``pifont'' puis de faire
Il suffit de taper \_.
Il est disponible dans le package 'karta' disponible sur CTAN.
Il suffit d'appeler la commande \LATEX.
Le nouveau logo s'obtient par \LATEXe.
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.
Le package 'french' propose la commande \numero.
Le symbole pourcent s'obtient symplement par la commande \%.
Le symbole pourmille est définit dans le package 'textcomp' via la commande \textperthousand.
Il faut appeler la commande \oe{}. Les accolades permettent d'isoler la commande dans un mot.
Il s'agit des symboles : # $ % & _ \ { }.
Pour les imprimer il faut donc utiliser des commandes à savoir : \# \$ \% \& \_ \{} \{ \}. Pour le caractère tilde voir la question , et pour le backslash, il faut appeler \backslash en mode mathématique.
Il suffit d'utiliser la fonte caligraphique.
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Le logo AMS-TEX s'obtiens en appelant \AmS-\TEX et le logo AMS-LATEX en appelant \AmS-\LATEX.
Voici une liste des symboles les plus courants :
Il existe effectivement différents tirets sous LATEX :
Marie-Paule
voir page 19-32
entre deux thèmes - par exemple.
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, ....
Il existe différentes techniques :
Le package 'amssymb' propose la commande \blacksquare.
Voici deux macros proposées par S. Cirilli:
Même les musiciens ne sont pas oubliés par notre formatteur de texte préféré. Différents paquets sont disponibles pour les Mozart en herbes.
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://icking-music-archive.sunsite.dk/index.html 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/.
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/.
l 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/.
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.
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.
La portabilité, voici le maître mot de l'informatique moderne. Pour être portable, il est souvent nécéssaire de convertir les fichiers.
dvips, de T. Rokicki, a l'avantage de savoir gérer les ``virtual fonts''. Il est disponible par ftp anonyme à :
dvipsk, de K. Berry, est disponible sur ftp://ftp.fdn.org/pub/CTAN/dviware/.
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.
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/.
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.
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/.
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/.
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 :
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):
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.
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.
SchemeWEB, de J. Ramsdell, est disponible sur ftp://ftp.fdn.org/pub/CTAN/web/schemeweb/.
Framemaker dispose d'un filtre permettant d'importer des fichiers TEX.
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.
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/.
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.
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).
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'.
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.
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/.
C'est le programme bm2font qui permet de faire cela. Il est disponible sur CTAN. La documentation est aussi sur le LATEX Navigator (http://tex.loria.fr/).
Pour plus de détails sur metafont il existe la liste metafont@ens.fr. Pour s'inscrire, envoyez à
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.
L'outil pstotext présenté à la question précédente permet également d'extraire du texte ascii d'un fichier pdf.
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.
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.
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.
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 :
Quelques remarques :
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 %%%%
Afin de générer des fichiers graphiques que vous insérerez dans votre document TEX, différents logiciels sont disponibles.
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.
L'orthographe est encore un gros problème dans les documents dactylographiés. Il n'est pas rares de vois des coquilles dans les meilleurs bouquins. La correction des mots s'avère donc utile.
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.
Qui utilise LATEX, quels sont les organismes qui distribuent ce logiciel. Un point sur les contacts disponibles dans l'univers de la typographie numérique.
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.
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/.
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.
Les fontes permettent de changer l'apparence des lettres de votre document. Bien que de nombreuses de fontes soient installées sur votre système par la distribution de base de LATEX, il peut être utiled'en ajouter.
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 :
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.
Une fonte possède :
Pour déclarer une fonte par défaut dans un document, il existe les commandes \familydefault, \encodingdefault, \seriesdefault et \shapedefault.
En , pour un changement ponctuel de fonte, un certain nombre de commandes sont disponibles par défaut :
Un bel arbre. Un très bel arbre.
Pour changer la fonte de tout un paragraphe, on utilisera plutôt les commandes \rmfamily, \sffamily, \ttfamily, \bfseries, \mdseries, \itshape, \slshape, \upshape et \scshape.
BLABLA
ou
blabla
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.
Pour modifier la fonte des numéros de paragraphe, il faut redéfinir seccntformat.
Le package 'verbatim' disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/required/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.
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 :
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.
Sur CTAN bien sûr, dans ftp://ftp.fdn.org/pub/CTAN/fonts/.
Le package 'tracefnt' permet de suivre le chargement des fontes lors de la compilation d'un document. Ce package définit plusieurs options :
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) :
Une source d'information à ce sujet: http://www.radamir.com/tex/ttf-tex.htm
Toutes les questions qui n'ont pas pu être classées dans les chapitres précédents sont regroupées ici. Il s'agit le plus souvent de petits trucs très utiles que tout bon LATEX nicien devrait connaître.
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.
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 :
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 .
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 ).
Pour visualiser la valeur d'un compteur, il suffit de demander
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).
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.
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 .
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/.
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'.
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.
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.
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.
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.
Il existe aussi la commande \textsuperscript qui permet d'obtenir un exposant sans passer en mode mathématique.
Pour forcer LATEX à introduire un espace après une macro, il suffit de faire suivre son appel d'un backslash (\).
texte texte , texte
texte texte , texte
Pour que LATEX gère lui même les espaces, il suffit d'utiliser systématiquement les caractères {}.
texte texte , texte uf
On peut également définir une macro TEX \keepspace :
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.
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 'algorithm' de P. Williams offre la commande \listofalgorithms.
Il suffit d'utiliser la commande \listfiles.
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.
Lorsqu'il s'agit d'un package conçu pour 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 :
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''.
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.
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/.
Pour pouvoir ajouter des définitions sur une commande prédéfinie sans la réécrire complètement, il faut utiliser la commande \let.
Il existe pour cela le package 'afterpage' disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/required/tools/.
Le package 'dialogl' disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/dialogl/ permet de définir des scripts LATEX interactifs.
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.
On peut également utiliser la macro :
Le package 'ulem' disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/ permet de barrer des caractères.
La commande \ensuremath assure que son argument sera imprimé en mode mathématique quel que soit le mode courant.
La commande \newcommand permet à l'utilisateur de définir ces propres commandes. La commande \renewcommand permet de redéfinir des commandes LATEX déjà existantes. Elle s'utilise dans le préambule du document :
On peut trouver la package 'cropmark' sur ftp://ftp.fdn.org/pub/CTAN/macros/generic/.
On peut mettre la définition suivante dans le préambule du document :
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.
fournit la commande \textasciitilde sous fonte T1. Sous OT1, il faut définir :
Une autre solution consiste à utiliser $\sim$.
Autre solution, utiliser : \char`\
Le plus simple consiste à utiliser :
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 ses commandes sont moins robustes.
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.
La macro décrite ci-dessous, à inclure dans le préambule de votre document, définit la commande \timenow :
En ajoutant la macro suivante de H. Hanche-Olsen dans le préambule de son document, on peut via la commande
A priori, il n'y a pas de solution simple à ce problème :
La commande \string permet de désactiver un caractère rendu actif par une macro.
fournit l'environnement lrbox.
Pour ne faire apparaître que deux chiffres au lieu de quatre, il faut utiliser :
La commande magnification permet de faire un zoom d'un document.
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.
P. Perichon :
TEX/LATEX + DVIPS procèdent en 2 temps :
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.
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/.
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 :
Pour récupérer le nom du fichier compilé et l'afficher lors d'une compilation, il faut utiliser la commande \jobname.
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.
Ces deux commandes permettent de modifier la longueur de certains paramètres.
TEX comprend six unités de mesure :
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.
Mon numéro de téléphone est le 01 69 63 12 68.
La commande \ldots permet d'obtenir trois points de suspension espacés correctement.
Pour désactiver une ligature, il faut introduire {} ou une \mbox{} entre les lettres ligaturées.
comparez effacer, effacer et effacer
Pour les versions provisoires, voir la question .
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 pour inclure le jour et l'heure de compilation dans un document.
Il suffit de renommer les variables suivantes :
Pour obtenir une ligne centrée par rapport à la mi-hauteur au dessus de la ligne d'écriture, on peut utiliser ceci :
Toto |
Il existe pour cela la commande \phantom. Celle-ci génère un espace invisible de la même longueur que son argument.
Complète les mots qui manquent dans le texte suivant :
Le petit chaperon se promène ....
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.
Un cheval file au galop.
Les accents accessibles sous LATEX sont les suivants :
On dispose pour cela des commandes \write et \newwrite.
Le package 'sverb' disponible sur CTAN propose l'environnement verbwrite.
Un certain nombre de compteurs sont prédéfinis dans LATEX, il s'agit :
Par défaut, la valeur d'un nouveau compteur est 0. La commande
\thecptr, où cptr est le nom d'un compteur permet d'afficher sa valeur.
Il en existe six prédéfinis :
Le package 'multido' propose une commande \multido qui est une boucle TEX. Sa syntaxe est la suivante :
Il existe les commandes :
Alcatel Alsthom Recherche |
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.
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 %%%%
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/.
En tentant d'utiliser babel, j'obtiens l'erreur suivante:
En effet, le problème ne se manifeste pas en codage T1.
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 ]