Afficher la pageAnciennes révisionsLiens de retourHaut de page Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur. <WRAP info>**LaTeX** est un langage de programmation de mise en page utilisé pour créer des documents scientifiques et académiques avec précision. Sa syntaxe basée sur des commandes rappelle l’approche de l’automatisation de l’infrastructure informatique (**IAC**) utilisée par les **DevOps**. Comme l’IAC permet de décrire et de gérer l’infrastructure de manière reproductible via du code, LaTeX offre un contrôle similaire sur la présentation des documents, permettant une gestion cohérente et efficace des éléments complexes tels que les équations mathématiques et les références bibliographiques. </WRAP> ====== Pourquoi LaTeX ? ====== En tant que **DevOps** on aime bien maitriser la génération de code, la génération de déploiement, la génération de documents. C’est pour cette raison que **[[https://www.latex-project.org/|LaTeX]]** peu être un bon outil en remplacement de Office ou LibreOffice. Sans éditeur particulier, le code d’un documents LaTeX est beaucoup plus facile à lire qu’un document Office/LibreOffice qui sont enregistrés au format **[[https://fr.wikipedia.org/wiki/Office_Open_XML|Office Open XML]]** Personnellement, bien que l’on puisse rédiger des documents LaTeX avec un éditeur comme [[https://www.texstudio.org/|TeXstudio]], il est également possible d’utiliser des éditeurs plus simples tels que Nano ou Vim. Pour ma part, j’utilise [[https://github.com/badele/vide|mon propre IDE]], basé sur Vim, qui permet non seulement d’éditer, de reformater, linter et de visualiser des documents LaTeX, mais également, grâce à Nix, de télécharger des packages LaTeX. Il est égallement possible d'utiliser LaTeX en ligne, comme [[https://crixet.com|crixet]] et [[https://overleaf.com|overleaf]] {{:l_atelier:vim_latex.png|}} ===== Le préambule ===== Le préambule permet de configurer la forme de son document ainsi d’indiquer les packages supplémentaires à télécharger ainsi que de leur configuration. Le préambule s’insère entre le début du document et la commande ''%%\begin{document}%%'', il permet de définir les configurations globales du document, tel que la classe du document, les packages à utiliser et les métadonnées. Voici un exemple simple <code latex> % Define document type and format % available class :article, report, book, letter, beamer \documentclass[twocolumn, a4paper, 12pt]{article} \usepackage[left=0.5in, right=0.5in]{geometry} % Use french babel \usepackage{french} % generate a lipsum paragraph \usepackage{lipsum} % Set the title and author \title{\Huge Document sample} \author{Bruno Adelé} \date{5 mai 2024} %allow underfull vbox (allow empty space at the bottom of the page \raggedbottom % Set the space between paragraphs \parskip=5pt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Document %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document} \maketitle \lipsum[1-2] \lipsum[6-7] \end{document} </code> {{:l_atelier:01-simple_latex_example.png|}} ===== Les sections ===== Les sections et sous-sections en LaTeX servent à organiser un document en parties et sous-parties, similaire à la structuration par titres sous Office. En outre, il est possible de générer une table des matières à l’aide de la commande ''%%\tableofcontents%%''. De plus, il est possible d’inclure des sections non numérotées dans la table des matières en ajoutant un astérisque en suffixe (''%%section*{Titre}%%''). <code latex> % Define document type and format % available class :article, report, book, letter, beamer \documentclass[a4paper, 12pt]{article} \listfiles % Use french babel \usepackage{french} % generate a lipsum paragraph \usepackage{lipsum} % Set the title and author \title{\Huge Sections list} \author{Bruno Adelé} \date{} %allow underfull vbox \raggedbottom % Set the space between paragraphs \parskip=5pt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Document %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document} \maketitle \tableofcontents \section{Section} \lipsum[1][-2] \subsection{Subsection} \lipsum[2][-2] \subsubsection{Subsubsection} \lipsum[3][-2] \subsubsection*{Section without counter} \addcontentsline{toc}{section}{Section without counter} \lipsum[4][-2] \begin{appendix} \addtocontents{toc}{\setcounter{tocdepth}{2}} \section{Annexes} % \addcontentsline{toc}{section}{Annexes} \subsection{Liste des ilustrations} \listoffigures \listoftables \end{appendix} \end{document} </code> {{:l_atelier:02-section_example.png|}} ===== Style de textes ===== Voici un éventail des styles de texte. <code latex> % Define document type and format % available class :article, report, book, letter, beamer \documentclass[a4paper, 12pt]{article} % Use french babel \usepackage{french} % generate a lipsum paragraph \usepackage{lipsum} % Set the title and author \title{\Huge Sections list} \author{Bruno Adelé} \date{} \newcommand{\showsize}[1]{\csname #1 \endcsname $\setminus$#1} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Document %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document} \section{Sizes} \noindent \showsize{tiny} \showsize{scriptsize} \showsize{footnotesize} \showsize{small} \showsize{normalsize} \showsize{large} \showsize{Large} \showsize{LARGE} \showsize{huge} \showsize{Huge} \section{Styles} \noindent \textnormal{textnormal} \emph{emph} \textrm{textrm} \textsf{textsf} \texttt{texttt} \textup{textup} \textit{textit} \textsl{textsl} \textsc{textsc} \\ \uppercase{uppercase} \textbf{textbf} \textmd{textmd} \end{document} </code> {{:l_atelier:03-textsize_example.png|}} ====== Quelques astuces ===== ===== Debug ===== ==== Dans le Préambule ==== === draf, showframe === LaTeX est un outil qui vise à produire un formatage optimal pour les documents, mais lorsqu’il rencontre des règles qu’il ne peut pas appliquer, il génère des avertissements ou des erreurs. Cependant, ces messages d’erreur peuvent parfois être difficiles à comprendre. Pour résoudre ces problèmes, il est possible d’activer un mode de débogage qui fournit des informations supplémentaires pour comprendre et corriger les erreurs. En ajoutant les options ''%%draft%%'' et ''%%showframe%%'' à la commande ''%%\documentclass%%'', vous pouvez afficher les bordures des boîtes ainsi que mettre en noir les parties posant problème. <code latex> % Define document type and format % available class :article, report, book, letter, beamer \documentclass[draft, showframe, twocolumn, a4paper, 12pt]{article} \usepackage[left=0.5in, right=0.5in]{geometry} % Use french babel \usepackage{french} % generate a lipsum paragraph \usepackage{lipsum} % Set the title and author \title{\Huge Document sample} \author{Bruno Adelé} \date{5 mai 2024} %allow underfull vbox (allow empty space at the bottom of the page \raggedbottom % Set the space between paragraphs \parskip=5pt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Document %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document} \maketitle \lipsum[3-5] \lipsum[12] \end{document} </code> {{:l_atelier:04-debug_example.png|}} === listfiles === Pour lister les packages installés, il sufft d’ajouter la commande ''%%\listfiles%%'' dans le préambule, lors de la prochaine compilation via ''%%pdflatex%%'' vous aurez en sortie de commande la liste des fichiers. <code > *File List* article.cls 2023/05/17 v1.4n Standard LaTeX document class size12.clo 2023/05/17 v1.4n Standard LaTeX file (size option) french.sty 2019/09/06 The e-french package /V6,11/ msg.sty 2019/01/01 chargement de l'extension de localisation (V0.51). latexsym.sty 1998/08/17 v2.2e Standard LaTeX package (lasy symbols) fenglish.sty 2004/06/23 english interface for the french(le/pro) package lipsum.sty 2021-09-20 v2.7 150 paragraphs of Lorem Ipsum dummy text l3keys2e.sty 2024-02-18 LaTeX2e option processing using LaTeX3 keys expl3.sty 2024-02-20 L3 programming layer (loader) l3backend-pdftex.def 2024-02-20 L3 backend support: PDF output (pdfTeX) lipsum.ltd t1lmr.fd 2015/05/01 v1.6.1 Font defs for Latin Modern french.cfg ulasy.fd 1998/08/17 v2.2e LaTeX symbol font definitions *********** </code> ===== Divers ===== * Liste des fontes https://tug.org/FontCatalogue/allfonts.html * Comprehensive LaTeX Symbol List http://mirrors.ctan.org/info/symbols/comprehensive/symbols-a4.pdf ===== Sources ===== * [[:CharteIA]] * openai * Reformulation des phrases * Correction des fautes d’orthographes l_atelier/latex.txt Dernière modification : 2025/10/27 07:47de badele