--- 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 ``` 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 ``` [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