Skip to content
/ ScribUTT Public template

Template LaTeX de rapports de projets / TDs et stages (ST05,ST09,ST10,ST30) pour l'Université de Technologie de Troyes aka UTT (école d'ingénieur).

License

Notifications You must be signed in to change notification settings

ungdev/ScribUTT

Repository files navigation

Scrib'UTT

Logo Scrib'UTT

ScribUTT: Template LaTeX perfectionniste au format UTT pour la rédaction de vos rapports de TPs / TDs / Projets, mais aussi pour les stages (ST05,ST09,ST10,ST30). Parce qu'un ingénieur ne devrait pas avoir à se soucier de la forme de son rapport.


Pour que les gens qui lisent vos rapports puissent réagir ainsi :

He is speaking the language of gods.

GitHub stars


Voici la couverture que vous obtiendrez en utilisant ce projet :

Page de garde du rapport

Utilisation

Pour une utilisation simple, ne téléchargez pas directement tout le repository ! Téléchargez l'archive prête à être utilisée.

Bivalence

  • Ce projet vous permet de rédiger tous vos rapports UTT ! En ouvrant le rapportUTT.tex, vous verrez que j'ai tout commenté pour que vous sachiez quoi remplir en fonction. J'ai aussi mis à disposition sur ce git le Thésaurus de l'UTT de 2021 qui je pense, ne bougera que très peu dans le temps.

Pour passer d'une page de garde à l'autre, veillez à bien commenter / dé-commenter le bon appel de la page de garde correspondante (dans rapportUTT.tex).

  • Si jamais vous souhaitez modifier la langue du rapport de stage, pour éviter de créer deux fichiers .tex, je vous conseille juste de vous rendre dans frontpage_STB.tex par exemple (pour le modèle de rapport de stage des Branches / Master) et de remplacer les variables adéquates.

Utilisation du make

Sous un environnement Unix, vous pouvez utiliser le MAKEFILE pour :

  • Construire le pdf de votre projet avec make
  • Déployer votre rapport sous une forme dite "propre" (i.e. le pdf et un zip propre de vos ressources) avec
    make deploy. Notez qu'il invoque par lui-même la construction du pdf.
  • Nettoyer votre espace de projet avec make clean et/ou make clean all.

Architecture de votre projet

  • La classe rUTT est la classe mère dans laquelle sont définies toutes les subtilités telles que les paramètres de minted, les mises en forme du bas de page, etc.

  • Le fichier rapportUTT.tex est la racine de votre projet, c'est ici que vous allez renseigner le titre, votre UE, les auteurs, etc. Le corps de ce document a été conçu pour aller au plus simple, vous n'avez qu'à changer l'ordre d'import de vos parties, sauter des pages (ou non) entre chacune d'elle, etc.

  • On placera dans le dossier assets/img toutes les images que l'on souhaite incorporer à notre document.

  • Le dossier packages contient les ajouts de commandes les plus usées "commands.sty", les couleurs de l'UTT ici, mais aussi et surtout la conception de la page de garde avec l'overlay et la disposition des éléments (encore une fois avec pour exemple le modèle de rapport de stage des Branches / Master). C'est ici qu'il faut ajouter vos modules perso. N'hésitez pas à proposer un module que vous jugez essentiel !

Sommaire et Table des matières

Selon les règles d'organisation d'un document en français, un sommaire et une table des matières sont deux choses bien différentes.

  • La Table des matières donne le détail de tous les chapitres, sections, sous-sections, etc. Elle se place en toute fin de document (après la bibliographie) pour être facilement accessible. C'est elle qui porte les numéros de pages et mentionne ce qu'on appelle l'appareil de référence (annexes, tables, index, bibliographie, etc.)

  • Le Sommaire quant à lui se place juste avant le début du texte principal et ne donne que des informations sommaires, à savoir les parties, chapitres et grandes subdivisions du mémoire ou rapport (de stage). Le sommaire doit apparaître après votre résumé ou vos remerciements, mais avant vos listes des illustrations/abréviations et le glossaire, ou juste avant l'introduction.

