diff --git a/.gitignore b/.gitignore
index a4cca1f..b4c43ee 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
*.pdf
-*.html
+policopié.html
+test.html
# Created by https://www.toptal.com/developers/gitignore/api/latex
# Edit at https://www.toptal.com/developers/gitignore?templates=latex
diff --git a/.gitmodules b/.gitmodules
index 12123b5..e69de29 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +0,0 @@
-[submodule "reveal.js"]
- path = reveal.js
- url = https://github.com/hakimel/reveal.js.git
diff --git a/README.md b/README.md
index 140836b..d15d44b 100644
--- a/README.md
+++ b/README.md
@@ -5,44 +5,83 @@ id: 20230321102247
tags: [README, documentation, latex, rdv-info]
---
-## [Citation et bibliographie avec LaTeX][projet]
+## [Citation et bibliographie avec LaTeX][1]
Ce répertoire contient les sources pour le *Rendez-vous de l'info* sur les
citations et les références bibliographiques avec LaTeX. Il contient :
-- La source en markdown pour le support de cours.
-- Des exemples de fichiers `.tex`.
-- Un export de collection Zotero au format biblatex.
+- La source en markdown pour le support de cours (`sources/policopié/`).
+- Des exemples de fichiers `.tex` (`exercice/exercice.tex`).
+- Un export de collection Zotero au format biblatex
+ (`exercice/references-exercices.bib`).
Le support de cours au format PDF ainsi que les fichiers d'exercice peuvent
-être téléchargés dans [les publications de version][latest].
+être téléchargés dans [les publications de version][2].
-[latest]: https://git.milhit.ch/igor/biblatex-zotero/releases/latest
-
-## Pour démarrer
+## Prérequis
Pour pouvoir utiliser ce projet, il est nécessaire :
1. De cloner le projet : \
`git clone https://git.milhit.ch/igor/biblatex-zotero.git`
-1. D'activer le module pour `reveal.js` pour la présentation au format HTML :
- ```bash
- git submodule init
- git submodule update
- ```
-1. Pour générer les différents fichiers, deux outils sont nécessaire :
- 1. `pandoc`. Pour installer `pandoc`, voir [la
- documentation][pandoc-install].
- 1. Une distribution \LaTeX. Une possibilité est de consulter le site web
- [*The \LaTeX project*][latex-project] qui décline les méthodes les plus
- habituelles pour les principaux systèmes d'exploitation. **Pour ma part,
- je recommande l'usage de `tectonic` qui est un binaire à installer** :
- voir comment [installer tectonic][tectonic-install].
+1. Pour générer les différents fichiers, les outils suivants sont nécessaires :
+ 1. Soit `pagedjs`. Pour installer `pagedjs` : \
+ `npm install -g puppeteer pagedjs pagedjs-cli`.
+ 1. Soit `pandoc` et LaTex. Pour installer `pandoc`, voir [la
+ documentation][3]. Pour la distribution LaTeX, une possibilité est de
+ consulter le site web [*The LaTeX project*][4] qui décline les méthodes
+ les plus habituelles pour les principaux systèmes d'exploitation. **Pour
+ ma part, je recommande l'usage de `tectonic` qui est un binaire à
+ installer** : voir comment [installer tectonic][5].
## Convertir le support de cours en PDF
+### Avec `paged.js`
+
+Avec cet outil, il est possible de définir les styles des éléments dans le PDF
+au moyen de règles CSS (voir [paged.js][6]). Dans le dossier
+`sources/polycopié/` se trouvent un `template.html` utilisé par `pandoc` pour
+produire un fichier HTML avec les classes et les identifiants désirés. Le
+fichier `polycopié.css` contient pour sa part la mise en forme permettant
+d'obtenir un fichier suivant en bonne partie la charte de l'UNIGE.
+
+Pour pouvoir utiliser `pagedjs`, il faut avoir installé sur sa machine les
+paquets `npm` suivants :
+
+```bash
+npm install -g puppeteer pagedjs pagedjs-cli
+```
+
+
+
+Pour obtenir un fichier HTML, qui peut être ensuite imprimé au format PDF :
+
+```bash
+cd sources/polycopié/
+pandoc --citeproc --to=html \
+ --template=template.html --css=polycopié.css \
+ --output=polycopié.html polycopié.md
+```
+
+Puis, lancer un server web local depuis la racine du projet, par exemple avec
+`python -m http.server` et charger le fichier `polycopié.html` dans un
+navigateur web, de préférence Chromium (ou Google Chrome), car la gestion des
+liens est mieux supportée.
+
### Avec LaTeX
+L'usage de LaTeX suppose une distribution LaTeX. Le résultat obtenu n'est pas
+adapté à la charte de l'UNIGE.
+
Pour convertir le support de cours (`polycopié.md`) au format PDF, il faut
utiliser la commande suivante :
@@ -59,39 +98,6 @@ pandoc --citeproc --to=pdf --pdf-engine=tectonic \
installé.
- `--output=` spécifie le chemin et le nom du fichier généré.
-### Avec `paged.js`
-
-Avec cet outil, il est possible de définir les styles des éléments dans le PDF
-au moyen de règles CSS (voir [paged.js][pagedjs]). Pour pouvoir l'utiliser, il
-faut avoir installé sur sa machine les paquets `npm` suivants :
-
-```bash
-npm install -g puppeteer pagedjs pagedjs-cli
-```
-
-Puis, on peut soit produire directement un PDF :
-
-```bash
-pandoc --standalone --embed-resource --citeproc \
- --to pdf --pdf-engine=pagedjs-cli \
- --css=source/polycopié/polycopié.css \
- --output=public/polycopié.pdf source/polycopié/polycopié.md
-```
-
-Pour obtenir un fichier HTML, qui peut être ensuite imprimé au format PDF :
-
-```bash
-cd sources/polycopié/
-pandoc --citeproc --to=html \
- --template=template.html --css=polycopié.css \
- --output=polycopié.html polycopié.md
-```
-
-Puis, lancer un server web local, par exemple avec `python -m http.server` et
-charger le fichier `polycopié.html` dans un navigateur web.
-
-[pagedjs]: https://pagedjs.org/
-
## Déroulé de la présentation
Le fichier `déroulé.md` décrit le déroulé de la présentation. Si une impression
@@ -110,52 +116,10 @@ Pour le PDF :
pandoc -t pdf --pdf-engine=tectonic -o déroulé.pdf déroulé.md
```
-## Support de présentation
-
-⚠ Il n'y a pas encore de support de présentation. Le fichier est là à titre
-d'essai pour l'instant.
-
-### Convertir la présentation au format PDF
-
-Pour obtenir la présentation au format PDF, il faut utiliser la commande
-suivante :
-
-```bash
-pandoc -t beamer -V theme=AnnArbor \
- -V colortheme=sidebartab presentation.md -o presentation.pdf
-```
-
-- `-t beamer` définit le format de présentation beamer.
-- `-V theme=Hannover` permet de passer en variable (`-V`) le theme beamer
- désiré.
-- `-V colortheme=sidebartab` définit le thème de couleur.
-
-Une galerie des thèmes et des thèmes de couleurs est disponible en ligne :
-.
-
-Il peut être nécessaire de définir l'installation de \LaTeX, par exemple
-pour `tectonic` :
-
-```bash
-pandoc -t beamer -V theme=AnnArbor -V colortheme=sidebartab \
- --pdf-engine=tectonic presentation.md -o presentation.pdf
-```
-
-### Pour convertir la présentation au format HTML (`reveal.js`)
-
-Il faut s'assurer que `pandoc` soit installé et que le submodule `reveal.js`
-soit bien activé. Puis, il suffit de taper la commande suivante :
-
-```bash
-pandoc -t revealjs --self-contained -o presentation.html presentation.md
-```
-
-- `-t revealjs` définit le format de présentation `reveal.js`.
-- `--self-contained` assure que tous les fichiers nécessaires à la présentation
- seront bien contenu dans un seul fichier HTML.
-
-
-[projet]: ./
-[pandoc-install]: https://pandoc.org/installing.html
-[latex-project]: https://www.latex-project.org/get/
-[tectonic-install]: https://tectonic-typesetting.github.io/en-US/install.html
+
+[1]: ./
+[2]: https://git.milhit.ch/igor/biblatex-zotero/releases/latest
+[3]: https://pandoc.org/installing.html
+[4]: https://www.latex-project.org/get/
+[5]: https://tectonic-typesetting.github.io/en-US/install.html
+[6]: https://pagedjs.org/
diff --git a/exercice/exercice.tex b/exercice/exercice.tex
index 11d65a3..fee7763 100644
--- a/exercice/exercice.tex
+++ b/exercice/exercice.tex
@@ -9,6 +9,7 @@
% \setdefaultlanguage{french}
% URL and link management. Mandatory for Vancouver
% Management of the French language with PdfLaTeX
+\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{hyperref}
% Améliore le rendu des guillemets selon la langue, conseillé avec polyglossia
diff --git a/reveal.js b/reveal.js
deleted file mode 160000
index 724c4fe..0000000
--- a/reveal.js
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 724c4fee274914dd2d997b7584cf603c44e96c72
diff --git a/sources/polycopié/polycopié.css b/sources/polycopié/polycopié.css
index ce3b09c..45288fe 100644
--- a/sources/polycopié/polycopié.css
+++ b/sources/polycopié/polycopié.css
@@ -1,15 +1,18 @@
@media print {
body {
font-family: TheSans, "Open Sans", Arial, Helvetica, sans-serif;
- counter-reset: figureNumber;
+ /* Définit les deux variable de compteur nécessaires */
+ counter-reset: figureNumber toc;
}
- /* Définit que string(date) contient la date */
+ /* Définit que string(date) contient la date indiquée dans le frontmatter
+ * de la source markdown */
.date {
string-set: date content(text)
}
@page {
size: A4;
- margin: 25mm 0;
+ margin-top: 25mm;
+ margin-bottom: 25mm;
bleed: 6mm;
@bottom-center {
content: counter(page)
@@ -38,6 +41,8 @@
content: string(date);
}
}
+ /* Attention, il faut adapter au nombre effectif de pages ! *
+ * Cette règle n'affiche pas de numré de page à la dernière page */
@page:nth(11) {
@bottom-center {
content: none;
@@ -47,8 +52,8 @@
color: #d80669;
text-decoration: underline;
}
+ /* Ajouter ou supprimer les ID de titre pour un saut de page */
#principes-généraux,
- #utilisation-de-biblatex,
#bibliographie,
.footnotes {
break-before: page;
@@ -72,6 +77,7 @@
border-radius: .5em;
margin: 1em;
padding: .5em 1em;
+ break-inside: avoid;
}
code {
font-family:'Courier New', Courier, monospace;
@@ -95,6 +101,7 @@
border: 2px solid #d80669;
border-radius: .5em;
padding: .5em;
+ break-inside: avoid;
}
figure img {
max-width: 85%;
@@ -127,4 +134,21 @@
max-width: 50%;
padding: .5em;
}
+ /* Les 3 règles suivantes mettent en forme la table des matières :*
+ * Suppression des liste à puce et numérotation des chapitres. */
+ #TOC ul {
+ list-style-type: none;
+ padding-left: 0;
+ }
+ #TOC li {
+ counter-increment: toc;
+ }
+ #TOC li::before {
+ content: counter(toc) ". ";
+ }
+ #TOC a::after {
+ content: target-counter(attr(href url), page);
+ position: absolute;
+ right: 0;
+ }
}
diff --git a/sources/polycopié/polycopié.md b/sources/polycopié/polycopié.md
index dfbf819..db35664 100644
--- a/sources/polycopié/polycopié.md
+++ b/sources/polycopié/polycopié.md
@@ -13,22 +13,6 @@ nocite: '@*'
link-citations: true
---
-## Table des matières
-
-1. [Objectifs][toc0].
-1. [Principes généraux][toc1].
-1. [Structure d'une référence dans un fichier `.bib`][toc2].
-1. [Créer un fichier .bib via Zotero][toc3].
-1. [Utilisation de BibLaTeX][toc6].
-1. [Bibliographie][toc7].
-
-[toc0]: #objectifs
-[toc1]: #principes-généraux
-[toc2]: #structure-dune-référence-dans-un-fichier-.bib
-[toc3]: #créer-un-fichier-.bib-via-zotero
-[toc6]: #utilisation-de-biblatex
-[toc7]: #refs
-
## Objectifs
Au terme de cet atelier, vous serez en mesure de :
@@ -211,7 +195,7 @@ Pour installer l'extension (au format `.xpi`) *Better BibTeX* :
### Autres fonctionnalités de Better BibTeX
-Better BibTeX propose des fonctionnalités plus avancées :
+*Better BibTeX* propose des fonctionnalités plus avancées :
- Création et gestion de clés uniques.
- Conversion des caractères UTF-8 et des éventuels balisages HTML
diff --git a/sources/polycopié/template.html b/sources/polycopié/template.html
index f3bd0fc..77febbf 100644
--- a/sources/polycopié/template.html
+++ b/sources/polycopié/template.html
@@ -69,9 +69,7 @@ $endif$
$endif$
$if(toc)$
$endif$