« LaTeX/Vadémécum » : différence entre les versions

Contenu supprimé Contenu ajouté
DannyS712 (discussion | contributions)
m <source> -> <syntaxhighlight> (phab:T237267)
Ligne 30 :
 
; Exemple
<sourcesyntaxhighlight lang="latex">
\hspace{4em}
\vspace{0.5\baselineskip}
</syntaxhighlight>
</source>
 
Certaines commandes, dites « fragiles », ne donnent pas le résultat attendu dans certains environnement ou arguments de commandes. Le fait de placer devant la commande <code>\protect</code> peut parfois résoudre le problème.
Ligne 45 :
 
Voici un fichier de préambule typique :
<sourcesyntaxhighlight lang="latex">
% ************************
% * fichier de préambule *
Ligne 68 :
\newcommand{\citital}{\emph} % citation en italique
\newcommand{\nomprog}{\texttt} % nom de programme en police teletype
</syntaxhighlight>
</source>
 
On peut de même créer un fichier de fin de document, par exemple pour un livre, le fichier <code>fin_livre.tex</code> :
<sourcesyntaxhighlight lang="latex">
% ******************
% * fichier de fin *
Ligne 81 :
 
\tableofcontents
</syntaxhighlight>
</source>
 
=== Commandes personnelles ===
Ligne 111 :
On peut créer des squelettes pour différents types de document.
Pour un livre, on aura par exemple
<sourcesyntaxhighlight lang="latex">
\documentclass[a4paper, 11pt]{book}
 
Ligne 140 :
 
\end{document}
</syntaxhighlight>
</source>
et pour un article
<sourcesyntaxhighlight lang="latex">
\documentclass[a4paper, 11pt]{article}
 
Ligne 163 :
 
\end{document}
</syntaxhighlight>
</source>
 
Notons que :
Ligne 183 :
 