Commandes en plus

  • J'ai ajouté une commande permettant d'afficher une adresse en hyperlink, permettant de cliquer directement dessus pour afficher sur une carte OpenStreetMap.
\newcommand{\mapAddr}[1]{\href{https://www.openstreetmap.org/search?query=#1}{#1}}

C'est utilisé pour la section "Lieu" de votre rapport de stage !

  • Beaucoup de commandes très utilisées sont mises dans le package commands.sty. N'hésitez pas à m'en fournir d'autres que vous souhaiteriez voir apparaitre !

Comment gerer un gros projet en LaTeX

Comment incorpore-t-on d'autres fichiers ?

\input{nom_de_fichier} importe les commandes de nom_de_fichier.tex dans le fichier cible -cela équivaut à taper toutes les commandes de nom_de_fichier.tex directement dans le fichier courant à l'endroit de la ligne \input.

\include{nom_de_fichier} effectue essentiellement un \clearpage avant et après \input{nom_de_fichier}, ainsi qu'un petit tour de passe-passe pour passer à un autre fichier .aux. Il omet aussi l'inclusion si on a un \includeonly sans le nom de fichier en argument.

C'est très utile lorsqu'on a un gros projet sur un ordinateur lent - changer une des cibles d'inclusion n'oblige pas à régénérer les sorties de toutes les autres.

\include{nomdefichier} donne non seulement un bonus de vitesse, mais il peut en plus ne pas être imbriqué, ne pas apparaître dans le préambule, et forcer les sauts de page autour du texte inclus.


Concernant quand les utiliser, \include est généralement utilisé pour placer chaque chapitre d'un livre / d'une thèse / d'un devoir dans son propre fichier !

On ne peut pas "précompiler" des parties. Néanmoins, on peut utiliser \includeonly pour s'assurer que nos références croisées et nos numéros de pages restent corrects tout en choisissant de n'inclure que certaines parties de nos sources.


Le package import

Bon, c'est vrai, \input et \include sont les outils de base pour incorporer d'autres fichiers LaTeX dans un autre. Sauf qu'il existe un package qui permet d'éviter bon nombre d'erreurs dû à ces derniers.

Le \clearpage est à faire manuellement ici !

Bibliographie

On ne peut pas utiliser et thebibliography et biblatex en même temps. thebibliography nous donne un contrôle total sur l'ensemble de la bibliographie, mais il faut tout faire manuellement. Tandis que biblatex peut créer automatiquement la bibliographie pour nous si on lui fournit un fichier .bib !

Pour plus d'informations sur la gestion de la bibliographie, on peut consulter le wikibook suivant : https://en.wikibooks.org/wiki/LaTeX/Bibliography_Management

Si on veut utiliser biblatex on enlève thebibliography, on crée un fichier .bib et on affiche la bibliographie avec \printbibliography . ⇒ https://tex.stackexchange.com/questions/13509/biblatex-in-a-nutshell-for-beginne

Biber et BibTex

BibTex est l'ancien et (malheureusement) bien souvent le moteur par défaut des éditeurs LaTeX tandis que Biber est le "nouveau" (i.e., 2009) logiciel qui est évolutif, souple (on peut gérer un panel de fonctionnalités avec un seul package) et "facilement" personnalisable. En somme, il est bien mieux adapté à des bibliographies complexes.

On pratique la quadruple compilation : latex -> biber -> latex*2

Si vous souhaitez vous plonger là-dedans, il y a un très bon pdf téléchargeable ici.

  • Ne faites pas la même erreur que moi !

    À vouloir intégrer biber au sein de mon éditeur LaTeX (VsCode), j'ai modifié le fichier .json mais à chaque mise à jour, je me devais de le modifier de nouveau (cf. cette issue GitHub similaire à mon souci).

    latexmk prend en charge tout seul l'existence d'une instance biber ou non !

    Il est compris de base dans l'extension LaTeX de VsCode. Sinon, voici la documentation pour tout autre système : https://mg.readthedocs.io/latexmk.html

Des liens utiles

  • Pour écrire des maths en LaTeX : ici
  • Pour mettre en forme du code avec minted : ici
  • Un pdf très complet écrit par Monsieur Bouzigues Adrien est téléchargeable ici
  • Quelle police d'écriture choisir pour son code : ici
  • Pour transposer vos tableaux Excel (et autres) en format LaTeX : ici
  • Pour bien intégrer des liens aussi bien vers vos fichiers que vers des URLs : ici
  • Si vous préférez coller votre code sous forme d'image, il y a ce site qui est excellent : https://carbon.now.sh/

Installation

On essaie de regrouper ici toutes les installations au propre pour chaque cas. Merci de faire parvenir via une pull-request ou en envoyant un message privé les erreurs ou ajouts.

Dépendances Python

  • Pour éviter l'erreur : ! Package minted Error: You must have `pygmentize' installed to use this package.

On ouvre une invite de commande et on lance: pip3 install Pygments

Linux

sudo apt update && sudo apt install texlive texlive-science texlive-latex-extra latexmk texlive-lang-french texlive-bibtex-extra biber -y

openSUSE

  1. On utilise zypper avec l'option --no-recommends pour installer le moins de dépendances possible.

  2. On crée un lien symbolique pour Pygments: sudo ln -sf /usr/bin/python3.8 /usr/bin/python

  3. On procède à l'installation de LaTeX et ses dépendances (320~) :

    `sudo zypper in --no-recommends texlive-latexmk texlive-emptypage texlive-setspace texlive-soul texlive-datetime2 texlive-bookmark texlive-microtype texlive-floatrow texlive-titling texlive-blindtext texlive-adjustbox texlive-subfiles texlive-animate texlive-ulem texlive-multirow texlive-mathtools texlive-todonotes texlive-enumitem texlive-psnfss texlive-textpos texlive-frankenstein texlive-quoting texlive-epigraph texlive-minted texlive-tcolorbox texlive-csquotes texlive-mdframed texlive-braket texlive-titlesec texlive-appendix texlive-tocloft texlive-etoc texlive-shorttoc texlive-fancyhdr texlive-bigfoot texlive-biber-bin texlive-babel-french texlive-babel-english texlive-censor texlive-hyperxmp`
  4. Si vous utilisez vim ou neovim :

  • On installe texlive-texcount pour compter le nombre de mots avec le plugin VimTeX
  • On peut aussi installer texlive-chktex pour des diagnostiques LSP en utilisant le plugin null-ls (neovim seulement)

Petits soucis

  • "J'ai un problème, mon compilateur me dit : ! LaTeX Error: File `algorithm2e.sty' not found. !"

Veillez à avoir le package algorithm2e.sty provenant de texlive-science.

  • L'erreur minted Error: You must invoke LaTeX with the -shell-escape flag

Ce souci est présent sur TeXStudio et est résolvable en faisant les changements indiqués ici, ou pour les plus pressés, rendez-vous dans Options > Configure TeXStudio > Build et dans la boite de dialogue User Commands, cliquez sur +Add et nommé votre commande puis mettez respectivement user:graphviz-pdflatex et txs:///pdflatex/[--shell-escape].

  • Lors de l'impression, le pdf ne sort pas comme il était sur mon lecteur !

Pour réparer ce souci qui n'en est pas un, je te conseille d'imprimer en taille réelle ou 100% sur les paramètres de ton imprimante. J'ai laissé les marges nécessaires.

Licence

Ce contenu est distribué sous licence BSD-3. Attention l'archive dont nous parlons au-dessus contient des éléments graphiques dont certains sont de la propriété de l'Université de Technologie de Troyes.

Contribution

Toute contribution est la bienvenue.