Commit c60e57ed authored by Alexandre Morlet's avatar Alexandre Morlet

Partie 1 finie !

parent 211ea3d3
Tuto-Latex
Tuto-Latex
==========
Souvent présenté comme incontournable pour rédiger rapports et articles, \LaTeX{} n'est cependant pas enseigné comme peut l'être la programmation.
......@@ -19,7 +19,9 @@ Code :
1. Introduction
* [/] LaTeX ?
* [ ] La compilation
* [/] Installer ce qu'il faut
* [/] La compilation
2. LaTeX : Guide de survie
* [/] Structure d’un fichier source : les bases
* [/] Quelques notions sur la syntaxe LaTeX
......@@ -55,3 +57,5 @@ Annexes
* [V] Un templace de fichier .tex pour un article
* [...] Liste d'extensions utiles
* [ ] Lire les erreurs de compilation dans le .log
* Section OTL / syntaxe française et anglaise ?
\ No newline at end of file
......@@ -245,23 +245,6 @@ Dans sa forme pure, \TeX{} est un système d'utilisation difficile, extrêmement
Même s'il paraît \emph{a priori} plus compliqué à utiliser que les logiciels classiques, \LaTeX{} est très robuste : le rendu (via le format PDF) sera toujours le même (entre systèmes et entre générations), le compilateur est un logiciel libre et multi-plateforme, et un simple éditeur de texte suffit pour modifier la source d'un document (un fichier \verb|.tex|). À travers les commandes intégrées ou l'utilisation d'extensions, il est possible de produire tout type de document (article, mémoire, lettre) -- celui que vous avez devant les yeux compris\footnote{Il est même possible de faire un journal en \LaTeX{}, la preuve avec \emph{La Sauce}, le journal du campus de l'ENS Cachan.}. Par ailleurs, \LaTeX{} s'est peu à peu imposé comme un système incontournable dans le monde de la recherche scientifique, et la maîtrise de ce programme est une compétence très appréciée dans de nombreux domaines.
\startenteo Ai-je l'autorisation de remanier toute l'introduction pour introduire les idées dans le bon ordre ? \startaurel oui bien sur ! \closeaurel Dans le chapitre~1 du \emph{\TeX book}, Knuth explique d'où vient le nom de son logiciel et comment le prononcer. Comme le 'x' de \TeX{} est censé être un chi grec, il faut le prononcer comme tel, et il écrit :
\begin{quote}
It’s the ‘ch’ sound in Scottish words like \emph{loch} or German words like \emph{ach}; it’s a Spanish ‘j’ and a Russian ‘kh’.
\end{quote}
\startaurel du coup en français le son le plus proche ce serait "laterre" ? très bizarre en effet, sur ce coup agissons en chauvins et gardons latek \verb|^^| \closeaurel
La subtilité est que les spécialistes s'accordent à dire que la lettre \textgreek{q} en grec ancien se prononcerait [x], comme en grec moderne. Cependant, le français a assimilé cette lettre au son [k], qu'on retrouve dans tous les mots de cette origine, il est donc naturel que la prononciation de \TeX{} pour nous utilise ce son [k] plutôt que [x]. Mais de ce fait, nous sommes plus éloignés de la prononciation correcte selon Knuth que nos amis allemands. (Enfin bon, l'essentiel, c'est que personne ne prononce [ks], c'est ce qu'il faut éviter.)\closeenteo
\starttouille Il s'avère qu'on a le livre de Lamport au labo, et lui parle de `teck', car il dit que l'usage prend le pas sur ce qu'on voudrait, et il dit que du coup on pourrait dire "lah-teck" ou "lay-teck". J'essaierai de trouver le temps de citer le passage complet \closetouille
\startenteo Note que je défends la prononciation qu'on utilise usuellement en français, je ne suis pas à ce point extrémiste !\verb|^^| J'ai lu en effet que Lamport ne prenait pas trop parti à ce sujet ; cependant, au vu de l'usage dans certains pays, il est bon de savoir que les deux usages existent. Ma nouvelle version de l'introduction devrait remettre de l'ordre dans tout ceci, donnez-moi vos avis !\closeenteo
\starttouille Certes, et non rien à dire :-) Sinon, le lien suivant a la citation de Lamport (aussi ci-dessous) et une vidéo d'une conférence où Knuth parle de la prononciation de \TeX{} à un moment (vers 15:30 dans la vidéo, il dit dans le cadre d'une nouvelle version "blague" de \TeX{} "je suis le mouvement, personne à part les Grecs ne prononçaient correctement le nom de toute façon")\\
\url{http://tex.stackexchange.com/questions/17502/what-is-the-correct-pronunciation-of-tex-and-latex}
\begin{quote}One of the hardest things about LaTeX is deciding how to pronounce it.This is also one of the few things I'm not going to tell you about LaTeX, since pronunciation is best determined by usage, not fiat. TeX is usually pronounced teck, making lah-teck, and lay-teck the logical choices; but language is not always logical, so lay-tecks is also possible.
\end{quote}
\closetouille
\vspace{\baselineskip}
\emph{Terminons cette introduction en signalant une dernière particularité à connaître quant aux noms} \TeX{} \emph{et} \LaTeX{} \emph{: lorsque l'on ne dispose pas des commandes} \verb|\TeX| \emph{et} \verb|\LaTeX| \emph{pour taper automatiquement les noms de ces systèmes, on écrit} \texttt{TeX} \emph{et} \texttt{LaTeX}\emph{, en prenant bien soin de mettre les lettres `a' et `e' en minuscule et le reste en majuscule. Ce petit détail typographique permet de distinguer ces systèmes d'autres logiciels avec des noms similaires, et aussi d'éviter de confondre ces noms avec le pseudonyme d'un humoriste, une matière séveuse naturelle ou un polymère servant à la fabrication de pneus et de combinaisons moulantes.}
......@@ -277,12 +260,12 @@ Parce que \LaTeX{} fait appel à des commandes, il faut compiler le fichier sour
Si vous n'êtes pas familier avec les environnements UNIX et/ou que les aspects techniques ne vous intéressent pas, nous vous conseillons d'utiliser un \emph{IDE}.
Il existe également des interfaces en ligne, qui compilent automatiquement : \texttt{Overleaf} et \texttt{ShareLaTeX}. Bien qu'elles permettent de collaborer rapidement en ligne et sans installation, elles montrent rapidement leurs limites. Utiliser \texttt{Git} (logiciel de gestion de versions), en parallèle de son installation locale, résout ce problème.
Peu importe la solution que vous choisissez, il faut installer séparément le compilateur. \verb|TeXlive| est la distribution la plus répandue, disponible pour tous les systèmes d'exploitation ; sous Windows, il existe également \verb=MikTex=.
Installer la totalité de la distribution est assez coûteux en mémoire (supérieur à \SI{1}{\giga\octet}), mais c'est le meilleur moyen d'être sûr de ne manquer de rien. Vous pouvez aussi ne télécharger que la distribution de base et ajouter les extensions au fur et à mesure de vos besoins. \verb|MikTeX| propose également un système d'installation des extensions à la volée\footnote{C'est-à-dire au moment de la compilation, si vous en avez besoin.}, mais ce système nécessite une connexion internet.
Il existe également des interfaces en ligne, qui compilent automatiquement : \texttt{Overleaf} et \texttt{ShareLaTeX}. Bien qu'elles permettent de collaborer rapidement en ligne et sans installation, elles montrent rapidement leurs limites. Utiliser \texttt{Git} (logiciel de gestion de versions), en parallèle de son installation locale, résout ce problème.
\section{La compilation}
Si vous utilisez un \textit{IDE} et que le côté technique ne vous intéresse pas vous pouvez vous passer de lire cette section.
......@@ -295,9 +278,9 @@ Il y a deux moyens de compiler un document \LaTeX{}, avec chacun leur compilateu
\item la compilation directe en \texttt{.pdf}, qui utilise le compilateur \verb|pdflatex|
\end{itemize}
\startaurel En cherchant les différence entre les deux voies de compilation je suis tombé sur une extension qui ne fonctionne qu'avec pdflatex : \verb|microtype|, qui fait de la microtypographie, elle adapte le texte pour éviter quasiment toutes les césures de fin de ligne et fait de la micro-gestion des ponctuations, histoire de pousser l'OTL à l'extrême \verb|^^| On devrait carrément faire une section OTL en fait ;) \closeaurel
%\startaurel En cherchant les différence entre les deux voies de compilation je suis tombé sur une extension qui ne fonctionne qu'avec pdflatex : \verb|microtype|, qui fait de la microtypographie, elle adapte le texte pour éviter quasiment toutes les césures de fin de ligne et fait de la micro-gestion des ponctuations, histoire de pousser l'OTL à l'extrême \verb|^^| On devrait carrément faire une section OTL en fait ;) \closeaurel
La méthode historique semble néanmoins tomber peu à peu en désuétude, elle était très utilisée dans les débuts du langage mais maintenant \verb|pdflatex| est beaucoup plus performant et produit des documents de meilleure qualité. La seule raison pour laquelle vous pouvez donc être amené à utiliser la compilation en \texttt{.dvi} est si vous êtes un adepte de l'extension \verb|pstricks|\footnote{Qui permet de faire du dessin vectoriel, comme Ti$k$Z.}.
La méthode historique semble néanmoins tomber peu à peu en désuétude. Elle était très utilisée dans les débuts du langage, mais \verb|pdflatex| est maintenant beaucoup plus performant et produit des documents de meilleure qualité. La seule raison pour laquelle vous pouvez donc être amené à utiliser la compilation en \texttt{.dvi} est si vous êtes un adepte de l'extension \verb|pstricks|\footnote{Qui permet de faire du dessin vectoriel, comme Ti$k$Z.}.
Pour ces raisons nous ne parlerons dans ce document que de \verb|pdflatex|, et c'est désormais ce compilateur qui sera sous-entendu à chaque fois que sera mentionné l'opération de compilation.\\
Si vous utilisez un \textit{IDE} assurez-vous donc que c'est bien \verb|pdflatex| qui est utilisé (mais c'est normalement le cas par défaut si vous créez un \texttt{.pdf})
......@@ -341,37 +324,45 @@ Les options les plus utiles sont résumées dans le tableau suivant. Et pour plu
\label{subsec:erreurs}
Lors de la compilation, des erreurs peuvent survenir si vous avez fait une erreur (syntaxique ou logique)\footnote{une bonne syntaxe \LaTeX{} est assez exigeante, ne vous étonnez pas si vous avez beaucoup d'erreurs, une grande partie d'entre elles sont surement inoffensives}.
Lors de la compilation, des erreurs peuvent survenir si vous avez fait une erreur (syntaxique ou logique)\footnote{Une bonne syntaxe \LaTeX{} est assez exigeante, ne vous étonnez pas si vous avez beaucoup d'erreurs, une grande partie d'entre elles sont sûrement inoffensives}.
Si vous n'êtes pas en \verb|nonstopmode| la compilation se mettre en pause et on vous proposera de résoudre cette erreur avant de continuer.\\
Si vous n'êtes pas en \verb|nonstopmode|, la compilation se mettra en pause et on vous proposera de résoudre cette erreur avant de continuer.\\
Si vous êtes en \verb|nonstopmode|, regardez attentivement votre document de sortie car une erreur a pu avoir lieu sans que vous ne l'ayez vue.
Les erreurs se classent en deux catégories :
\begin{itemize}
\item les \textit{avertissements} sont pour la plupart inoffensifs, et vous pouvez les ignorer dans un premier temps et y revenir s'ils vous posent problème
\item les \textit{erreurs fatales} vont causer un arrêt soudain de la compilation et ne pas produire de document
\item les \textit{avertissements} sont pour la plupart inoffensifs, et vous pouvez les ignorer dans un premier temps (pour y revenir s'ils vous posent problème) ;
\item les \textit{erreurs fatales} vont causer un arrêt soudain de la compilation et ne pas produire de document.
\end{itemize}
Dans tous les cas les erreurs sont écrites dans un fichier texte portant l'extension \texttt{.log}, que vous pouvez consulter en cas de problème. Un \textit{IDE} est en général capable de lire automatiquement les \texttt{.log} et de vous signaler un problème.
L'annexe \ref{app:errors} présente des erreurs courantes et la façon d'y remédier, n'hésitez pas à la consulter en cas de problèmes.
Un avertissement mérite néanmoins d'être présenté dans cette section : \\\og \texttt{LaTeX Warning: There were undefined references} \fg{}\\
Cet avertissement apparaît si vous avez utilisé un \verb|\ref{}| auquel ne correspond aucune étiquette (voir au \ref{subsec:label}), mais la petite subtilité est qu'il apparaîtra également si c'est la première fois que vous compilez depuis que vous avez créé l'étiquette...
Un avertissement mérite néanmoins d'être présenté dans cette section : \\
\og \texttt{LaTeX Warning: There were undefined references} \fg{}\\
Cet avertissement apparaît si vous avez utilisé un \verb|\ref{}| auquel ne correspond aucune étiquette (voir au \ref{subsec:label}), mais la petite subtilité est qu'il apparaîtra également si c'est la première fois que vous compilez depuis que vous avez créé l'étiquette\ldots
En effet le compilateur lit le fichier source linéairement et est donc parfaitement incapable de gérer des références croisées ! Pour contourner ce problème il écrit les étiquette dans un fichier texte portent l'extension \texttt{.aux} (pour auxiliaire), et lorsqu'il rencontre une référence il cherche si une étiquette correspondante existe dans le \texttt{.aux}.
En effet le compilateur lit le fichier source linéairement et est donc parfaitement incapable de gérer des références croisées ! Pour contourner ce problème, il écrit les étiquette dans un fichier texte portant l'extension \texttt{.aux} (pour auxiliaire), et lorsqu'il rencontre une référence il cherche si une étiquette correspondante existe dans le \texttt{.aux}. C'est pour cette raison qu'une référence croisée n'apparaît jamais lors de sa première compilation et que deux compilations sont nécessaires !
Pour cette raison une référence croisée n'apparaît jamais lors de sa première compilation, et deux compilations sont donc nécéssaires !
Pour finir, notez que le compilateur va créer des fichiers secondaires (le \texttt{.log}, le \texttt{.aux}, et d'autres) lors de la compilation. Vous les trouverez peut-être inutiles et aurez envie de vous en débarasser, mais ils ont de l'importance pour \verb|pdflatex| et les supprimer revient à tout devoir recompiler.
Pour finir, notez que le compilateur va créer des fichiers secondaires (le \texttt{.log}, le \texttt{.aux}, et d'autres) lors de la compilation. Vous les trouverez peut-être inutiles et aurez envie de vous en débarrasser, mais ils ont de l'importance pour \verb|pdflatex| et les supprimer revient à tout devoir recompiler.
\subsection{Compiler la bibliographie}
\startaurel Je suis tiraillé : c'est mieux de faire une section sur la compilation de bibliographie ici et y faire référence dans la partie bibtex ou exmpliquer le truc dans la partie bibtex et mettre une référence à cette section pour en savoir plus sur la compilatation en général ?\\
D'ailleurs autre chose : vu que j'ai toujours compilé bibtex soit à la main soit via latexmk je sais pas du tout comment c'est géré par texmaker \& cie ? Il le font tout seul où il faut les prendre par la main ? \closeaurel
La bibliographie nécessite plusieurs étapes afin d'être rendue proprement. Une fois que celle-ci est rédigée (votre fichier \texttt{.bib} est prêt et appelé dans le corps du document, cf. la section~\ref{sec:biblio}), il faut dans l'ordre :
\begin{itemize}
\item Compiler le fichier \texttt{.tex} avec \texttt{pdflatex} une première fois ;
\item Compiler le fichier \texttt{.aux} avec \texttt{bibtex} pour créer les références bibliographiques ;
\item Compiler le fichier \texttt{.tex} avec \texttt{pdflatex} deux fois\footnote{Pour éviter les problèmes dus aux références croisées mentionnés plus haut}.
\end{itemize}
Si vous utilisez un \textit{IDE}, il existe toujours un bouton, menu déroulant ou entrée qui permet d'appeler \texttt{bibtex} plutôt que \texttt{pdflatex} (voir l'image ci-dessous pour l'exemple de \texttt{Texmaker}). Il faut donc appeler \texttt{pdflatex} et \texttt{bibtex} dans le même ordre que ci-dessus pour obtenir le résultat désiré.
\starttouille On peut mettre un renvoi à cette partie à la fin de la section sur la biblio, comme ça on a tout ce qui concerne la compilation au même endroit.\\
Pour TeXmaker \& co, t'as toujours un bouton ou quoi pour appeler BibTeX. Dans le cas particulier de TeXmaker, tu as un menu déroulant en haut de fenêtre qui contient notamment PDFLaTeX, BibTeX, mais aussi ... LaTeXmk ! Tu peux aussi utiliser les raccourcis clavier ou encore configurer la "compilation rapide" comme une macro (i.e. pdflatex, bibtex, pdflatex deux fois, afficher pdf).\closetouille
\begin{figure}[h]
\centering
\includegraphics[scale=1]{./images/bibtex_ide.png}
\caption{Menu déroulant permettant de choisir le compilateur appelé par \texttt{Texmaker}. Ces choix se retrouvent aussi dans le menu \texttt{Outils}.}
\end{figure}
\subsection{L'outil latexmk}
......@@ -379,9 +370,10 @@ Pour TeXmaker \& co, t'as toujours un bouton ou quoi pour appeler BibTeX. Dans l
Si vous n'utilisez pas d'\textit{IDE} mais que vous ne voulez pas tout compiler à la main à chaque fois, \verb|latexmk| est une excellente solution pour vous !
En effet il s'agit d'un programme agissant à la manière d'un \verb|makefile|\footnote{pour ceux qui ne connaissent pas, c'est une sorte de \og recette de cuisine \fg{} pour compiler un programme, ils sont très utiles aux programmeurs pour s'assurer que tout le monde compile de la même façon} (d'où son nom), qui automatise la compilation en appelant \verb|pdflatex| et \verb|bibtex| exactement le bon nombre de fois\footnote{contrairement à certains programmes qui se contentent de compiler deux fois car \og dans le doute ça marchera \fg{}} afin d'obtenir le résultat désiré.
En effet, il s'agit d'un programme agissant à la manière d'un \verb|makefile|\footnote{Pour ceux qui ne connaissent pas, c'est une sorte de \og recette de cuisine \fg{} pour compiler un programme, ils sont très utiles aux programmeurs pour s'assurer que tout le monde compile de la même façon.} (d'où son nom), qui automatise la compilation en appelant \verb|pdflatex| et \verb|bibtex| exactement le bon nombre de fois\footnote{Contrairement à certains programmes qui se contentent de compiler deux fois car \og dans le doute ça marchera \fg{}.} afin d'obtenir le résultat désiré.
Pour l'utiliser en terminal il faut taper \\\verb|latexmk -pdf (--autres-options-pour-pdflatex) monfichier.tex|
Pour l'utiliser en terminal il faut taper
\begin{center}\verb|latexmk -pdf (--autres-options-pour-pdflatex) monfichier.tex|\end{center}
Il est également utilisé comme base par d'autres programmes comme le \textit{plugin} \verb|vimtex| de \verb|vim| (voir \url{https://github.com/lervag/vimtex}).
......@@ -1056,7 +1048,7 @@ Lors de l'utilisation des commandes, il faut faire attention à laisser une lign
Les notes de pied de page (utilisées avec profusion dans ce document) permettent d'ajouter des précisions (normalement non-essentielles) à l'aide d'un renvoi sans avoir à recourir à des phrases à rallonge ou à de trop nombreuses parenthèses. Elles sont créées à l'aide de la commande \verb|\footnote{Contenu de la note.}|. La commande doit être collée au mot sur lequel on veut placer le renvoi. De plus, en fin de phrase, la ponctuation vient \emph{après} une éventuelle note.
Il est possible de créer une note de pied de page de façon plus artisanale, pour une utilisation dans des tableaux par exemple\footnote{Bien que cet usage soit fortement déconseillé, il se peut que vous en ayez besoin. Plus de détails et de solutions ici : \url{http://www.tex.ac.uk/FAQ-footintab.html}.}, la commande \texttt{footnote} ne fonctionnant pas dans l'environnement \texttt{tabular}. Pour cela, la commande \verb|\footnotemark| permet de placer un renvoi et la commande \verb|\footnotetexte{}| (à placer après) permet d'écrire le contenu de la note. On peut passer un numéro en option de \texttt{footnotemark} ; si ce n'est pas fait, le compteur global est utilisé.
Il est possible de créer une note de pied de page de façon plus artisanale, pour une utilisation dans des tableaux par exemple\footnote{Bien que cet usage soit fortement déconseillé, il se peut que vous en ayez besoin. Plus de détails et de solutions ici : \url{http://www.tex.ac.uk/FAQ-footintab.html}.}, la commande \texttt{footnote} ne fonctionnant pas dans l'environnement \texttt{tabular}. Pour cela, la commande \verb|\footnotemark| permet de placer un renvoi et la commande \verb|\footnotetext{}| (à placer après) permet d'écrire le contenu de la note. On peut passer un numéro en option de \texttt{footnotemark} ; si ce n'est pas fait, le compteur global est utilisé.
Pour utiliser des renvois qui ne soient pas des nombres, il existe la commande \begin{center}\verb|\renewcommand{\thefootnote}{\arabic{footnote}}|.\end{center} \texttt{arabic} peut être remplacé par \texttt{roman}, \texttt{Roman}, \texttt{alph} et \texttt{Alph} (pour des chiffres romains minuscules et majuscules, des lettres minuscules et majuscules respectivement).
......@@ -2150,6 +2142,8 @@ Page 70, section 7.10 : commande SendSettingsToPgf, sais pas si utile ?
\newpage
\section{Gestion automatique de la bibliographie : Bib\TeX}
\label{sec:bibte}
Indispensable à tout travail de recherche (rapport de stage, mémoire, thèse ou article), la bibliographie peut s'avérer imposante (jusqu'à plus d'une centaine de références pour les \emph{reviews} scientifiques qui couvrent toutes les découvertes d'un domaine par exemple). Heureusement, \LaTeX{} (et même \TeX{}) ont été pensés pour. Mais avant de détailler la puissance de Bib\TeX{}, parlons rapidement de la solution de plus bas niveau, qui peut s'avérer commode pour un nombre de références limitées : l'environnement \texttt{thebibliography}.
\subsection{\texttt{thebibliography}}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment