\chapter{Les règles de base} \section{Les règles pour faire du \LaTeX{}} Ces règles sont officieuses : je les ai élaborées à partir de mon expérience personnelle avec \LaTeX{}. Elles restent donc pragmatiques et peuvent paraître un peu farfelues mais sont importantes à mes yeux : \begin{regles}{Les 5 règles pragmatiques} \begin{enumerate}[label = \textbf{\color{BrickRed}Règle \no\arabic*{} :}, leftmargin = *] \item Tout est possible en \LaTeX{}\footnote{Y compris écrire des partitions de musique : \url{http://fr.wikibooks.org/wiki/LaTeX/\%C3\%89crire_de_la_musique}}. \item La règle \no{}1 est toujours vraie. \item \LaTeX{} implique d'écrire des commandes soit des lignes de code. Aérer et ordonner son code en facilite la relecture. \item La voie de la perfection en \LaTeX{} passe par une recherche régulière sur Internet. \item Si tu rencontres des difficultés, il ne faut pas hésiter à demander des conseils. \end{enumerate} \end{regles} Passons maintenant sur des règles plus concrètes vis-à-vis de l'écriture d'un code \LaTeX{}. \section{Les 3 règles d'or en \LaTeX{}} Pour écrire du code \LaTeX{}, il existe 3 règles, suffisamment importantes à mon sens pour être en or : \begin{regles}{Les 3 règles d'or en \LaTeX{}} \begin{enumerate}[label = \textbf{\color{BrickRed}Règle d'or \no\arabic*{} :}, leftmargin = *] \item Toute commande \LaTeX{} débute par un \textit{backslash} ``\verb?\?''. \Windows{} : \keys{\AltGr + 8} \Apple{} : \keys{\Alt + \shift + /} \item Tout texte concerné par une commande \LaTeX{} est délimité par des accolades ``\{'' et ``\}''. \Windows{} : \keys{\AltGr + 4} et \keys{\AltGr + =} \Apple{} : \keys{\Alt + (} et \keys{\Alt + )} \item Toute commande \LaTeX{} qui comprend un \verb?begin? finit par un \verb?end?. Ce genre de structure s'appelle un \textbf{environnement}. \end{enumerate} \end{regles} Il s'agit donc, selon moi, de la base pour écrire du code \LaTeX{}. Respecter ces règles permet d'éviter un bon nombre d'erreurs, nombreuses quand tu débutes. Ces 3 règles prendront leur sens sous peu, quand nous allons mettre en forme notre document et commencer à faire du \LaTeX{} (cf. \ref{mise-forme} \nameref{mise-forme}, p. \pageref{mise-forme}). \section{La base d'un document \LaTeX{}} \label{documentclass}Pour commencer, démarrons un fichier \LaTeX{} : ouvrons \Texmaker{}, créons un nouveau fichier et enregistrons-le au format \verb?.tex?\footnote{Pour information/rappel, un fichier \LaTeX{} possède toujours l'extension \verb?.tex?}. \\ \begin{attention}{Codes \LaTeX{} fournis} \textbf{Tout au long de ce guide, des exemples de code \LaTeX{} sont fournis dans des encadrés verts clairs. Ils ont été testés par mes soins avec le moteur \pdfLaTeX{} : tout devrait donc fonctionner aussi de ton côté.} Toutefois, la copie du code depuis ce guide au format PDF semble encore présenter quelques lacunes : saut de ligne lors d'une coupure (ligne de code trop longue), apostrophe différente de celle présente sous \Texmaker{}\dots{}. Des erreurs lors de la génération du document PDF peuvent alors survenir. \\ \`A toi de voir si tu préfères recopier chaque ligne de code -- ce qui facilite la mémorisation et l'apprentissage selon moi -- ou si tu préfères copier-coller et habilement utiliser la fonction \og Remplacer \fg{} de \Texmaker{}. \end{attention} \vspace{\baselineskip} La base d'un document \LaTeX{} est la suivante : \begin{code}{La base d'un document \LaTeX{}} \documentclass[options]{classe} % Préambule \begin{document} % Ici s'écrit notre texte % Notons que le symbole "%" permet de mettre un commentaire \end{document} Tout ce que j'écris après \end{document} n'a aucun intérêt et ne sera pas interprété par LaTeX. \end{code} Plusieurs points importants sont à retenir : \begin{itemize}[label = \ding{213}] \item \verb?\documentclass? permet de définir le type de document (appelé \og \textit{classe} \fg{} en \LaTeX{}) sur lequel tu vas travailler ; \item la zone entre \verb?\documentclass? et \verb?\begin{document}? s'appelle le préambule. Je décris cette partie en \ref{preambule} \nameref{preambule}, p. \pageref{preambule} ; \item un premier exemple d'illustration de la règle d'or \no{}3 : un \verb?begin? implique un \verb?end?. Seuls le texte et les commandes \LaTeX{} écrits entre \verb?\begin{document}? et \verb?\end{document}?, hormis les commentaires, sont interprétés par \LaTeX{} lors de sa création du fichier PDF final ; \item tout ce qui peut être écrit après \verb?\end{document}? n'est pas pris en compte par \LaTeX{}. \\ \end{itemize} Que mettre maintenant dans la ligne \verb?\documentclass? ? Il s'agit ici de définir le type de document à mettre en forme. En \LaTeX{}, le terme consacré est \og \textit{classe} \fg{}. Définir la classe d'un document \LaTeX{} revient à utiliser un gabarit spécifique pour le document, défini par défaut dans le code source de \LaTeX{}, et entièrement personnalisable par la suite si besoin. \\ Il existe plusieurs classes, à renseigner à l'endroit où il y a écrit \verb?classe? dans mon exemple générique : \verb?report? pour taper des rapports ; \verb?article? pour des articles scientifiques ; \verb?book? pour des livres et \verb?letter?, tu as compris je pense, pour des lettres. La partie \verb?options? permet ensuite de renseigner toutes les options propres à une classe. Les plus communs sont la taille du papier (A4 : \verb?a4paper?, A5 : \verb?a5paper?) ainsi que la taille de police de base (\verb?10pt?, \verb?11pt? ou \verb?12pt?). Mais il en existe d'autres, en fonction des classes utilisées. \\ \textbf{Personnellement, je recommande de commencer un nouveau document} par \verb?\documentclass[a4paper, 12pt]{report}?. Ce choix convient pour 90~\% des cas : ainsi, le risque de problème est moindre. \textcolor{orange}{Toutefois, si tu as un petit rapport d'une vingtaine de pages à rédiger, la classe \verb?article? constitue aussi un choix judicieux.} Néanmoins, il faut bien garder à l'esprit que d'autres options de présentation de document existe (\verb?book?, \verb?article? ou \verb?letter?). Ces derniers peuvent toujours servir. \begin{conseil}{Pour aller plus loin} Des explications plus précises et poussées (toutes les options de \verb?report?, \verb?article?, etc.) sont disponibles à \url{http://fr.wikibooks.org/wiki/LaTeX/Les_classes}. \\ Ce qu'il faut bien comprendre et surtout retenir, c'est que \textbf{la forme finale de ton document est intrinsèquement liée à sa classe et aux options choisies.} \end{conseil} \begin{attention}{Une question ?} \og Et si je veux changer la police en 14pt, comment faire ? \fg{} \\ Ah, je vois que le fond de la classe suit. J'aborde ce point en \ref{mise-forme} \nameref{mise-forme}, p. \pageref{mise-forme}. \end{attention} C'est bon ? Toujours là ? Tu verras, avec de la pratique, les bases vont rentrer. Plus qu'un dernier point un peu théorique à aborder et nous passerons à la pratique. Promis ! \section{Les packages} \label{preambule}Si le lecteur curieux ne s'est pas encore empressé de faire des essais, je lui recommande d'essayer le code suivant :\footnote{Les sauts de ligne sont importants pour la lisibilité (règle pragmatique \no{}3).} \begin{code}{Un premier essai} \documentclass[a4paper, 12pt]{report} \begin{document} J'aime écrire en \LaTeX{} ! \end{document} \end{code} Si jamais tu ne sais pas quoi faire du code, je ne peux que t'inviter à te rendre en page \pageref{compilation_intro}. Tu y trouveras tout un chapitre consacré à la compilation sous \LaTeX{}, soit l'étape pour transformer ton code en un PDF ! \\ \\ Normalement, suite à la compilation, tu as dû obtenir : \begin{center} J'aime crire en \LaTeX{} ! \end{center} Analysons le résultat. La règle d'or \no{}1 commence à prendre du sens : une commande \LaTeX{} commence par un \textit{backslash} ``\verb?\?'' (ou contre-oblique pour les puristes). Cette commande me permet d'écrire le mot \og LaTeX \fg{} d'une manière plus élégante. Par contre, aucune trace du ``é''. C'est bizarre : moi j'arrive à l'écrire sans souci ! C'est parce que tu n'as pas dit à \LaTeX{} d'écrire en \texttt{UTF-8}\footnote{L'\texttt{UTF-8} est un codage de caractères informatiques, qui tolère les accents : \url{http://fr.wikipedia.org/wiki/UTF-8}.} ! \\ Pour ce faire, il faut dire à \LaTeX{} de charger des options supplémentaires. Dans le jargon \LaTeX{}, ces options sont appelées des \textit{packages}. Dans la littérature française, le terme de \og paquetages \fg{} est parfois employé. \textbf{Les packages sont toujours renseignés dans le préambule,} soit entre les lignes \verb?\documentclass[options]{classe}? et \verb?\begin{document}?. Pour charger un package, il faut utiliser la commande : \begin{center} \verb?\usepackage[options_du_package]{nom_du_package}? \end{center} Pour rédiger des documents en français, il est recommandé de remplir le préambule de la manière suivante : \begin{code}{Un exemple qui fonctionne bien} \documentclass[a4paper, 12pt]{report} \usepackage{lmodern} % Police standard sous LaTeX : Latin Modern % (alternative à la police d'origine développée par Donald Knuth : Computer Modern) \usepackage[french]{babel} % Pour la langue française \usepackage[utf8]{inputenc} % Pour l'UTF-8 \usepackage[T1]{fontenc} % Pour les césures des caractères accentués \begin{document} J'aime écrire en \LaTeX{} ! \end{document} \end{code} Je sens la curiosité briller dans ton regard donc je vais essayer de te donner un peu plus de détails que les commentaires fournis\footnote{Les explications qui suivent proviennent du site \url{http://blog.dorian-depriester.fr/latex/mais-a-quoi-bon-servent-les-packages-fontenc-et-inputenc}} : \begin{itemize}[label = \ding{118}] \item le package \verb?inputenc?, avec l'option \verb?utf8?, permet de prendre en compte l'utilisation de caractères accentués dans le fichier source (soit ton fichier \verb?.tex?). Concrètement, \verb?inputenc? se contente en fait de faire lui-même la conversion entre les caractères accentués et les commandes d'accentuation propres à \LaTeX{} ; \item si \verb?inputenc? gère l'affichage des caractères accentués, la césure reste catastrophique ! Pour indiquer au compilateur les règles de césure pour les mot accentués, il faut donc utiliser le package \verb?fontenc?, avec l'encodage \verb?T1? en option ; \item là encore, le résultat est loin d'être parfait. Le fait de charger \verb?fontenc? remplace les polices par défaut par des fontes de type 3, c'est-à-dire non vectorielles. En clair, si tu zoomes sur un caractère accentué de ton PDF, il sera pixélisé. D'où le chargement en amont de la police \textit{Latin Modern}, via le package \verb?lmodern? ; \item enfin, pour s'adapter à la langue de Molière, le package \verb?babel? avec l'option \verb?french? est indispensable ! \\ \end{itemize} \begin{attention}{Une question ?} \og Pourquoi dire à \LaTeX{} d'aller chercher des options alors que rien n'a été précisé pour la commande \verb?\LaTeX{}?, par exemple ? \fg{} \\ Tout simplement parce qu'il s'agit d'une commande présente de base dans le code source de \LaTeX{}. Il n'y a donc pas besoin de charger quoi que ce soit au préalable. \\ Sache aussi que les packages sont construits par les utilisateurs \LaTeX{}. C'est pourquoi tout est possible avec \LaTeX{} : tout est modifiable ou n'attend qu'à être créé. \end{attention} C'est bon ? Toujours de la partie ? Dis-toi que, désormais, tu vas enfin pouvoir écrire des paragraphes. Passons donc à la pratique !