Structure d'un document LaTeX : Différence entre versions

De Ensiwiki
Aller à : navigation, rechercher
(Orhographe/Grammaire)
Ligne 5 : Ligne 5 :
 
= Syntaxe de base =
 
= Syntaxe de base =
 
== Commande ==
 
== Commande ==
Toutes les commandes sont préfixés par un antislash '''\'''. Le reste c'est du texte pur. Un exemple simple peut être ''\it'', cette commande se met en mode italique.
+
Toutes les commandes sont préfixées par un antislash '''\''', le reste étant composé de texte pur. Un exemple simple peut être ''\it'', cette commande se met en mode italique.
  
Les commentaires quant à eux sont mono-ligne préfixés par un '''%'''   
+
Les commentaires ne font quant à eux qu'une seule ligne, et sont préfixés par un '''%'''   
  
 
== Environnement ==
 
== Environnement ==
L'une des avancées des plus efficaces de {{LaTeX}} par rapport à TeX c'est quand même les environnements.  
+
L'une des avancées des plus efficaces de {{LaTeX}} par rapport à TeX sont les ''environnements''.  
 
<source lang="LaTeX">
 
<source lang="LaTeX">
 
\begin{ENVIRON}
 
\begin{ENVIRON}
Ligne 38 : Ligne 38 :
 
\end{document}
 
\end{document}
 
</source>
 
</source>
La première commande est celle qui détermine la forme du document avec quelques options. Ensuite s'enchainent un ensemble de commandes définissant le document en soi, que ce soit l'ensemble des packages utilisés, le titre ou encore l'auteur.
+
La première commande est celle qui détermine la forme du document, ainsi que quelques options. Viennent ensuite un ensemble de commandes définissant le document en soi, que ce soit l'ensemble des packages utilisés, le titre ou encore l'auteur.
  
 
Ensuite on se place dans l'environnement '''document''' ce qui va définir le corps du document.
 
Ensuite on se place dans l'environnement '''document''' ce qui va définir le corps du document.
  
 
== Classe d'un document ==
 
== Classe d'un document ==
Un document peut être de différente formes, voici les différentes classes que l'on peut trouver :
+
Un document peut être de différents types, voici les différentes classes que l'on peut trouver :
 
{| class="wikitable" style="text-align:left; margin:0 auto; "
 
{| class="wikitable" style="text-align:left; margin:0 auto; "
 
|-
 
|-
Ligne 50 : Ligne 50 :
 
|-
 
|-
 
! scope=row | article
 
! scope=row | article
| permet de créer des documents courts, comme des comptes-rendus de travaux ou de réunions, par exemple
+
| permet de créer des documents courts, comme des comptes-rendus de travaux ou de réunions,
 
|-
 
|-
 
! scope=row | report
 
! scope=row | report
Ligne 65 : Ligne 65 :
 
|}
 
|}
  
Globalement, vous vous servirez de article principalement (voire slide si vous aimez vraiment ça). Mais ces classes ont des options par défaut qui ne sont pas terrible, voici une liste d'options courantes :
+
Globalement, vous vous servirez principalement de la classe ''article'' (voire slide si vous aimez vraiment ça). Les options par défaut de ces deux classes ne sont en revanche guère adaptées à une utilisation courantes, voici donc une liste d'options :
* Taille de police : par défaut la taille par défaut de la police est 10pt. Exemples : '''11pt''' ou '''12pt'''.
+
* Taille de police : par défaut, la taille de la police est de 10pt. Exemples : '''11pt''' ou '''12pt'''.
* Format de papier : par défaut la taille n'est pas A4 (mais 8.5x11 pouces). Exemples : '''a4paper''' ou '''a5paper'''
+
* Format de papier : par défaut la taille n'est pas A4 mais 8.5x11 pouces. Exemples : '''a4paper''' ou '''a5paper'''
* Orientation : Par défaut, on a portrait (sauf pour slide), on peut passer en mode '''landscape'''
+
* Orientation : Par défaut, on est en mode portrait (sauf pour slide), on peut passer en mode '''landscape'''
* Recto-Verso : Par défaut, il suppose que vous imprimez en recto seulement (ça suppose que les numéros de pages sont toujours à droite)
+
* Recto-Verso : Par défaut, LaTeX suppose que vous imprimez en recto seulement (ça suppose que les numéros de pages sont toujours à droite)
* ... d'autres moins interessante ...
+
* Il existe [http://texblog.org/2013/02/13/latex-documentclass-options-illustrated/ d'autres options]
  
 
Voici un exemple que vous pourrez utiliser pendant tout votre parcours à l'ENSIMAG (format A4, recto-verso en 11pt) :
 
Voici un exemple que vous pourrez utiliser pendant tout votre parcours à l'ENSIMAG (format A4, recto-verso en 11pt) :
Ligne 77 : Ligne 77 :
 
</source>
 
</source>
  
== Entête ==
+
== En-tête ==
L'entête contient l'ensemble des packages à utiliser ainsi que des informations à propos de ce document (titre, auteur et date). Un package est un ensemble de macros qui permettent une bonne mise en forme d'un document. Comme tout langage, il y en a qui sont vraiment incontournables, comme d'autres sont plus optionnels.
+
L'en-tête contient l'ensemble des packages à utiliser ainsi que des informations à propos de ce document (titre, auteur et date). Un package est un ensemble de macros qui permettent une bonne mise en forme d'un document. Comme tout langage, il y en a qui sont vraiment incontournables, et d'autres sont plus spécialisés.
  
 
Pour inclure un package, la syntaxe est celle-ci :
 
Pour inclure un package, la syntaxe est celle-ci :
 
<source lang="LaTeX">\usepackage[options]{package}</source>
 
<source lang="LaTeX">\usepackage[options]{package}</source>
Certains packages ne requierent pas d'options donc les crochets peuvent être omis dans ce genre de cas.
+
Certains packages ne requièrent aucun paramétrage. L'emploi des crochets et alors optionnel.
  
Voici une liste de package VRAIMENT incontournables qui doivent être inclus à chaque fois !
+
Voici une liste de package VRAIMENT incontournables qu'il est plus que recommandé d'inclure à chaque fois :
 
<source lang="LaTeX">
 
<source lang="LaTeX">
 
\usepackage[latin1]{inputenc} % Changez le latin1 en utf8 suivant votre encodage
 
\usepackage[latin1]{inputenc} % Changez le latin1 en utf8 suivant votre encodage
Ligne 90 : Ligne 90 :
 
\usepackage[french]{babel}</source>
 
\usepackage[french]{babel}</source>
  
Ces packages permettront de taper des accents dans votre document (sinon pour faire un ''é'' il faut tapper ''\'{e}'') et d'avoir vos textes en français (par exemple ''Table des matières'' au lieu de ''Table of Contents'').
+
Ces packages permettront de taper des accents dans votre document (sinon, pour faire un ''é'', il faudra tapper ''\'{e}'') et d'avoir vos textes en français (par exemple ''Table des matières'' au lieu de ''Table of Contents'').
  
 
Si vous utilisez des maths dans le document il vous faut (en général) ces packages :
 
Si vous utilisez des maths dans le document il vous faut (en général) ces packages :
 
<source lang="LaTeX">
 
<source lang="LaTeX">
 
\usepackage{amsmath} % quelques macros supplémentaires facilitant les maths
 
\usepackage{amsmath} % quelques macros supplémentaires facilitant les maths
\usepackage{amsfonts} % les fonts qui permettant d'écrire les ensemble N, Z, Q, R ou C
+
\usepackage{amsfonts} % les polices qui permettant d'écrire les ensemble N, Z, Q, R ou C
 
\usepackage{amssymb} % quelques symboles  
 
\usepackage{amssymb} % quelques symboles  
\usepackage{dsfont} % définit la fonte permettant l'écriture du 1 de proba.
+
\usepackage{dsfont} % définit la police permettant l'écriture du 1 de proba.
 
\usepackage{graphicx} % Pour inclure des images
 
\usepackage{graphicx} % Pour inclure des images
 
</source>
 
</source>
Ligne 118 : Ligne 118 :
  
 
=== Structuration ===
 
=== Structuration ===
On veut souvent (toujours ?) découper son document en diverses parties, sous-parties (voire plus). Ce langage est fait pour cela ! Ces macros de structuration se présentent toujours de cette façon : \commande{titre}. Si vous ne souhaitez pas de numérotation pour ce titre (exemples : édito, préambules, remerciements...), insérez la commande de cette façon : \commande*{titre}. L'étoile est souvent utilisé pour supprimer la numérotation. Voici la liste des commandes :
+
On veut souvent (toujours ?) découper son document en diverses parties, sous-parties (voire plus). Ce langage est fait pour cela ! Les macros de structuration se présentent toujours de cette façon : \commande{titre}. Si vous ne souhaitez pas de numérotation pour ce titre (exemples : édito, préambules, remerciements...), insérez la commande de cette façon : \commande*{titre}. L'étoile est souvent utilisé pour supprimer la numérotation. Voici la liste des commandes :
  
 
{| class="wikitable" style="text-align:left; margin:0 auto; "
 
{| class="wikitable" style="text-align:left; margin:0 auto; "
Ligne 127 : Ligne 127 :
 
|-
 
|-
 
! scope=row | part
 
! scope=row | part
| Défini une partie, possible seulement dans la classe '''book'''
+
| Définit une partie, possible seulement dans la classe '''book'''
 
| création d'une page vide avec seulement le titre sur la page
 
| création d'une page vide avec seulement le titre sur la page
 
|-
 
|-
 
! scope=row | chapter
 
! scope=row | chapter
| Défini un chapitre, possible seulement dans la classe '''report''' ou '''book'''
+
| Définit un chapitre, possible seulement dans les classes '''report''' et '''book'''
| invoque une nouvelle page avec une entête plus espacée
+
| invoque une nouvelle page avec un en-tête plus espacé
 
|-
 
|-
 
! scope=row | section
 
! scope=row | section
Ligne 139 : Ligne 139 :
 
|-
 
|-
 
! scope=row | subsection
 
! scope=row | subsection
| Défini une sous-section (I.2 par exemple)
+
| Définit une sous-section (I.2 par exemple)
 
| Titre en gras, taille de police légèrement plus grosse
 
| Titre en gras, taille de police légèrement plus grosse
 
|-
 
|-
 
! scope=row | subsubsection
 
! scope=row | subsubsection
| Défini une sous-section (I.2.3 par exemple)
+
| Définit une sous-section (I.2.3 par exemple)
 
| Titre en gras même taille de police
 
| Titre en gras même taille de police
 
|}
 
|}
  
Suivant les classes il existe un subsubsubsection mais c'est rarement utilisé (parce que sinon le document ne ressemble plus à grand chose).
+
Suivant les classes il existe un subsubsubsection mais c'est rarement utilisé (nuit à la lisibilité générale du document).
 
= Premiers résultats =
 
= Premiers résultats =
 
[[Image:Premier_test_latex.png|thumb|Résultat de la compilation]]
 
[[Image:Premier_test_latex.png|thumb|Résultat de la compilation]]
Avec ce que l'on a pour l'instant on peut composer notre premier hello world !
+
Nous avons désormais de quoi écrire notre premier hello world :
 
<source lang="LaTeX">
 
<source lang="LaTeX">
 
\documentclass[a4paper,twoside,11pt]{article}
 
\documentclass[a4paper,twoside,11pt]{article}
Ligne 164 : Ligne 164 :
 
\subsection{Je définis des sections}
 
\subsection{Je définis des sections}
  
Pour vous montrer comment marche le bazar !
+
Pour vous montrer comment LaTeX fonctionne !
 
\end{document}
 
\end{document}
 
</source>
 
</source>
D'accord, les entêtes prennent beaucoup de place, mais par la suite comme les packages ne changent pas trop cela devient une habitude de copier-coller. Il faut plus se concentrer sur le corps qui apporte bien des facilités d'écriture (avec un peu d'habitude).
+
On peut remarquer que les en-têtes prennent beaucoup de place, mais par la suite, comme les packages ne changent pas trop, cela devient une habitude de copier-coller. Il vaut mieux se concentrer sur le corps du document, qui apporte bien des facilités d'écriture (avec un peu d'habitude).
 
<!-- EOF -->
 
<!-- EOF -->

Version du 10 novembre 2014 à 14:34


Dans cette page, vous apprendrez comment faire votre petit hello world à la LATEX avec deux ou trois petites commandes.

Syntaxe de base

Commande

Toutes les commandes sont préfixées par un antislash \, le reste étant composé de texte pur. Un exemple simple peut être \it, cette commande se met en mode italique.

Les commentaires ne font quant à eux qu'une seule ligne, et sont préfixés par un %

Environnement

L'une des avancées des plus efficaces de LATEX par rapport à TeX sont les environnements.

\begin{ENVIRON}

%    CONTENU

\end{ENVIRON}

Les environnements permettent de déclarer un bloc sur lequel vont s'appliquer des changements. Par exemple, pour centrer un bloc de texte, on peut faire :

\begin{center}
CECI EST UN TEXTE CENTRÉ
\end{center}

Structure d'un document

Voici la tête d'un document écrit en LATEX.

\documentclass[OPTIONS]{CLASSE} 

%    ENTÊTE DU DOCUMENT

\begin{document}

%    CORPS DU DOCUMENT

\end{document}

La première commande est celle qui détermine la forme du document, ainsi que quelques options. Viennent ensuite un ensemble de commandes définissant le document en soi, que ce soit l'ensemble des packages utilisés, le titre ou encore l'auteur.

Ensuite on se place dans l'environnement document ce qui va définir le corps du document.

Classe d'un document

Un document peut être de différents types, voici les différentes classes que l'on peut trouver :

description
article permet de créer des documents courts, comme des comptes-rendus de travaux ou de réunions,
report est utilisée pour les documents plus longs, car elle gère les chapitres, ce que ne fait pas la classe article
book permet d'écrire des livres, similaire à report mais supporte les parties.
letter sert à écrire des courriers, met de bonnes marges.
slide permet de créer des transparents.

Globalement, vous vous servirez principalement de la classe article (voire slide si vous aimez vraiment ça). Les options par défaut de ces deux classes ne sont en revanche guère adaptées à une utilisation courantes, voici donc une liste d'options :

  • Taille de police : par défaut, la taille de la police est de 10pt. Exemples : 11pt ou 12pt.
  • Format de papier : par défaut la taille n'est pas A4 mais 8.5x11 pouces. Exemples : a4paper ou a5paper
  • Orientation : Par défaut, on est en mode portrait (sauf pour slide), on peut passer en mode landscape
  • Recto-Verso : Par défaut, LaTeX suppose que vous imprimez en recto seulement (ça suppose que les numéros de pages sont toujours à droite)
  • Il existe d'autres options

Voici un exemple que vous pourrez utiliser pendant tout votre parcours à l'ENSIMAG (format A4, recto-verso en 11pt) :

 \documentclass[a4paper,twoside,11pt]{article}

En-tête

L'en-tête contient l'ensemble des packages à utiliser ainsi que des informations à propos de ce document (titre, auteur et date). Un package est un ensemble de macros qui permettent une bonne mise en forme d'un document. Comme tout langage, il y en a qui sont vraiment incontournables, et d'autres sont plus spécialisés.

Pour inclure un package, la syntaxe est celle-ci :

\usepackage[options]{package}

Certains packages ne requièrent aucun paramétrage. L'emploi des crochets et alors optionnel.

Voici une liste de package VRAIMENT incontournables qu'il est plus que recommandé d'inclure à chaque fois :

\usepackage[latin1]{inputenc} % Changez le latin1 en utf8 suivant votre encodage
\usepackage[T1]{fontenc} 
\usepackage[french]{babel}

Ces packages permettront de taper des accents dans votre document (sinon, pour faire un é, il faudra tapper \'{e}) et d'avoir vos textes en français (par exemple Table des matières au lieu de Table of Contents).

Si vous utilisez des maths dans le document il vous faut (en général) ces packages :

\usepackage{amsmath} % quelques macros supplémentaires facilitant les maths
\usepackage{amsfonts} % les polices qui permettant d'écrire les ensemble N, Z, Q, R ou C
\usepackage{amssymb} % quelques symboles 
\usepackage{dsfont} % définit la police permettant l'écriture du 1 de proba.
\usepackage{graphicx} % Pour inclure des images

On peut définir les informations du document comme ceci :

\title{TITRE}
\author{AUTEUR}
%\date{DATE} % si vous n'en mettez pas, la date sera celle de compilation

Corps

Le corps par la suite n'est que du texte brut et des appels de macros/environnements. Une des différences est la formation de paragraphe. En effet, en LATEX le corps de texte est avant tout un ensemble de paragraphe. Ainsi pour faire un retour à la ligne, dans le code source on aura :

Ceci
ne va pas faire un retour à la ligne. 

Par contre ici, je suis dans un nouveau paragraphe, donc j'ai un retour à la ligne !

L'avantage est que LaTeX gère les alignements pour vous, il justifie les paragraphes et fait les alinéas pour les débuts de paragraphe.

Structuration

On veut souvent (toujours ?) découper son document en diverses parties, sous-parties (voire plus). Ce langage est fait pour cela ! Les macros de structuration se présentent toujours de cette façon : \commande{titre}. Si vous ne souhaitez pas de numérotation pour ce titre (exemples : édito, préambules, remerciements...), insérez la commande de cette façon : \commande*{titre}. L'étoile est souvent utilisé pour supprimer la numérotation. Voici la liste des commandes :

description mise en page
part Définit une partie, possible seulement dans la classe book création d'une page vide avec seulement le titre sur la page
chapter Définit un chapitre, possible seulement dans les classes report et book invoque une nouvelle page avec un en-tête plus espacé
section Permet de définir une section (parties d'un cours par exemple : I, II, III) Titre en gras avec une police plus grosse (avec numérotation)
subsection Définit une sous-section (I.2 par exemple) Titre en gras, taille de police légèrement plus grosse
subsubsection Définit une sous-section (I.2.3 par exemple) Titre en gras même taille de police

Suivant les classes il existe un subsubsubsection mais c'est rarement utilisé (nuit à la lisibilité générale du document).

Premiers résultats

Résultat de la compilation

Nous avons désormais de quoi écrire notre premier hello world :

\documentclass[a4paper,twoside,11pt]{article}
    \usepackage[latin1]{inputenc}
    \usepackage[T1]{fontenc} 
    \usepackage[french]{babel}
    \title{Premier test}
    \author{Wikimagien}
\begin{document}
Bonjour à tous !

\section{Dans un premier temps}
\subsection{Je définis des sections}

Pour vous montrer comment LaTeX fonctionne !
\end{document}

On peut remarquer que les en-têtes prennent beaucoup de place, mais par la suite, comme les packages ne changent pas trop, cela devient une habitude de copier-coller. Il vaut mieux se concentrer sur le corps du document, qui apporte bien des facilités d'écriture (avec un peu d'habitude).