diff --git a/.gitignore b/.gitignore index 913ee2e..1fc63ed 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,7 @@ *.pdf -polycopié.html -test.html -watched-files.txt -public/ -*.bib +*.html +!template.html +*.zip # 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 deleted file mode 100644 index e69de29..0000000 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..b21d442 --- /dev/null +++ b/Makefile @@ -0,0 +1,61 @@ +SOURCE_FOLDER := sources +OUTPUT_FILENAME := document + +TEMPLATE_REPOSITORY := https://git.milhit.ch/igor/bunige-pagedjs-template/releases/download + +# Liste les fichiers sources. +MD_UNSORTED := $(wildcard $(SOURCE_FOLDER)/*.md) +# Ordonne les fichiers sources sur la base du début numérique du nom des +# fichiers. +MD_SORTED := $(shell printf '%s\n' $(MD_UNSORTED) | sort -t- -k1,1n) + +.PHONY: all +all: pdf + +# Construit le fichier HTML. +.PHONY: html +html: $(MD_SORTED) + pandoc \ + --to=html --standalone \ + --template=static/template.html --css=static/style.css \ + -V static='./static' \ + --citeproc \ + --bibliography=./static/references.json --csl=./static/heg-iso-690.csl \ + --toc --toc-depth=2 \ + --out=$(OUTPUT_FILENAME).html $(MD_SORTED) + +# Construit le fichier PDF. +.PHONY: pdf +pdf: $(MD_SORTED) + pandoc \ + --to=pdf --pdf-engine=pagedjs-cli --embed-resources=true \ + --template=static/template.html --css=static/style.css \ + -V noscript=true -V static='./static' \ + --citeproc \ + --bibliography=./static/references.json --csl=./static/heg-iso-690.csl \ + --toc --toc-depth=2 \ + --out=$(OUTPUT_FILENAME).pdf $(MD_SORTED) + +# Reconstruit le fichier HTML à la modification des autres fichiers. +.PHONY: watch +watch: + watchexec -r -w . -i document.html \ + -- make html + +# Supprime les fichiers construits lorsqu'ils ne sont plus nécessaire. +.PHONY: clean +clean: + rm -f *.html *.pdf + +# Lance un serveur web pour servir le HTML. +.PHONY: serve +serve: + watchexec -r -w . "python -m http.server" + +# Mets à jour le modèle de document +# Usage : make update VERSION=v1.0.0 +.PHONY: update +update: + curl -o modèle.zip $(TEMPLATE_REPOSITORY)/$(VERSION)/$(VERSION).zip + unzip -f -o modèle.zip + rm modèle.zip diff --git a/README.md b/README.md index 46023dc..8d605e5 100644 --- a/README.md +++ b/README.md @@ -2,12 +2,12 @@ title: Citation et bibliographie avec LaTeX date: 2023-03-21T10:22:47+01:00 id: 20230321102247 -tags: [README, documentation, latex, rdv-info] +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 +Ce répertoire contient les sources pour le [*Rendez-vous de l'info*][8] sur les citations et les références bibliographiques avec LaTeX. Il contient : - La source en markdown pour le support de cours (`sources/`). @@ -119,6 +119,25 @@ Pour le PDF : pandoc -t pdf --pdf-engine=tectonic -o déroulé.pdf déroulé.md ``` +## Makefile + +Dépendances : + +- `pandoc`. +- `watchexec`. +- `gnu-make`. +- `python`. + +Le projet contient un Makefile avec les commandes suivantes : + +- `make` : construit le PDF à partir des fichiers `.md` du dossier `sources`. +- `make html` : construit le HTML (sur la base des mêmes fichiers) pour + prévisualiser le résultat dans un navigateur. +- `make watch` : construit le HTML à chaque fois qu'un fichier dans le + répertoire est modifié. +- `make serve` : lance un serveur web local dans le répertoire courant (avec le + module pour python) sur le port 8000. + [1]: ./ [2]: https://git.milhit.ch/igor/biblatex-zotero/releases/latest @@ -127,3 +146,4 @@ pandoc -t pdf --pdf-engine=tectonic -o déroulé.pdf déroulé.md [5]: https://tectonic-typesetting.github.io/en-US/install.html [6]: https://pagedjs.org/ [7]: ./déroulé +[8]: https://www.unige.ch/biblio/index.php?cID=3844 diff --git a/déroulé.md b/déroulé.md index bbaf709..a7c347f 100644 --- a/déroulé.md +++ b/déroulé.md @@ -2,7 +2,7 @@ title: Déroulé de la présentation LaTeX et citation date: 2023-03-29T15:44:49+02:00 id: 20230329154459 -tags: [latex, déroulé, rdv-info] +tags: ["latex", "déroulé", "rdv-info"] --- ## Vérifier @@ -11,9 +11,11 @@ tags: [latex, déroulé, rdv-info] - `exercice.tex`. - `references-exercice.bib` - `references-exercice.ris` + - Le support de cours au format PDF. + - L'aide mémoire pour BibLaTeX. - [ ] Que la compilation rapide fonctionne soit avec PdfLaTeX ou XeLaTeX. -- [ ] Que BibLaTeX soit sur `bibtex %`. -- [ ] Imprimer le polycopié et la *cheatsheet*. Ou préparer les liens vers les +- [ ] Que le moteur de bibliographie soit bien Biber. +- [ ] Imprimer le polycopié et l'aide mémoire. Ou préparer les liens vers les documents pour une session en visio. ## Déroulé @@ -21,11 +23,14 @@ tags: [latex, déroulé, rdv-info] ### Introduction 1. Questions aux personnes : - 1. Contexte académique. 1. Usage de LaTeX. 1. Quel environnement LaTeX. 1. Usage d'un gestionnaire de référence. -1. Plan. +1. Plan : + 1. Principes de bases. + 1. BibLaTeX et fichier `.bib`. + 1. Better BibTeX. + 1. Usage de BibLaTeX (exercice). 1. Objectifs. 1. Principes de base. 1. Langage de balisage dans un fichier `.tex`. @@ -38,8 +43,9 @@ tags: [latex, déroulé, rdv-info] ### Exercice 1. Proposer d'importer `references-exercice.ris`. -1. Export Zotero. -1. Better BibTeX. Exporter et montrer la liste des exportations. +1. Export Zotero « classique ». +1. Better BibTeX. Exporter au format BibLaTeX et montrer la liste des + exportations. 1. Ouvrir le fichier `exercice.tex` avec Texmaker. 1. Montrer : 1. Commentaires, dont l'insertion de la bibliographie. @@ -50,19 +56,22 @@ tags: [latex, déroulé, rdv-info] 1. Montrer comment configurer la compilation dans Texmaker. 1. `biber %` pour BibLaTeX. 1. Compilation rapide avec : - 1. Soit préconfiguration PdfLaTeX, Biber, PdfLaTeX 2x et affichage du - PDF. - 1. Soit, avec l'assistant XeLaTeX, Biber, XeLaTeX 2x et affichage du + 1. Soit préconfiguration PdfLaTeX, Biber, 2x PdfLaTeX et affichage du + PDF (ne fonctionne pas avec `polyglossia` et `fontenc`). + 1. Soit, avec l'assistant XeLaTeX, Biber, 2x XeLaTeX et affichage du PDF. 1. Compiler le fichier tel quel. 1. **Laisser faire.** 1. Montrer les fichiers auxiliaires. 1. Montrer qu'on peut les supprimer avec *Outils / nettoyer* dans Texmaker. -1. Ajouter un appel à citation simple (`\cite`), décommenter l'insertion de la - bibliographie. +1. Ajouter un appel à citation simple (`\cite{}`), décommenter : + - Le chargement du package BibLaTeX avec les options. + - L'insertion de la bibliographie. 1. Compiler et **Laisser faire.** -1. Changer le `\cite` en `\autocite`. -1. Essayer d'autres commandes de citation via la cheatsheet. +1. Montrer qu'on peut changer les options de `hyperref`, par exemple + `[colorlinks=true]` ou `[colorlinks=true, citecolor=red]` +1. Changer le `\cite{}` en `\autocite{}`. +1. Essayer d'autres commandes de citation via l'aide mémoire. 1. Ajouter des options à `\autocite` et souligner que les deux options doivent être affichées : `\autocite[voir][]{bohemierBibTeXNatbibBiblatex}`. @@ -75,3 +84,4 @@ tags: [latex, déroulé, rdv-info] 1. Passer à un style `numeric`, `apa`, `vancouver`. Signaler qu'il faudra peut-être installer un style. Mentionner le topic biblatex. 1. Compiler et **Laisser faire.** +1. Montrer l'exemple avec le fichier Markdown si le temps le permet. diff --git a/exercice/exercice.md b/exercice/exercice.md new file mode 100644 index 0000000..f0b5c2f --- /dev/null +++ b/exercice/exercice.md @@ -0,0 +1,54 @@ +--- +title: Notre pseudo-article +date: Printemps 2026 +creation_date: 2026-03-13T12:04:37+0100 +id: 20260313120437 +lang: fr +tags: ["biblatex", "zotero", "better bibtex"] +author: + - "Vincent Huber" + - "Igor Milhit" +bibliography: ./references-exercice.bib +pdf-engine: xelatex +link-citations: true +colorlinks: true +--- + +## Introduction + +Dans ce pseudo-travail, nous prétendons introduire notre sujet, comme la +littérature le conseille généralement [@bohemier_bibtex_nodate]. + +Une bonne introduction annonce aux lecteurs et lectrices un certain +nombre d'éléments indispensables au sujet de l'article qu'elles et ils vont +lire, comme le suggèrent @bosma_code-switching_2019 et @sauvayre_les_2013. + +## Première partie + +Dans *cette première partie*, nous pouvons insérer une "citation en +ligne" et le bloc de citation suivante : + +> The results showed that different reference managers require different +> levels of effort, and users generally prefer the tools that involve +> less effort. We also found that although reference managers share +> similar features, differences in presentation and organization matter. +> We conclude this work by providing a set of guidelines for both users and +> developers of reference managers [@cai_what_2021]. + +## Et les maths ? + +L'équation de la relativité restreinte est : + +$$ +E = mc^2 +$$ + +Une équation plus complexe, comme la distribution normale : + +$$ +f(x) = \frac{1}{\sigma\sqrt{2\pi}} e^{-\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2} +$$ + +\newpage + +## Références diff --git a/exercice/references-exercice.bib b/exercice/references-exercice.bib index dc00805..55256d7 100644 --- a/exercice/references-exercice.bib +++ b/exercice/references-exercice.bib @@ -1,16 +1,17 @@ -@online{bohemierBibTeXNatbibBiblatex, - title = {{{BibTeX}}, Natbib, Biblatex: {{Managing}} Citations in {{LaTeX}}: {{BibTeX}} and Natbib.}, +@online{bohemier_bibtex_nodate, + title = {{{BibTeX}}, Natbib, Biblatex: {{Managing}} Citations in {{LaTeX}}}, shorttitle = {Yale University Library Research Guides}, author = {Bohemier, Kayleigh}, - url = {https://guides.library.yale.edu/bibtex/bibtex-natbib}, - urldate = {2022-05-17}, + location = {New Haven, CT}, + url = {https://guides.library.yale.edu/bibtex}, + urldate = {2026-03-13}, abstract = {A short guide linking to documentation, resources for bibliographic citation styles, and other useful tools to use when citing sources using .bib files and associated packages.}, langid = {english}, - organization = {{Yale University Library Research Guides}}, - keywords = {biblatex-zotero-exercice,cmu,non lu} + organization = {Yale University Library Research Guides}, + keywords = {biblatex-zotero-exercice,cmu} } -@article{bosmaCodeswitchingAsymmetryBilingual2019, +@article{bosma_code-switching_2019, title = {A Code-Switching Asymmetry in Bilingual Children: {{Code-switching}} from {{Dutch}} to {{Frisian}} Requires More Cognitive Control than Code-Switching from {{Frisian}} to {{Dutch}}}, author = {Bosma, Evelyn and Blom, Elma}, date = {2019-12}, @@ -25,14 +26,14 @@ keywords = {biblatex-zotero-exercice,cmu,non lu} } -@inproceedings{caiWhatMakesGood2021, +@inproceedings{cai_what_2021, title = {What Makes {{A}} Good Reference Manager? {{A}} Quantitative Analysis of Bibliography Management Applications}, shorttitle = {What Makes {{A}} Good Reference Manager?}, booktitle = {Asian {{CHI}} Symposium 2021}, author = {Cai, Tongan and Chen, Chacha and Huang, Ting-Hao and Ritter, Frank E}, date = {2021-05-08}, pages = {64--69}, - publisher = {{ACM}}, + publisher = {ACM}, doi = {10.1145/3429360.3468183}, url = {https://dl.acm.org/doi/10.1145/3429360.3468183}, urldate = {2022-07-21}, @@ -41,27 +42,27 @@ keywords = {biblatex-zotero-exercice,cmu,non lu} } -@book{sauvayreMethodesEntretienSciences2013, +@book{sauvayre_les_2013, title = {Les Méthodes de l'entretien En Sciences Sociales}, author = {Sauvayre, Romy}, date = {2013}, series = {Psycho Sup. {{Psychologie}} Sociale}, - publisher = {{Dunod}}, - location = {{Paris}}, + publisher = {Dunod}, + location = {Paris}, isbn = {978-2-10-057970-9}, pagetotal = {138}, keywords = {biblatex-zotero-exercice,cmu,Enquêtes sociologiques,Entretiens,non lu,Sociologie} } -@incollection{slaweckiParadigmsQualitativeResearch2018, +@incollection{slawecki_paradigms_2018, title = {Paradigms in Qualitative Research}, booktitle = {Qualitative Methodologies in Organization Studies}, author = {Sławecki, Bartosz}, editor = {Ciesielska, Malgorzata and Jemielniak, Dariusz}, date = {2018}, pages = {7--26}, - publisher = {{Springer International Publishing}}, - location = {{Cham}}, + publisher = {Springer International Publishing}, + location = {Cham}, url = {http://link.springer.com/10.1007/978-3-319-65217-7_2}, urldate = {2022-11-08}, isbn = {978-3-319-65217-7}, diff --git a/exercice/references-exercice.ris b/exercice/references-exercice.ris index 0ecc3ed..ef7f03e 100644 --- a/exercice/references-exercice.ris +++ b/exercice/references-exercice.ris @@ -3,12 +3,12 @@ TI - BibTeX, natbib, biblatex: Managing citations in LaTeX AU - Bohemier, Kayleigh T2 - Yale University Library Research Guides AB - A short guide linking to documentation, resources for bibliographic citation styles, and other useful tools to use when citing sources using .bib files and associated packages. -LA - eng +CY - New Haven, CT +LA - en ST - Yale university library research guides UR - https://guides.library.yale.edu/bibtex -Y2 - 2022/05/17/ +Y2 - 2026/03/13/ KW - cmu -KW - non lu KW - biblatex-zotero-exercice ER - diff --git a/sources/polycopié.md b/sources/01-document.md similarity index 58% rename from sources/polycopié.md rename to sources/01-document.md index fd3bdc1..4cea61e 100644 --- a/sources/polycopié.md +++ b/sources/01-document.md @@ -1,14 +1,14 @@ --- title: "Citer ses références et créer une bibliographie avec LaTeX et Zotero" -date: Printemps 2025 +date: Printemps 2026 creation_date: 2023-03-24T08:25:47+0100 id: 20230324082557 logo: - - ./static/latex-logo.svg - - ./static/zotero-logo.png + - ./static/images/latex-logo.svg + - ./static/images/zotero-logo.png lang: fr -bibliography: references.json -csl: heg-iso-690.csl +bibliography: ./static/references.json +csl: ./static/heg-iso-690.csl nocite: '@*' link-citations: true --- @@ -32,12 +32,6 @@ Au terme de cet atelier, vous serez en mesure de : [CC BY-SA 4.0][2] --- [Sources][3] ::: - - -[1]: ./static/by-sa.svg -[2]: https://creativecommons.org/licenses/by-sa/4.0/deed.fr "Texte de la licence en français" -[3]: https://git.milhit.ch/igor/biblatex-zotero "Projet git du document" - ## Principes généraux {#first-section} > « Dans LaTeX il faut distinguer le langage de balisage, le système de @@ -45,30 +39,31 @@ Au terme de cet atelier, vous serez en mesure de : Pour générer des documents avec LaTeX, il faut : -- Rédiger un document dans un fichier `.tex` à l'aide du *langage de balisage*, - afin de le structurer. +- Rédiger un document structuré à l'aide du *langage de balisage* LaTeX, dans + un fichier `.tex`. - Compiler ce fichier avec un *système (ou moteur) de composition*, par exemple LaTeX, PdfLaTeX ou XeLaTeX. Pour disposer d'un tel système de composition, le plus souvent on installe un *environnement ou une distribution* LaTeX, par exemple TeX Live pour Linux, MacTex pour Mac OS ou MiKTeX pour Windows[^0]. Il est aussi possible -d'installer des distributions plus minimales, comme `tectonic` ou TinyTeX[^6]. +d'installer des distributions plus minimales, comme Tectonic ou TinyTeX[^6]. -Afin de faciliter la collaboration ou pour s'éviter une installation parfois -laborieuse, des services en ligne sont préférés, comme +Afin de faciliter la collaboration ou pour s'éviter une installation +laborieuse, des services en ligne peuvent être préférés, comme . -Enfin, un éditeur est nécessaire pour travailler sur les sources (le ou les -fichiers `.tex`). N'importe quel éditeur de texte suffit, mais des aides comme -la coloration syntaxique, la complétion des commandes ou la gestion de la +Enfin, un éditeur est nécessaire pour modifier les sources (le ou les fichiers +`.tex`). N'importe quel éditeur de texte suffit, mais des aides comme la +coloration syntaxique, la complétion des commandes ou la gestion de la compilation autrement que dans une console sont très utiles. Parmi une liste -plutôt riche, les éditeurs suivants peuvent être mentionnés : +riche, les éditeurs suivants peuvent être mentionnés : -- Texmaker, libre, multiplatforme, . +- TeXstudio, libre, multiplatforme (Linux, MacOS, Windows), + [^10]. - TeXworks, libre, multiplatforme, . - Visual Studio Code, gratuit, multiplatforme, - , avec les extensions nécessaires. + , avec les extensions nécessaires[^7]. Afin de pouvoir insérer des citations et créer des bibliographies avec LaTeX, un fichier contenant les références bibliographiques est nécessaire. Il s'agit @@ -81,12 +76,6 @@ Ce fichier `.bib` se place le plus souvent dans le même dossier que le document `.tex` de travail, mais il est possible de l'enregistrer n'importe où et de préciser son chemin dans le fichier `.tex`. - - -[^0]: Voir le site . -[^6]: Voir le site ou - le site . - ### BibTeX VS BibLaTeX {#bibtex-vs-biblatex .newpage} BibTex est le logiciel historique pour la gestion des références et des @@ -103,6 +92,13 @@ auteur-date, etc.) et différents style de bibliographies. Débuter avec BibLaTeX n'empêche pas de passer à BibTeX ensuite. +::: {.warning} + +Selon la distribution LaTeX, Biber n'est pas installé par défaut. Si la +compilation ne fonctionne pas comme prévu, pensez à vérifier ce point. + +::: + ## Structure d'une référence dans un fichier `.bib` Une référence dans un fichier `.bib` au format BibLaTeX ressemble à ce qui @@ -130,10 +126,10 @@ Les lignes suivantes correspondent aux champs de la référence, sous la forme `champ = {valeur}`, séparées par une virgule. La documentation BibLaTeX détaille l'ensemble des types et des champs -[@lehmanBiblatexPackageProgrammable2023, p. 7]. Une *cheatsheet* les liste +[@lehmanBiblatexPackageProgrammable2023, p. 7]. Un aide-mémoire les liste également [voir @reesBibLaTeXBiberCheat2017]. -Il est possible de créer et de mettre à jour un fichier `.bib` à la main, à +Il est possible de créer et de mettre à jour un fichier `.bib` « à la main », à l'aide d'un éditeur de texte. Un grand nombre de bases de données, de sites de revues ou de catalogues de bibliothèques permettent de télécharger une ou plusieurs références dans un fichier `.bib`, mais le plus souvent dans la @@ -144,11 +140,6 @@ de gestion de références bibliographiques, comme JabRef[^1] ou Zotero[^2]. L'intérêt de ces logiciels est d'éviter les erreurs et d'automatiser en partie la collecte de références. - - -[^1]: Logiciel multiplatforme et libre, supporte BibTeX et Biber nativement. -[^2]: Logiciel multiplatforme et libre. - ## Créer un fichier `.bib` via Zotero Avec Zotero, il est possible de générer un fichier `.bib` : @@ -163,33 +154,28 @@ Il suffit de : - Faire un clic-droit et sélectionner *Exporter la collection / les documents*. - Choisir le format BibTeX ou BibLaTeX.[^3] -Ce procédé très simple a néanmoins un inconvénient : le fichier créé est -statique. Il ne sera pas mis à jour automatiquement si la collection est -complétée, ou si les références sont corrigées dans Zotero. Il faudra générer à -nouveau et écraser le fichier `.bib` pour qu'il soit à jour. - -[^3]: Il est également possible d'exporter une bibliothèque au format - BibTeX depuis d'autres logiciels bibliographiques, notamment - EndNote. Pour cela, dans ce dernier, il faut aller dans les options - de styles *Tools / Output Styles / Open Style Manager* et cocher le - style *BibTeX Export*. Une fois cela fait, il faut cliquer sur *File - Export*, sélectionner le style *BibTeX Export* et sauvegarder le - fichier au format `.bib`. +Ce procédé très simple a un inconvénient : le fichier créé est **statique**. Il +ne sera pas à jour si la collection est complétée, ou si les références sont +corrigées dans Zotero. Il faudra générer à nouveau et écraser le fichier `.bib` +pour qu'il soit à jour. ### L'extension *Better BibTeX for Zotero* -L'extension *Better BibTeX for Zotero* résout deux problèmes des fichiers -`.bib` générés par Zotero : +::: {.warning} -1. Elle permet d'exporter **un fichier `.bib` dynamique, c'est-à-dire que le - contenu de celui-ci sera mis à jour automatiquement lorsque la collection - correspondante dans Zotero sera modifiée**. Pour cela, il faut choisir le - format d'exportation *Better BibTeX* ou *Better BibLaTeX* et sélectionner - l'option *Garder à jour*. (Figure 1) \ -1. Elle permet de **modifier une clé de citation (citekey) manuellement ou de - créer un format de citekey par défaut.** +Il est fortement conseillé d'utiliser un Zotero à jour (`>= 8`) ! -![Fenêtre de dialogue de Better BibTex](./static/better-bibtex-a-jour.png) +::: + +L'extension *Better BibTeX for Zotero* améliore la fonctionnalité d'export +native de Zotero. Elle permet d'exporter un fichier `.bib` **dynamique**, +c'est-à-dire que le contenu de celui-ci sera mis à jour **automatiquement** +lorsque les données correspondantes dans Zotero seront modifiées. Pour cela, il +faut choisir le format d'exportation *Better BibTeX* ou *Better BibLaTeX* et +sélectionner l'option *Garder à jour* (Figure 1). + +![Fenêtre de dialogue de Better +BibTex](./static/images/better-bibtex-a-jour.png){height=300px} Pour installer l'extension (au format `.xpi`) *Better BibTeX* : @@ -200,17 +186,28 @@ Pour installer l'extension (au format `.xpi`) *Better BibTeX* : from file* (Figure 3). - Sélectionner le fichier téléchargé. -![Menu « outils » de Zotero](./static/menu-outils.png) +![Menu « outils » de Zotero](./static/images/menu-outils.png){height=200px} -![Installer un fichier `.xpi`](./static/install-add-on.png) +![Installer un fichier `.xpi`](./static/images/install-add-on.png){height=180px} + +::: {.warning} + +Il existe une extension pour Zotero qui facilite grandement la gestion des +extensions, leur installation et leur mise à jour : \ +. + +::: ### Autres fonctionnalités de Better BibTeX *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 - présents dans les références. +- Paramétrage du format des clés de citation. +- Conversion des caractères UTF-8 et des éventuels balisages HTML, + présents dans les références, particulièrement nécessaire avec BibTeX. +- Paramétrage du comportement de la citation rapide (glisser-déposer une + référence depuis Zotero dans votre document) : est-ce que vous voulez obtenir + une référence rédigée au format LaTeX, une clé de citation, etc. ? - Génération de champs supplémentaires absents de Zotero. - Création de types de documents n'existant pas dans Zotero. @@ -222,27 +219,35 @@ Les informations supplémentaires à ce sujet sont disponibles sur le site Pour générer le fichier PDF à partir des sources `.tex` et `.bib`, il est nécessaire de configurer le système de composition que l'on va utiliser. Il -peut être appelé en ligne de commande dans une console ou, à l'inverse, pris en -charge presque entièrement par une plateforme comme Overleaf. Et entre les -deux, des éditeurs de texte dédiés à LaTeX offrent un certain nombre d'options -de compilation ou de composition. +peut être appelé en ligne de commande dans une console ou pris en charge +presque entièrement par une plateforme comme Overleaf. Et entre les deux, des +éditeurs de texte dédiés à LaTeX offrent un certain nombre d'options de +compilation ou de composition. L'exemple donné ci-dessous est adapté à l'exercice et à l'utilisation de -l'éditeur Texmaker, mais le principe est similaire dans les différents +l'éditeur TeXstudio, mais le principe est similaire dans les différents environnement. -Dans Texmaker, la fonction pour lancer BibTeX ou Biber (BibLaTeX) est la même. -Il faut donc lui préciser lequel on utilise : +Les paramètres de TeXstudio sont dans le menu *Options / Configurer +TeXstudio...*. L'onglet *Production* rassemble les configurations essentielles +: -1. Menu Options. -1. Configurer Texmaker. -1. Dans l'onglet *Commandes*, chercher l'entrée *Bib(la)tex* et entrer - `biber %` (Figure 4). +- Le comportement du bouton *Production et visualisation*. +- Le moteur de compilation par défaut. +- Le moteur de compilation de bibliographie par défaut. -![Configuer Biber pour BibLaTeX dans Texmaker](./static/texmaker-biber.png) +![Configuration de base de TeXstudio](./static/images/texstudio-production.png) + +Comme la figure 4 le montre, il faut s'assurer que : + +- La *Production et visualisation* soit bien sur *Compiler et voir*. +- La *Compilation par défaut* doit utiliser XeLaTeX pour `polyglossia` ou + PdfLaTeX pour `babel`. +- Le *Moteur de bibliographie par défaut* doit être Biber si on utilise + BibLaTeX. Lorsque l'on compile avec des références bibliographiques, il est nécessaire de -le faire quatre fois : +le faire quatre fois (cinq étapes avec l'affichage du PDF) : 1. XeLaTeX. 1. Biber. @@ -250,33 +255,9 @@ le faire quatre fois : 1. XeLaTeX. 1. Afficher le PDF. -Heureusement Texmaker permet de configurer une *Compilation rapide* qui lance -automatiquement ces quatre itérations : - -1. Menu Options. -1. Configurer Texmaker. -1. Onglet *Compil rapide*. -1. Choisir la suite de commande à lancer. - -Dans le cas de l'exercice présenté, une bonne solution est d'utiliser XeLaTeX. -Pour cela, il faut choisir l'option *Utilisateur* et utiliser l'assistant -(figure 5). - -![Assistant de configuration de compil rapide](./static/compil-rapide-assistant.png) - -Puis, dans l'assistant, sélectionner les commandes à ajouter, une à une, dans -l'ordre (figure 6). - -![Ajout des commandes dans l'assistant](./static/compil-rapide-liste.png) - -Les services web comme Overleaf ou les outils comme `tectonic`[^5] prennent -eux-mêmes en charge ce genre de complexité. - -[^5]: Voir . L'intérêt de `tectonic` -est qu'il s'occupe de télécharger à la volée des logiciels nécessaires en -fonction de ce qui est indiqué dans le préambule, ce qui évite d'installer une -distribution de LaTeX volumineuse. À l'exception de Biber qui doit être -installé sur le système. +Heureusement TeXstudio, lorsqu'il repère dans le fichier `.tex` l'existence +d'éléments bibliographiques, gère tout seul cette complexité, comme c'est le +cas avec Overleaf ou Tectonic[^5], par exemple. ## Utilisation de BibLaTeX @@ -319,7 +300,7 @@ le placer dans le même répertoire que le fichier `.tex`. ### Insérer des citations Pour insérer des citations, il existe un ensemble de commandes possibles (voir -la *cheatsheet*), pour les différents cas. La syntaxe est la suivante : +l'aide-mémoire), pour les différents cas. La syntaxe est la suivante : ```latex \cite[
][]{}
@@ -331,6 +312,8 @@ la *cheatsheet*), pour les différents cas. La syntaxe est la suivante :
   exemple `[voir]` permet d'obtenir `(voir Auteur, date)`.
 - `[]`, optionnel, ajoute du texte après l'appel à citation, comme un
   numérotation de pages.