On peut définir le format avec les extensions <code>geometry</code> et <code>multicol</code> (qui permet d'utiliser plus de deux colonnes), auquel cas on n'indique que le corps de texte avec la classe :
<sourcesyntaxhighlight lang="latex">
\documentclass[11pt]{article}
 
Ligne 194 :
\end{multicols}
\end{document}
</syntaxhighlight>
</source>
 
== Structuration du document ==
Ligne 225 :
 
Si l'on veut au contraire faire figurer une partie, on utilise <code>\addcontentsline</code>, par exemple :
<sourcesyntaxhighlight lang="latex">
\addcontentsline{toc}{section}{\protect\numberline{}Préface}
\chapter*{Préface}
</syntaxhighlight>
</source>
Le deuxième argument est le niveau de titre (<code>chapter</code>, <code>section</code>, <code>subsection</code>, …). La bibliographie, l'index, les listes de tableau et de figure et la table des matière elle-même peuvent être inclus automatiquement (sans utiliser <code>\addcontentsline</code>) en utilisant l'extension <code>tocbibind</code>.
 
Ligne 528 :
 
Pour une lettrine, il faut utiliser l'extension <code>lettrine</code>, on a alors la commande <code>\lettrine</code> :
<sourcesyntaxhighlight lang="latex">
\lettrine{L}{es premiers} mots du paragraphe...
</syntaxhighlight>
</source>
 
=== Mise en page ===
Ligne 606 :
 
Enfin, si un type de colonne doit être utilisé plusieurs fois, l'extension <code>array</code> permet de définir un type de colonne, par exemple
<sourcesyntaxhighlight lang="latex">
\newcolumntype{C}{>{\centering\arraybackslash}p{3cm}}
\begin{tabular}{|l|C|}
...
</syntaxhighlight>
</source>
 
L'extension <code>slashbox</code> permet de scinder une cellule en deux selon la diagonale, par exemple pour la cellule en haut à gauche du tableau, on utilise :
Ligne 635 :
* <code>gray</code> : modèle nuances de gris, avec un nombre décimal entre 0 (noir) et 1 (blanc).
On peut définir une nouvelle couleur avec <code>\definecolor</code> :
<sourcesyntaxhighlight lang="latex">
\definecolor{vertolive}{rgb}{0.5,0.5,0}
</syntaxhighlight>
</source>
 
Pour un tableau, on utilise le paramètre <code>table</code> en appelant l'extension <code>xcolor</code>, <code>\usepackage[table]{xcolor}</code>. On peut alors définir :
Ligne 643 :
* la couleur de fond d'une colonne en mettant <code>&gt;{\columncolor{''couleur''}}</code> avant la désignation de la colonne dans la définition de l'environnement <code>tabular</code> ; on peut lui adjoindre la couleur des caractères <code>&gt;{\color{''couleur''} \columncolor{''couleur''}}</code> ;
* la couleur de fond d'une cellule en mettant <code>\cellcolor{''couleur''}</code> en début de cellule.
<sourcesyntaxhighlight lang="latex">
\begin{tabular}{|l|l|>{\columncolor{yellow}}l|}
\hline
Ligne 649 :
\rowcolor{cyan} B1 & B2 & \cellcolor{green}B3 \\ \hline
\end{tabular}
</syntaxhighlight>
</source>
Pour une alternance de couleur sur deux lignes, on peut utiliser la commande <code>\rowcolors</code> (avec un ''s''?) : <code>\rowcolors{''début''}{''couleur impaire''}{''couleur paire''}</code>, ''début'' étant la première ligne colorée (cela permet de sauter les en-têtes).
<sourcesyntaxhighlight lang="latex">
\rowcolors{1}{lightgray}{white}
\begin{tabular}
...
</syntaxhighlight>
</source>
 
== Éléments autres que du texte ==
Ligne 668 :
 
L'extension <code>hyperref</code> met en forme l'adresse réticulaire et crée en plus un lien cliquable dans le document :
<sourcesyntaxhighlight lang="latex">
\url{http://fr.wikibooks.org/}
\url{mailto:jeveuxduspam@fai.fr}
\url{news:fr.comp.text.tex}
</syntaxhighlight>
</source>
Comme l'extension redéfinit un certain nombre de commandes, il est recommandé de la placer en dernier dans le préambule. Si l'on veut colorer le lien, on peut appeler l'extension avec l'option <code>colorlinks=true</code>. L'option <code>breaklinks=true</code> autorise LaTeX à faire des césures dans les adresses :
<sourcesyntaxhighlight lang="latex">
\usepackage[colorlinks=true,breaklinks=true]{hyperref}
</syntaxhighlight>
</source>
Si vous ne voulez pas de lien mais simplement une mise en forme, vous pouvez utiliser la commande <code>\url{…}</code> de l'extension <code>url</code>.
 
Ligne 682 :
 
Un élément flottant est une image ou un tableau dont le placement est laissé à l'initiative de LaTeX ; LaTeX se charge également de la numérotation. Un élément flottant est défini par un environnement : <code>figure</code> pour une image et <code>table</code> pour un tableau.
<sourcesyntaxhighlight lang="latex">
\begin{figure}[position]
\caption{\label{étiquette} titre}
Ligne 689 :
[…]
Dans la figure~\ref{étiquette} page~\pageref{étiquette}, […].
</syntaxhighlight>
</source>
ou bien
<sourcesyntaxhighlight lang="latex">
\begin{table}[position]
\caption{\label{étiquette} titre}
Ligne 700 :
[…]
Dans le tableau~\ref{''étiquette''} page~\pageref{''étiquette''}, […].
</syntaxhighlight>
</source>
Le paramètre optionnel ''position'' est une lettre indiquant l'emplacement désiré :
* <code>h</code> pour qu'il soit à côté du texte précédant dans le source ''(here)'',
Ligne 709 :
 
Pour centrer l'objet, il faut utiliser <code>\centering</code> :
<sourcesyntaxhighlight lang="latex">
\begin{figure}[position] \begin{table}[position]
\centering \centering
[…] […]
\end{figure} \end{table}
</syntaxhighlight>
</source>
La commande <code>\clearpage</code> qui provoque un changement de page et l'affichage de tous les flottants en attente. L'instruction <code>\cleardoublepage</code> a le même effet, mais le texte qui suit est placé en belle page.
 
Ligne 720 :
 
L'extension <code>rotating</code> fournit deux environnements flottants appelés <code>sidewaystable</code> et <code>sidewaysfigure</code> qui permettent de placer les objet à l'italienne (en paysage), en faisant également tourner le titre.
<sourcesyntaxhighlight lang="latex">
\begin{sidewaystable}
\caption{titre}
Ligne 727 :
\end{tabular}
\end{sidewaystable}
</syntaxhighlight>
</source>
 
=== Formules mathématiques ===
Ligne 741 :
* <code>\[…\]</code> pour une formule hors alinéa non-numérotée.
; Exemple
<sourcesyntaxhighlight lang="latex">
\begin{equation}
\label{eq_gas_pft}
Ligne 748 :
Dans l'équation~\ref{eq_gas_pft},
dite \og équation des gaz parfaits \fg, ...
</syntaxhighlight>
</source>
 
==== Fonctions ====
Ligne 1 102 :
 
; Exemple
<sourcesyntaxhighlight lang="latex">
\unit{\nombre{1000}}{\meter} = \unit{1}{\kilo\meter}
 
Ligne 1 111 :
 
La vitesse s'exprime en mètres par seconde (\meter\per\second)
</syntaxhighlight>
</source>
 
L'extension <code>sistyle</code> est plus simple d'utilisation : elle définit une commande similaire
\SI{''nombre''}{''unité''}
mais unité est écrite comme une formule mathématique
<sourcesyntaxhighlight lang="latex">
\SI{1}{N}=\SI{1}{kg.m/s^2}
</syntaxhighlight>
</source>
Si l'on veut utiliser le point décimal dans l'unité, il faut employer <code>\pnt</code>. On dispose également de quelques unités et suffixes particuliers (<code>\angstrom</code>, <code>\micro</code>, <code>\degC</code>, <code>\arcdeg</code>, <code>\arcmin</code>, <code>\arcsec</code>).
 
Ligne 1 124 :
 
L'extension <code>mhchem</code> permet d'écrire simplement des formules compactes et semi-développées, ainsi que des équations de réaction.
<sourcesyntaxhighlight lang="latex">
\usepackage[version=3]{mhchem}
...
\ce{1/2H2O}
\ce{^{227}_{90}Th+}
</syntaxhighlight>
</source>
donnent respectivement <math>\mathrm{\frac{1}{2}H_2O}</math> et <math>\mathrm{{}^{227}_{90}Th^+}</math>. Les nombres après les symboles chimiques sont en indice, les + et - sont en exposant, et l'on peut utiliser la notation mathématique <code>^{…}</code> et <code>_{…}</code> pour forcer la position. Le <code>\ce</code> est un mode mathématiques, on peut par exemple écrire <code>\ce{\frac{n}{2}H2O}</code>. Par ailleurs :
* la liaison simple se marque avec un <code>-</code> ou <code>\sbond</code>, la double avec un <code>=</code> ou <code>\dbond</code>, et la triple avec un <code>#</code> ou <code>\tbond</code> ;
Ligne 1 140 :
 
L'extension ''ppchtex'' permet également d'écrire des formules et équations :
<sourcesyntaxhighlight lang="latex">
\usepackage{etex}
\usepackage{m-pictex,m-ch-en}
...
\chemical{2H_2,+,O_2,->,2H_2O}
</syntaxhighlight>
</source>
La syntaxe générale est <code>\chemical{''élément 1'',''élément 2'',…}</code> où ''élément n'' est :
* une molécule ou une partie de molécule : on utilise ici la notation mathématique ;
Ligne 1 153 :
Si la formule est dans un mode mathématique hors paragraphe (<code>\[...\]</code> ou environnement <code>equation</code>),
on peut mettre du texte au-dessus ou en dessous.
<sourcesyntaxhighlight lang="latex">
\chemical{texte principal}{texte dessous}
\chemical{texte principal}{texte dessus}{texte dessous}
</syntaxhighlight>
</source>
 
=== Code source ===
Ligne 1 165 :
 
On définit le langage ainsi qu'un caractère d'échappement juste après l'appel de l'extension :
<sourcesyntaxhighlight lang="latex">
\usepackage{listings}
\lstset{language=TeX,
Ligne 1 171 :
columns=flexible,
escapechar=+}
</syntaxhighlight>
</source>
Dans l'exemple ci-dessus, on indique :
* que l'on écrit du TeX ou du LaTeX, ce qui permettra à l'extension de reconnaître les mots-clefs et d'appliquer une mise en forme spécifique ;
Ligne 1 178 :
* que le caractère d'échappement est « <code>+</code> ».
Le texte compris entre deux caractères d'échappement est interprété par LaTeX, par exemple dans
<sourcesyntaxhighlight lang="latex">
\begin{lstlisting}
{\large +\emph{Texte en corps plus grand}+}
\end{lstlisting}
</syntaxhighlight>
</source>
la séquence <code>{\large</code> et le <code>}</code> final seront imprimés tels quels, tandis que le <code>\emph{Texte en corps plus grand}</code> sera interprété (on aura donc le contenu du bloc en italique). Il faut évidemment choisir un caractère d'échappement qui ne sera pas dans le code.
 
On peut mettre du code au sein d'un texte, avec la commande <code>\lstinline''c''...''c''</code>. Le ''c'' indique un caractère qui marque le début et la fin du code ; il peut être choisi arbitrairement, mais ne doit évidemment pas faire partie du code. Par exemple
<sourcesyntaxhighlight lang="latex">
Pour mettre du texte en emphase,
on utilise la commande \lstinline-\emph-.
</syntaxhighlight>
</source>
 
Un grand nombre de langages sont disponibles : <code>Pascal</code>, <code>Fortran</code>, <code>Basic</code>, <code>C</code>, <code>C++</code>, <code>Ada</code>, <code>Scilab</code>, <code>HTML</code>, <code>Java</code>, … On peut indiquer des variantes, par exemple
<sourcesyntaxhighlight lang="latex">
\lstset{language=[95]Ada}
\lstset{language=[Visual]C++}
\lstset{language=[77]Fortran}
</syntaxhighlight>
</source>
 
On peut aussi indiquer les options lors de l'appel de l'environnement <code>lstlisting</code> :
<sourcesyntaxhighlight lang="latex">
\begin{lstlisting}[language=XML,escapechar=?]
...
\end{lstlisting}
</syntaxhighlight>
</source>
 
== Notes ==