====== Markdown et Pandoc ====== ===== Documentation ====== Les sources principales de documentation : * [[http://daringfireball.net/projects/markdown/|Le projet Markdown]] sur [[http://daringfireball.net|Daring Fireball]] * [[http://commonmark.org/|CommonMark]] ([[https://github.com/jgm/CommonMark|GitHub]]) * [[http://johnmacfarlane.net/pandoc/|Pandoc : a universal document converter]] ([[https://github.com/jgm/pandoc|GitHub]]) * [[http://enacit1.epfl.ch/markdown-pandoc/|Élaboration et conversion de documents avec Markdown et Pandoc]] ===== But et intérêt ===== ===== Installation ===== ===== Utilisation avec vim ===== On peut utiliser le plugin [[https://github.com/plasticboy/vim-markdown|vim-markdown]] (attention notamment à insérer ''let g:vim_markdown_folding_disabled=1'' dans le ''.vimrc'' pour éviter le repli). Personnellement, je ne suis pas tout à fait satisfait de ce plugin, c'est peut-être aussi que je ne sais pas l'utiliser correctement, mais j'ai des auto-indentations étranges, qui n'impactent pas le rendu, mais me dérangent au niveau de la lecture de la source en ''.md''. Avec les versions plus récentes du plugin, ce problème a disparu. Ce qui fonctionne bien, c'est de faire en sorte que vim reconnaisse bien le //filetype// : '':set filetype=markdown'' ou carrément l'ajouter dans le ''.vimrc'' : au BufRead,BufNewFile *.md set filetype=markdown ===== Commandes ===== ==== PDF ==== Pour générer des PDF, il faut que LaTeX soit bien installé, avec les //packages// nécessaires, bien entendu. La commande simple, à partir d'un fichier markdown : pandoc -o output.pdf input.md Par défaut, cette commande produit un document en format US/letter, en anglais. Il est bien entendu possible de configurer la sortie en A4, en français (pour autant que tous les //packages// soient installés, bien entendu //again//) : pandoc --variable=papersize:a4paper --variable=lang:french -o output.pdf input.md Comme on a bien structuré notre document, il est possible de créer une //table of content// : ''--toc''. Pour numéroter les chapitres avec un ''.odt'', il suffit d'utiliser un //template// dont la numérotation des chapitres est configurée... Pour le faire dans un PDF, il faut utiliser l'argument ''-N''. ''-S'' améliore la qualité de la typographie, mais je n'ai pas trouvé comment obtenir des guillemets français. Il est également possible de choisir le moteur LaTeX : ''--latex-engine=xelatex'', par exemple. Ce qui peut nous donner la commande suivante : pandoc -S -N --toc --latex-engine=xelatex --variable=lang:french --variable=papersize:a4paper -o output.pdf input.md ==== Microsoft Office, Word ==== Il n'y a pas de //template// pour Word. Par défaut, ce doit être le //template// pour LibreOffice (''.opendocument''). Mais il bien entendu possible d'utiliser un modèle : pandoc -t docx --reference-docx [file.docx|file.dotx] -o outputfile.docx inputfile.md ===== Citations ===== La documentation officielle sur le sujet est à l'URL suivante : http://pandoc.org/README.html#citations ==== Les sources des références ==== Pour les citations, il faut disposer d'un fichier ''.bib''. Il est possible de le faire avec d'autres types de formats, comme par exemple du CSL JSON. Ce fichiers ''.bib'' ou ''.json'' peut être obtenu via [[https://www.zotero.org|Zotero]] : menu des Actions / Exporter la bibliothèque... On peut signaler le plugin [[https://github.com/retorquere/zotero-better-bibtex|Zotero Better Bib(La)TeX]] qui permet d'automatiser l'export, après les modifications de sa bibliothèque. Ci-dessous un extrait de fichier ''.bib'' : @article{gilmour_reference_2011, title = {Reference management software : a comparative analysis of four products}, issn = {10921206}, shorttitle = {Reference Management Software}, url = {http://www.istl.org/11-summer/refereed2.html}, number = {66}, urldate = {2013-02-14}, journal = {Issues in Science \& Technology Librarianship}, author = {Gilmour, Ron and Cobus-Kuo, Laura}, year = {2011}, pages = {63--75} } @book{jorion_prix_2010, address = {Bellecombe-en-Bauges}, series = {Collection Dynamiques socio-économiques}, title = {Le prix}, isbn = {9782914968768}, publisher = {Ed. du Croquant}, author = {Jorion, Paul}, year = {2010}, keywords = {* anthropologie économique, * économie politique, prix - formation} } Pour y faire référence, il faut indiquer dans les métadonnées !!yaml!! : bibliography: /path/to/file.bib J'ai mis ce fichier dans mon ''/home'' pour toujours pouvoir y faire référence facilement. ==== Style de citation ==== Par défaut c'est le style //Chicago//. Si l'on veut utiliser un autre style, il faut l'indiquer dans les métadonnées !!yaml!! : csl: /path/to/file.csl Zotero met à jour les style de manière automatique. J'ai donc créé, dans mon ''/home'' un lien symbolique vers le fichier ''.csl'' qui m'intéresse (situé dans mon profil firefox, puis ''zotero/styles/...''). ==== Liens entre la citation et la référence ==== À noter qu'il est possible de faire en sorte que l'année de la citation puisse être cliquée pour renvoyer à la référence. Pour cela, il faut activer l'option dans les métadonnées !!yaml!! : link-citations: true ==== Insertion de citations ==== Il suffit d'insérer dans le texte la clé de la référence (telle qu'elle est indiquée dans le ''file.bib''), sous la forme ''@clé'' (par exemple ''@jorion_prix_2010''). En fin de document, la bibliographie est ajoutée après le dernier titre sans contenu. Attention : ''@jorion_prix_2010'' et ''[@jorion_prix_2010]'' auront un effet différent. La première solution considère que c'est une citation en ligne : > Jorion (2010) dit que La deuxième solution permet d'ajouter une parenthèse du type : > (Jorion 2010).