biblatex-zotero/README.md

126 lines
4.3 KiB
Markdown
Raw Normal View History

---
title: Citation et bibliographie avec LaTeX
date: 2023-03-21T10:22:47+01:00
id: 20230321102247
tags: [README, documentation, latex, rdv-info]
---
## [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 (`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][2].
## 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. 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
```
<!--
Puis, on peut produire directement un PDF (**ne fonctionne pas bien**):
```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 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:
```bash
pandoc --citeproc --to=pdf --pdf-engine=tectonic \
--output=public/polycopié.pdf \
source/polycopié/polycopié.md
```
- `--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é.
## Déroulé de la présentation
Le fichier `déroulé.md` décrit le déroulé de la présentation. 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.
Pour le HTML:
```bash
pandoc -t html5 -s -o déroulé.html déroulé.md
```
Pour le PDF:
```bash
pandoc -t pdf --pdf-engine=tectonic -o déroulé.pdf déroulé.md
```
<!-- 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/