Skip to content

Commit 1913b80

Browse files
Some fixes (error in build)
1 parent a20559c commit 1913b80

File tree

7 files changed

+293
-425
lines changed

7 files changed

+293
-425
lines changed

README.md

+76-71
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,97 @@
11
# Modèle HEIG-VD pour Rapport de Bachelor <!-- omit in toc -->
22

3-
Ce référentiel contient le modèle de document LaTeX pour la production d'un rapport de bachelor [HEIG-VD](http://heig-vd.ch). Il peut être adapté au besoin.
3+
Ce référentiel contient une proposition de modèle de document $\LaTeX{}$ pour la production d'un rapport de travail de bachelor [HEIG-VD](http://heig-vd.ch). Il peut être adapté au besoin.
44

5-
- [Contexte](#contexte)
5+
- [TL; DR;](#tl-dr)
6+
- [Overleaf ?](#overleaf-)
67
- [Comment démarrer / Quick Start](#comment-démarrer--quick-start)
7-
- [Utilisation](#utilisation)
8-
- [VsCode + Docker + LaTeX Suite](#vscode--docker--latex-suite)
9-
- [Fork et Clone du référentiel](#fork-et-clone-du-référentiel)
10-
- [Démarrer vscode](#démarrer-vscode)
11-
- [Compiler](#compiler)
12-
- [Nettoyer la base de code](#nettoyer-la-base-de-code)
13-
- [Git ?](#git-)
14-
- [Compilation](#compilation)
15-
- [Prétraitement des figures](#prétraitement-des-figures)
16-
- [Bibliographie](#bibliographie)
17-
- [Glossaire](#glossaire)
8+
- [Prérequis](#prérequis)
9+
- [Clone du projet](#clone-du-projet)
10+
- [Ouverture dans Visual Studio Code](#ouverture-dans-visual-studio-code)
11+
- [Configuration du titre et de la signature](#configuration-du-titre-et-de-la-signature)
12+
- [Nettoyage du modèle](#nettoyage-du-modèle)
13+
- [Environnement de travail](#environnement-de-travail)
14+
- [VsCode + Docker + LaTeX Suite](#vscode--docker--latex-suite)
15+
- [Compilation](#compilation)
16+
- [Prétraitement des figures](#prétraitement-des-figures)
17+
- [Bibliographie](#bibliographie)
18+
- [Glossaire](#glossaire)
1819
- [Conventions typographiques et de style](#conventions-typographiques-et-de-style)
1920
- [Numérotation des pages](#numérotation-des-pages)
2021
- [Numérotation des éléments](#numérotation-des-éléments)
21-
- [Outils utiles](#outils-utiles)
2222
- [Conventions typographiques](#conventions-typographiques)
2323
- [Locutions](#locutions)
24+
- [Outils utiles](#outils-utiles)
2425
- [Release](#release)
2526
- [Technologies utilisées](#technologies-utilisées)
2627
- [Standards](#standards)
2728
- [Autres modèles LaTeX](#autres-modèles-latex)
28-
- [Références](#références)
2929
- [Aide et support](#aide-et-support)
3030

31-
## Contexte
31+
## TL; DR;
3232

33-
Cet environnement de repose pas sur [Overleaf](https://www.overleaf.com/) parce que la plateforme en ligne ne permet pas la gestion des dépendances et des artefacts et qu'elle est devenue payante avec le temps.
33+
- Utilisez [Visual Studio Code](https://code.visualstudio.com/) avec l'extension [Remote - Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) pour éditer votre rapport.
34+
- Clonez le référentiel et ouvrez le dossier dans VS Code.
35+
- Compilez votre rapport avec `make`.
36+
- Vous devez avoir [Docker](https://www.docker.com/) installé sur votre machine.
37+
- Ce projet compile à la volée les diagrammes Draw.io, les figures SVG et les graphiques Python.
3438

35-
Avec une solution en ligne comme Overleaf, les figures générées à partir de scripts (Python), les illustrations faites avec [Draw.io](https://app.diagrams.net/) et la conversion automatique de figures (`svg` en `pdf`), ne peuvent pas être automatisées. En revanche, en profitant d'un environnement de développement local, avec l'appui de Docker, ces tâches peuvent être automatisées et la compilation rendue plus rapide.
39+
## Overleaf ?
3640

37-
Ce modèle de document se veut simple d'accès pour les étudiantes et les étudiants de la HEIG-VD. Il peut être adapté et est libre d'utilisation.
41+
Pourquoi ne pas offrir un modèle [Overleaf](https://www.overleaf.com/) ? D'une part parce que Overleaf n'est pas nécessairement gratuit et qu'il n'offre pas la possibilité de compiler des scripts Python ou des diagrammes Draw.io.
42+
43+
Éditer le rapport hors ligne semble plus adapté pour des raisons de confort d'utilisation, de confidentialité et de sécurité.
44+
45+
Avec le temps le support de Git/GitHub, et l'historique des changements ne sont plus disponibles dans la version gratuite d'Overleaf. Il est donc préférable de travailler en local et de pousser les modifications sur GitHub.
3846

3947
## Comment démarrer / Quick Start
4048

49+
### Prérequis
50+
4151
Pour utiliser ce canevas, vous avez besoin des logiciels suivants:
4252

4353
- [Microsoft Visual Studio Code](https://code.visualstudio.com/)
4454
- [Docker](https://www.docker.com/)
55+
- [Git](https://git-scm.com/)
4556

4657
Une fois ces logiciels installés et démarrés, vous devez configurer une extension pour VS Code. Elle vous permettra de faire le lien avec Docker.
4758

4859
- [Remote - Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)
4960

50-
## Utilisation
61+
### Clone du projet
62+
63+
Ensuite, vous pouvez cloner le référentiel sur votre machine en utilisant `git clone` ou GitHub Desktop, puis ouvrir le dossier dans VS Code.
64+
65+
Alternativement, et préférablement, vous pouvez faire un *fork* du référentiel sur GitHub, puis cloner votre copie sur votre machine. Ce faisant, vous pourrez pousser vos modifications sur votre propre copie du référentiel et surveiller les mises à jour du modèle original.
66+
67+
### Ouverture dans Visual Studio Code
68+
69+
Une fois le projet ouvert dans Visual Studio Code, l'extension *Remote - Containers* vous proposera de construire l'image Docker nécessaire à la compilation du document. Cette construction peut prendre du temps (2 à 15 minutes) selon votre connexion et votre machine.
70+
71+
Après cela la compilation est possible avec la commande `make` ou Ctrl+Alt+B.
72+
73+
### Configuration du titre et de la signature
74+
75+
Éditez le fichier `meta.tex` pour y inscrire le titre de votre rapport, votre nom et prénom et le nom de votre superviseur.
76+
77+
Remplacez ensuite la signature `assets/figures/signature.svg` par la vôtre. Il est préférable de garder une variante vectorielle, mais un fichier PNG peut également être utilisé.
78+
79+
### Nettoyage du modèle
5180

52-
L'environnement d'édition conseillé est l'éditeur [Microsoft Visual Studio Code](https://code.visualstudio.com/) couplé à [Docker](https://www.docker.com/) et au [Dev Containers](https://code.visualstudio.com/docs/remote/containers). Ceci vous évite d'installer une distribution LaTeX. Alternativement, il est possible de travailler dans [WSL](https://docs.microsoft.com/en-us/windows/wsl/install-win10).
81+
Ce modèle est fourni avec des textes d'information. Supprimez simplement les fichiers superflus dans les répertoires suivants :
5382

54-
La distribution LaTeX conseillée est [TeX Live](https://www.tug.org/texlive/). L'alternative MiKTeX est déconseillée bien que très populaire.
83+
- `assets/frontmatter`
84+
- `assets/content`
85+
- `assets/backmatter`
86+
- `assets/appendix`
5587

56-
## VsCode + Docker + LaTeX Suite
88+
Vous pouvez éventuellement garder la structure de `assets/content` et supprimer les textes d'information.
5789

58-
Certainement l'une des plus élégantes manières de développer avec LaTeX est d'utiliser Visual Studio Code avec un conteneur POSIX contenant une distribution TeXLive.
90+
## Environnement de travail
91+
92+
### VsCode + Docker + LaTeX Suite
93+
94+
Certainement l'une des plus élégantes manières de développer avec $\LaTeX{}$ est d'utiliser Visual Studio Code avec un conteneur POSIX contenant une distribution TeXLive.
5995

6096
L'éditeur couplé à LaTeX Workshop de James Yu permet une édition fluide. Le menu `commands` offre l'accès à tous les outils de base. La structure (en bas à gauche) et accessible par Ctrl+Alt+X permet de naviguer facilement dans le code. Le panneau des symboles (à droite) permet l'insertion facile de caractères mathématiques.
6197

@@ -77,45 +113,15 @@ Vous pouvez utiliser les commandes suivantes suivi de tab:
77113

78114
D'autres commandes existent et sont accessibles [ici](https://cheatography.com/jcwinkler/cheat-sheets/latex-workshop-visual-studio-code/).
79115

80-
L'éditeur de PDF [Sumatra](https://www.sumatrapdfreader.org/) est conseillé pour visualiser votre rapport, contrairement à Adobe Acrobat, le contenu est automatiquement rafraichi une fois le rapport recompilé.
81-
82-
### Fork et Clone du référentiel
83-
84-
Pour bien démarrer, commencez par faire un *fork* du référentiel en cliquant sur le bouton **Fork** depuis l'interface GitHub. Ceci vous crée une copie du modèle dans votre propre organisation GitHub. Clonez ensuite le référentiel avec `git clone`.
85-
86-
### Démarrer vscode
87-
88-
Si vous n'avez pas installé VS code et Docker, vous devez les installer au préalable.
116+
L'éditeur de PDF [Sumatra](https://www.sumatrapdfreader.org/) est conseillé pour visualiser votre rapport, contrairement à Adobe Acrobat, le contenu est automatiquement rafraichi une fois le rapport recompilé. Il est plus agréable à utiliser que la prévisualisation intégrée à VS Code, ou la visionneuse de PDF dans le navigateur.
89117

90-
Démarrez vscode et installez l'extension *Visual Studio Code Remote - Containers*.
118+
### Compilation
91119

92-
Ouvrez le dossier (`CTRL+K+O`), l'environnement de développement sera automatiquement démarré.
120+
Ce modèle de document est prévu pour fonctionner avec LuaLaTeX pour la production d'un fichier `.pdf`. L'outil `latexmk` est utilisé pour séquencer la production du document final. Un `Makefile` s'occupe du prétraitement des figures.
93121

94-
**NOTE:** La construction initiale du conteneur prend beaucoup de temps, car la distribution LaTeX doit être téléchargée. Vous pouvez aller boire un café.
122+
LuaLaTeX permet de directement lire les documents encodés en UTF-8 et supporte par conséquent l'Unicode et les polices de caractères TrueType et OpenType nativement.
95123

96-
### Compiler
97-
98-
Pour compiler le rapport, exécutez simplement la commande `make`. Normalement, votre rapport est automatiquement compilé à chaque sauvegarde de vos modifications.
99-
100-
### Nettoyer la base de code
101-
102-
Pour retirer tous les éléments informatifs du modèle exécutez `make fresh`. La commande va éditer `report.tex` pour y retirer les textes d'information marqués par `%%if..%%fi`. La commande magique est :
103-
104-
```bash
105-
find . -name '*.tex' -print0 | xargs -n1 -0 perl -0777 -pi -e "s/\%\%if.+?\%\%fi//gs"
106-
```
107-
108-
### Git ?
109-
110-
Pour gérer le suivi de version de votre rédaction, vous pouvez utiliser Git intégré à VisualSudio Code. L'hébergement sur GitHub couplé à l'intégration continue permet la compilation automatique de votre rapport à chaque `git push`. Vous recevrez un e-mail en cas de problème de compilation. Le PDF sera quant à lui disponible depuis le panneau des artefacts de GitHub Actions.
111-
112-
## Compilation
113-
114-
Ce modèle de document est prévu pour fonctionner avec XeTeX pour la production d'un fichier `.pdf`. L'outil `latexmk` est utilisé pour séquencer la production du document final. Un `Makefile` s'occupe du prétraitement des figures.
115-
116-
XeTeX permet de directement lire les documents encodés en UTF-8 et supporte par conséquent l'Unicode et les polices de caractères TrueType et OpenType nativement.
117-
118-
## Prétraitement des figures
124+
### Prétraitement des figures
119125

120126
Les figures sont placées dans `assets/figures`.
121127

@@ -135,11 +141,11 @@ Les conventions de nommage des fichiers intermédiaires sont les suivantes :
135141
| Diagramme draw.io | `.drawio` | `.drawio.pdf` |
136142
| Figure Python | `.py` | `.py.pdf` |
137143

138-
## Bibliographie
144+
### Bibliographie
139145

140146
Les entrées de bibliographie sont directement éditées dans `bibliography.bib`.
141147

142-
## Glossaire
148+
### Glossaire
143149

144150
Le glossaire se trouve dans `glossary.tex`
145151

@@ -189,14 +195,6 @@ Les conventions consensuelles d'usage sont les suivantes :
189195

190196
- Les tables et les figures sont numérotées selon la convention `chapitre.id` où chapitre est le numéro courant du chapitre et `id` un compteur redémarré à `1` à chaque nouveau chapitre.
191197

192-
### Outils utiles
193-
194-
- Éditeur d'équation en ligne [latex3technics](https://www.latex4technics.com/)
195-
- Éditeur de diagrammes en ligne [draw.io](https://app.diagrams.net/)
196-
- Éditeur de tables pour LaTeX [tablegenerator](https://www.tablesgenerator.com/)
197-
- Éditeur LaTeX en ligne [overleaf](https://www.overleaf.com/)
198-
- Correcteur orthographique compatible LaTeX : [Druide Antidote](https://www.antidote.info/en/antidote-10)
199-
200198
### Conventions typographiques
201199

202200
- Les ligatures sont souhaitées.
@@ -213,12 +211,20 @@ Les conventions consensuelles d'usage sont les suivantes :
213211
### Locutions
214212

215213
- La locution *confer* (voir ceci) est abrégée `cf.` (`\cf`)
216-
- La locution *id est* (c'est à dire) est abrégée `c.-à-d.` et non `i.e.` (`\cad`)
214+
- La locution *id est* (c'est-à-dire) est abrégée `c.-à-d.` et non `i.e.` (`\cad`)
217215
- La locution *exempli gratia* (pour l'exemple) est abrégée `p. ex.` et non `e.g.` (`\pex`)
218216

219217
Les locutions latines non francisées suivantes seront écrites en italique :
220218
*ad hoc*, *ad libitum*, *a fortiori*, *a posteriori*, *a posteriori*, *a priori*, *bis*, *grosso modo*, *ibidem*, *idem*, *in extenso*, *in extremis*, *in extenso*, *in extremis*, *in fine*, *infra*, *loc.cit.*, *modus vivendi*, *op.cit.*, *passim*, *quater*, *sic*, *statu quo*, *supra*, *ter*, *via*, *vice versa*.
221219

220+
## Outils utiles
221+
222+
- Éditeur d'équation en ligne [latex3technics](https://www.latex4technics.com/)
223+
- Éditeur de diagrammes en ligne [draw.io](https://app.diagrams.net/)
224+
- Éditeur de tables pour LaTeX [tablegenerator](https://www.tablesgenerator.com/)
225+
- Éditeur LaTeX en ligne [overleaf](https://www.overleaf.com/)
226+
- Correcteur orthographique compatible LaTeX : [Druide Antidote](https://www.antidote.info/en/antidote-10)
227+
222228
## Release
223229

224230
Une release du rapport peut être générée en ajoutant en tag git après un commit.
@@ -229,7 +235,6 @@ git push origin --tags
229235
```
230236
Pour que github action puisse générer la release il faut donner les droits à github action de créer des releases. Dans les paramètres du repo sous Actions/General/Workflows Permissions, cocher "Read and write permission" puis save.
231237

232-
233238
## Technologies utilisées
234239

235240
- [LuaLateX](https://www.luatex.org/) permet le support natif de l'Unicode dans la production de fichiers PDF.
File renamed without changes.

0 commit comments

Comments
 (0)