2023-03-21 10:28:20 +01:00
|
|
|
|
---
|
|
|
|
|
title: Citation et bibliographie avec LaTeX
|
2023-03-21 12:04:01 +01:00
|
|
|
|
date: 2023-03-21T10:22:47+01:00
|
2023-03-21 10:28:20 +01:00
|
|
|
|
id: 20230321102247
|
|
|
|
|
tags: [README, documentation, latex, rdv-info]
|
|
|
|
|
---
|
|
|
|
|
|
2024-03-07 14:59:42 +01:00
|
|
|
|
## [Citation et bibliographie avec LaTeX][1]
|
2023-03-21 12:04:01 +01:00
|
|
|
|
|
2023-03-21 10:28:20 +01:00
|
|
|
|
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 :
|
|
|
|
|
|
2024-10-23 16:26:51 +02:00
|
|
|
|
- La source en markdown pour le support de cours (`sources/polycopié/`).
|
2024-03-07 14:59:42 +01:00
|
|
|
|
- Des exemples de fichiers `.tex` (`exercice/exercice.tex`).
|
|
|
|
|
- Un export de collection Zotero au format biblatex
|
|
|
|
|
(`exercice/references-exercices.bib`).
|
2023-03-21 10:28:20 +01:00
|
|
|
|
|
2023-03-31 08:07:21 +02:00
|
|
|
|
Le support de cours au format PDF ainsi que les fichiers d'exercice peuvent
|
2024-03-07 14:59:42 +01:00
|
|
|
|
être téléchargés dans [les publications de version][2].
|
2023-03-31 08:07:21 +02:00
|
|
|
|
|
2024-03-07 14:59:42 +01:00
|
|
|
|
## Prérequis
|
2023-03-21 12:04:01 +01:00
|
|
|
|
|
|
|
|
|
Pour pouvoir utiliser ce projet, il est nécessaire :
|
|
|
|
|
|
|
|
|
|
1. De cloner le projet : \
|
|
|
|
|
`git clone https://git.milhit.ch/igor/biblatex-zotero.git`
|
2024-03-07 14:59:42 +01:00
|
|
|
|
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].
|
2023-03-21 12:04:01 +01:00
|
|
|
|
|
2023-03-24 16:53:03 +01:00
|
|
|
|
## Convertir le support de cours en PDF
|
|
|
|
|
|
2023-04-04 13:45:27 +02:00
|
|
|
|
### Avec `paged.js`
|
|
|
|
|
|
|
|
|
|
Avec cet outil, il est possible de définir les styles des éléments dans le PDF
|
2024-03-07 14:59:42 +01:00
|
|
|
|
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
|
2024-10-23 16:26:51 +02:00
|
|
|
|
fichier `style.css` contient pour sa part la mise en forme permettant d'obtenir
|
|
|
|
|
un fichier suivant en bonne partie la charte de l'UNIGE.
|
2024-03-07 14:59:42 +01:00
|
|
|
|
|
|
|
|
|
Pour pouvoir utiliser `pagedjs`, il faut avoir installé sur sa machine les
|
|
|
|
|
paquets `npm` suivants :
|
2023-04-04 13:45:27 +02:00
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
npm install -g puppeteer pagedjs pagedjs-cli
|
|
|
|
|
```
|
|
|
|
|
|
2024-10-23 16:26:51 +02:00
|
|
|
|
Puis, on peut produire directement un PDF :
|
2023-04-04 13:45:27 +02:00
|
|
|
|
|
|
|
|
|
```bash
|
2024-10-23 16:26:51 +02:00
|
|
|
|
cd sources/polycopié/
|
2024-02-28 13:34:06 +01:00
|
|
|
|
pandoc --standalone --embed-resource --citeproc \
|
2024-10-23 16:26:51 +02:00
|
|
|
|
--to=pdf --pdf-engine=pagedjs-cli \
|
|
|
|
|
--toc --toc-depth=2
|
|
|
|
|
--css=style.css \
|
|
|
|
|
--output=../../public/polycopié.pdf polycopié.md
|
2023-04-04 13:45:27 +02:00
|
|
|
|
```
|
|
|
|
|
|
2024-02-28 13:34:06 +01:00
|
|
|
|
Pour obtenir un fichier HTML, qui peut être ensuite imprimé au format PDF :
|
|
|
|
|
|
2023-04-04 13:45:27 +02:00
|
|
|
|
```bash
|
2024-02-28 13:34:06 +01:00
|
|
|
|
cd sources/polycopié/
|
|
|
|
|
pandoc --citeproc --to=html \
|
2024-10-23 16:26:51 +02:00
|
|
|
|
--template=template.html --css=style.css \
|
2024-02-28 13:34:06 +01:00
|
|
|
|
--output=polycopié.html polycopié.md
|
2023-04-04 13:45:27 +02:00
|
|
|
|
```
|
|
|
|
|
|
2024-03-07 14:59:42 +01:00
|
|
|
|
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
|
2024-10-23 16:26:51 +02:00
|
|
|
|
liens est mieux supportée. Un fois le fichier chargé, il faut utiliser la
|
|
|
|
|
fonction d'impression du navigateur, au format PDF.
|
2023-03-24 16:53:03 +01:00
|
|
|
|
|
2024-03-07 14:59:42 +01:00
|
|
|
|
### Avec LaTeX
|
2023-03-29 16:21:15 +02:00
|
|
|
|
|
2024-03-07 14:59:42 +01:00
|
|
|
|
L'usage de LaTeX suppose une distribution LaTeX. Le résultat obtenu n'est pas
|
2024-10-23 16:26:51 +02:00
|
|
|
|
adapté à la charte de l'UNIGE, et n'est pas même optimal.
|
2023-03-29 16:21:15 +02:00
|
|
|
|
|
2024-03-07 14:59:42 +01:00
|
|
|
|
Pour convertir le support de cours (`polycopié.md`) au format PDF, il faut
|
|
|
|
|
utiliser la commande suivante :
|
2023-03-29 16:21:15 +02:00
|
|
|
|
|
|
|
|
|
```bash
|
2024-03-07 14:59:42 +01:00
|
|
|
|
pandoc --citeproc --to=pdf --pdf-engine=tectonic \
|
|
|
|
|
--output=public/polycopié.pdf \
|
|
|
|
|
source/polycopié/polycopié.md
|
2023-03-29 16:21:15 +02:00
|
|
|
|
```
|
|
|
|
|
|
2024-03-07 14:59:42 +01:00
|
|
|
|
- `--citeproc` traite les citations et génère la bibliographie.
|
|
|
|
|
- `--to=pdf` détermine le format de sortie, ici PDF.
|
|
|
|
|
- `--pdf-engine` définit le moteur de compilation a utiliser pour produire le
|
|
|
|
|
PDF, ici `tectonic`, mais `xelatex` devrait fonctionner aussi, si il est
|
|
|
|
|
installé.
|
|
|
|
|
- `--output=` spécifie le chemin et le nom du fichier généré.
|
2023-03-21 12:04:01 +01:00
|
|
|
|
|
2024-03-07 14:59:42 +01:00
|
|
|
|
## [Déroulé de la présentation][7]
|
2023-03-21 12:04:01 +01:00
|
|
|
|
|
2024-03-07 14:59:42 +01:00
|
|
|
|
Le fichier `déroulé.md` décrit le [déroulé de la présentation][7]. Si une
|
|
|
|
|
impression est nécessaire, on peut soit utiliser le rendu HTML d'un éditeur,
|
|
|
|
|
soit le convertir au format désiré puis l'imprimer.
|
2023-03-21 12:04:01 +01:00
|
|
|
|
|
2024-03-07 14:59:42 +01:00
|
|
|
|
Pour le HTML :
|
2023-03-21 10:28:20 +01:00
|
|
|
|
|
|
|
|
|
```bash
|
2024-03-07 14:59:42 +01:00
|
|
|
|
pandoc -t html5 -s -o déroulé.html déroulé.md
|
2023-03-21 10:28:20 +01:00
|
|
|
|
```
|
|
|
|
|
|
2024-03-07 14:59:42 +01:00
|
|
|
|
Pour le PDF :
|
2023-03-21 12:04:01 +01:00
|
|
|
|
|
|
|
|
|
```bash
|
2024-03-07 14:59:42 +01:00
|
|
|
|
pandoc -t pdf --pdf-engine=tectonic -o déroulé.pdf déroulé.md
|
2023-03-21 12:04:01 +01:00
|
|
|
|
```
|
|
|
|
|
|
2024-03-07 14:59:42 +01:00
|
|
|
|
<!-- références -->
|
|
|
|
|
[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/
|
|
|
|
|
[7]: ./déroulé.md
|