biblatex-zotero/README.md

127 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][7]
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.
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/
[7]: ./déroulé.md