+- Si on ajoute une option (`pre` ou `post`), il faut toujours ajouter l'autre
+  option, même si on la laisse vide : `\cite[voir][]{citationKey}`.
 - `{}`, obligatoire, est la clé de citation indiquant de quelle référence
   il s'agit. Par exemple `{slaweckiParadigmsQualitativeResearch2018}`.
 
@@ -358,10 +341,9 @@ Elle peut prendre un certain nombre d'options, par exemple :
 Cet exemple définit le titre de la bibliographie. Par défaut, le titre est
 *Références* en français.
 
-À l'aide de la *cheatsheet* ou de la documentation il est possible de
-comprendre comment réaliser une bibliographie pour une section du document, ou
-une bibliographie ne contenant que les références liées à un mot clé
-particulier.
+À l'aide de l'aide-mémoire ou de la documentation il est possible de comprendre
+comment réaliser une bibliographie pour une section du document, ou une
+bibliographie ne contenant que les références liées à un mot clé particulier.
 
 ### Enrichir BibLaTeX
 
@@ -387,4 +369,80 @@ Sous Windows la commande ne prend qu'un tiret pour le paramètre :
 kpsewhich -var-value TEXMFLOCAL
 ```
 
+## LaTeX, mais sans LaTeX ?
+
+Il est possible de produire un document au format PDF avec un rendu identique à
+LaTeX avec un fichier source rédigé non pas avec la syntaxe LaTeX, mais avec
+Markdown[^8]. Il s'agit d'un langage de balisage *léger*, plus simple à
+maîtriser. Surtout, le mécanisme pour les citations et la bibliographie est
+très similaire. C'est pourquoi il en est très brièvement question ici.
+
+Le principe de base est le suivant :
+
+1. La source est un ou plusieurs fichiers texte en Markdown.
+1. La base de donnée des références bibliographiques est également un fichier
+   texte, par exemple au format BibLaTeX (`.bib`) ou CSL Json (`.json`).
+1. Dans les deux cas, *Better BibTeX* est en mesure de le créer (et de le
+   mettre à jour automatiquement).
+1. La conversion de la source en PDF se fait avec Pandoc[^9] (et Pandoc Citeproc
+   qui est intégré à Pandoc).
+1. Pandoc s'appuie sur un moteur pour LaTeX, par exemple XeLaTeX.
+
+Dans le fichier source, pour insérer une citation on peut le faire avec les
+syntaxes suivantes :
+
+- `[@citationKey]`, équivalent à `\parencite{citationKey}`.
+- `[@citationKey1; @citationKey2]`, équivalent à `\parencites{...}`.
+- `@citationKey`, équivalent à `\textcite{citationKey}`.
+
+La bibliographie sera insérée après le dernier titre de section (vide) du
+document.
+
+Pour convertir au format PDF la source, on peut utiliser la commande suivante
+dans un terminal :
+
+```bash
+pandoc --citeproc --bibliography="references.bib" \
+       --pdf-engine="xelatex" \
+       --output="document.pdf" source.md
+```
+
+Cette commande demande au logiciel `pandoc` de convertir le fichier `source.md`
+vers le fichier `document.pdf` (donc au format PDF), en utilisant XeLaTeX, en
+traitant les références bibliographiques (`--citeproc`) sur la base de la liste
+de références du fichier `references.bib`.
+
+Rien n'empêche d'ajouter des configurations et des paramètres. Une solution est
+d'ajouter un « frontmatter » à notre fichier Markdown, autrement dit un entête
+au format YAML pour préciser des métadonnées et des paramètres, un peu comme on
+le ferait avec un préambule pour LaTeX. Par exemple :
+
+```yaml
+title: Notre pseudo-article
+date: Printemps 2026
+lang: fr
+author:
+  - "Auteur 1"
+  - "Auteur 2"
+pdf-engine: xelatex
+bibliography: ./references-exercice.bib
+csl-style: ./vancouver.csl
+link-citations: true
+colorlinks: true
+```
+
+`csl-style` spécifie le style de citation utilisé au moyen d'un fichier CSL, à
+savoir les styles utilisés par Zotero. `link-citations` et `colorlinks`
+indiquent que les appels à citation sont des liens hypertextes, et que les
+liens hypertextes doivent être en couleur.
+
+La commande de conversion peut être simplifiée :
+
+```bash
+pandoc --citeproc --output="document.pdf" source.md
+```
+
+Ce principe se retrouve avec d'autres outils, construits avec les mêmes briques
+(Pandoc, Markdown), comme Zettlr[^11] ou Quarto[^12].
+
 ## Bibliographie {.newpage}
diff --git a/sources/100-references.md b/sources/100-references.md
new file mode 100644
index 0000000..c2d7c32
--- /dev/null
+++ b/sources/100-references.md
@@ -0,0 +1,42 @@
+
+
+[1]: ./static/images/by-sa.svg
+[2]: https://creativecommons.org/licenses/by-sa/4.0/deed.fr "Texte de la licence en français"
+[3]: https://git.milhit.ch/igor/biblatex-zotero "Projet git du document"
+
+[^0]: Voir le site .
+[^1]: Logiciel multiplatforme et libre, supporte BibTeX et Biber nativement.
+     
+[^2]: Logiciel multiplatforme et libre. 
+[^3]: Il est également possible d'exporter une bibliothèque au format
+    BibTeX depuis d'autres logiciels bibliographiques, notamment
+    EndNote. Pour cela, dans ce dernier, il faut aller dans les options
+    de styles *Tools / Output Styles / Open Style Manager* et cocher le
+    style *BibTeX Export*. Une fois cela fait, il faut cliquer sur *File
+    Export*, sélectionner le style *BibTeX Export* et sauvegarder le
+    fichier au format `.bib`.
+[^5]: Voir . L'intérêt de `tectonic`
+est qu'il s'occupe de télécharger à la volée des logiciels nécessaires en
+fonction de ce qui est indiqué dans le préambule, ce qui évite d'installer une
+distribution de LaTeX volumineuse. À l'exception de Biber qui doit être
+installé sur le système.
+[^6]: Voir le site  ou
+    le site .
+[^7]: Par exemple *LaTeX Workshop*.
+    .
+[^8]: 
+[^9]: 
+[^10]: Dans les versions précédentes de ce document, il était fait mention de
+     Texmaker, également libre et multiplatforme. Texmaker est un bon logiciel,
+     mais TeXstudio le reprend Texmaker et lui apporte un bon nombre
+     d'améliorations qui le rende plus confortable à l'usage.
+[^11]: Zettlr est un éditeur pour la prise de notes et la rédaction de
+documents académiques (thèses, articles scientifiques, livres) qui facilite
+l'usage de Markdown, l'intégration de Zotero et la génération des documents
+finaux (au format Word, HTML ou PDF). 
+[^12]: Quarto est un système de publication technique et scientifique. Il
+permet l'intégration de code (python, R, julia, etc.) au sein du texte pour
+combiner la partie rédigée et le traitement des données. Il permet de rédiger
+un article scientifique, une présentation (slides) ou un site web.
+
+
diff --git a/sources/static/better-bibtex-a-jour.png b/sources/static/better-bibtex-a-jour.png
deleted file mode 100644
index 4a118d3..0000000
Binary files a/sources/static/better-bibtex-a-jour.png and /dev/null differ
diff --git a/sources/static/by-sa.png b/sources/static/by-sa.png
deleted file mode 100644
index afd9108..0000000
Binary files a/sources/static/by-sa.png and /dev/null differ
diff --git a/sources/static/compil-rapide-assistant.png b/sources/static/compil-rapide-assistant.png
deleted file mode 100644
index 3b8f0c9..0000000
Binary files a/sources/static/compil-rapide-assistant.png and /dev/null differ
diff --git a/sources/static/compil-rapide-liste.png b/sources/static/compil-rapide-liste.png
deleted file mode 100644
index 442811a..0000000
Binary files a/sources/static/compil-rapide-liste.png and /dev/null differ
diff --git a/sources/static/install-add-on.png b/sources/static/install-add-on.png
deleted file mode 100644
index 2bad8a9..0000000
Binary files a/sources/static/install-add-on.png and /dev/null differ
diff --git a/sources/static/menu-outils.png b/sources/static/menu-outils.png
deleted file mode 100644
index 3cac20b..0000000
Binary files a/sources/static/menu-outils.png and /dev/null differ
diff --git a/sources/static/texmaker-biber.png b/sources/static/texmaker-biber.png
deleted file mode 100644
index 3acbcb8..0000000
Binary files a/sources/static/texmaker-biber.png and /dev/null differ
diff --git a/sources/static/zotero-logo.svg b/sources/static/zotero-logo.svg
deleted file mode 100644
index 889adf3..0000000
--- a/sources/static/zotero-logo.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-
-  
-    
-    
-    
-    
-    
-    
-  
-
diff --git a/sources/heg-iso-690.csl b/static/heg-iso-690.csl
similarity index 100%
rename from sources/heg-iso-690.csl
rename to static/heg-iso-690.csl
diff --git a/static/images/better-bibtex-a-jour.png b/static/images/better-bibtex-a-jour.png
new file mode 100644
index 0000000..f26137e
Binary files /dev/null and b/static/images/better-bibtex-a-jour.png differ
diff --git a/sources/static/bibliotheque-logo.svg b/static/images/bibliotheque-logo.svg
similarity index 100%
rename from sources/static/bibliotheque-logo.svg
rename to static/images/bibliotheque-logo.svg
diff --git a/sources/static/by-sa.svg b/static/images/by-sa.svg
similarity index 100%
rename from sources/static/by-sa.svg
rename to static/images/by-sa.svg
diff --git a/static/images/install-add-on.png b/static/images/install-add-on.png
new file mode 100644
index 0000000..9ebdb51
Binary files /dev/null and b/static/images/install-add-on.png differ
diff --git a/sources/static/latex-logo.svg b/static/images/latex-logo.svg
similarity index 100%
rename from sources/static/latex-logo.svg
rename to static/images/latex-logo.svg
diff --git a/static/images/menu-outils.png b/static/images/menu-outils.png
new file mode 100644
index 0000000..1e95c97
Binary files /dev/null and b/static/images/menu-outils.png differ
diff --git a/static/images/texstudio-production.png b/static/images/texstudio-production.png
new file mode 100644
index 0000000..29e0c61
Binary files /dev/null and b/static/images/texstudio-production.png differ
diff --git a/sources/static/zotero-logo.png b/static/images/zotero-logo.png
similarity index 100%
rename from sources/static/zotero-logo.png
rename to static/images/zotero-logo.png
diff --git a/sources/interface.css b/static/interface.css
similarity index 100%
rename from sources/interface.css
rename to static/interface.css
diff --git a/sources/paged.polyfill.js b/static/paged.polyfill.js
similarity index 100%
rename from sources/paged.polyfill.js
rename to static/paged.polyfill.js
diff --git a/sources/references.json b/static/references.json
similarity index 100%
rename from sources/references.json
rename to static/references.json
diff --git a/sources/reload-in-place.js b/static/reload-in-place.js
similarity index 100%
rename from sources/reload-in-place.js
rename to static/reload-in-place.js
diff --git a/sources/style.css b/static/style.css
similarity index 91%
rename from sources/style.css
rename to static/style.css
index b672f15..d9f2deb 100644
--- a/sources/style.css
+++ b/static/style.css
@@ -28,7 +28,7 @@
          * bibliothèque de l'UNIGE. */
         @top-right {
                 content: "";
-                background-image: url("static/bibliotheque-logo.svg");
+                background-image: url("images/bibliotheque-logo.svg");
                 background-position: right;
                 background-repeat: no-repeat;
                 background-size: 25%;
@@ -81,11 +81,11 @@
     .logo {
         display: inline-flex;
         justify-content: center;
-        /* width: 60%; */
+        width: 60%;
         margin: 2em auto 1em auto;
     }
     .logo img {
-        max-width: 50%;
+        max-height: 7rem;
         padding: .5em;
     }
 
@@ -178,6 +178,10 @@
         text-decoration: none;
         padding-left: 2px;
     }
+    .footnote-ref sup {
+        vertical-align: text-top;
+        font-size: smaller;
+    }
     .footnote-back {
         font-size: small;
         text-decoration: none;
@@ -196,6 +200,7 @@
     figure img {
         max-width: 85%;
         margin: 0 auto;
+        max-height: 35vh;
     }
     figcaption {
         text-align: center;
@@ -207,13 +212,28 @@
         content: "Figure " counter(figureNumber) " : ";
     }
 
-    .exercise {
+    .exercise,
+    .warning {
         background-color: #f2f1f1;
         width: 90%;
         margin: 0 auto;
         border: 2px solid #d80669;
         border-radius: .5em;
-        padding: 0 .5em;
+        padding: .5em;
+        display: flex;
+        align-items: center;
+    }
+
+    .exercice > p,
+    .warning > p {
+        margin: 0;
+        padding-left: .5em;
+    }
+
+    .exercice::before,
+    .warning::before {
+        content: "⚠️";
+        font-size: larger;
     }
 
     blockquote {
diff --git a/sources/template.html b/static/template.html
similarity index 90%
rename from sources/template.html
rename to static/template.html
index 46946b6..abf1ee5 100644
--- a/sources/template.html
+++ b/static/template.html
@@ -31,9 +31,9 @@ $endfor$
      when they are unnecessary. -->
 $if(noscript)$
 $else$
-  
-  
-  
+  
+  
+  
 $endif$
 $for(header-includes)$
   $header-includes$