From af304ad01aabfd1c62f0cc5f3c6189c3bc2fa84f Mon Sep 17 00:00:00 2001 From: Sébastien Dailly Date: Sun, 28 Apr 2013 11:43:05 +0200 Subject: New article on rst2odt usage --- content/Informatique/apache.rst | 0 content/Informatique/awesome.rst | 0 content/Informatique/backup.rst | 0 content/Informatique/chiffrage.rst | 0 content/Informatique/chroot.rst | 0 content/Informatique/elinks.rst | 0 content/Informatique/fail2ban.rst | 0 content/Informatique/fonctionnel.rst | 0 content/Informatique/guiderstodt.rst | 162 +++++++++++++++++++++++++++++++++++ content/Informatique/invisible.rst | 0 content/Informatique/navit.rst | 0 content/Informatique/rst.rst | 0 content/Informatique/rstodt.rst | 0 content/Informatique/sftp.rst | 0 content/Informatique/vala.rst | 0 content/Informatique/wiimote.rst | 0 content/Informatique/wiimote1.rst | 0 content/images/rstodt/writing.jpg | Bin 0 -> 14478 bytes content/resources/rstodt/rst.zip | Bin 0 -> 1899 bytes 19 files changed, 162 insertions(+) mode change 100755 => 100644 content/Informatique/apache.rst mode change 100755 => 100644 content/Informatique/awesome.rst mode change 100755 => 100644 content/Informatique/backup.rst mode change 100755 => 100644 content/Informatique/chiffrage.rst mode change 100755 => 100644 content/Informatique/chroot.rst mode change 100755 => 100644 content/Informatique/elinks.rst mode change 100755 => 100644 content/Informatique/fail2ban.rst mode change 100755 => 100644 content/Informatique/fonctionnel.rst create mode 100644 content/Informatique/guiderstodt.rst mode change 100755 => 100644 content/Informatique/invisible.rst mode change 100755 => 100644 content/Informatique/navit.rst mode change 100755 => 100644 content/Informatique/rst.rst mode change 100755 => 100644 content/Informatique/rstodt.rst mode change 100755 => 100644 content/Informatique/sftp.rst mode change 100755 => 100644 content/Informatique/vala.rst mode change 100755 => 100644 content/Informatique/wiimote.rst mode change 100755 => 100644 content/Informatique/wiimote1.rst create mode 100644 content/images/rstodt/writing.jpg create mode 100644 content/resources/rstodt/rst.zip (limited to 'content') diff --git a/content/Informatique/apache.rst b/content/Informatique/apache.rst old mode 100755 new mode 100644 diff --git a/content/Informatique/awesome.rst b/content/Informatique/awesome.rst old mode 100755 new mode 100644 diff --git a/content/Informatique/backup.rst b/content/Informatique/backup.rst old mode 100755 new mode 100644 diff --git a/content/Informatique/chiffrage.rst b/content/Informatique/chiffrage.rst old mode 100755 new mode 100644 diff --git a/content/Informatique/chroot.rst b/content/Informatique/chroot.rst old mode 100755 new mode 100644 diff --git a/content/Informatique/elinks.rst b/content/Informatique/elinks.rst old mode 100755 new mode 100644 diff --git a/content/Informatique/fail2ban.rst b/content/Informatique/fail2ban.rst old mode 100755 new mode 100644 diff --git a/content/Informatique/fonctionnel.rst b/content/Informatique/fonctionnel.rst old mode 100755 new mode 100644 diff --git a/content/Informatique/guiderstodt.rst b/content/Informatique/guiderstodt.rst new file mode 100644 index 0000000..fc14a0a --- /dev/null +++ b/content/Informatique/guiderstodt.rst @@ -0,0 +1,162 @@ +.. -*- mode: rst -*- +.. -*- coding: utf-8 -*- + +Guide d'utilisation de rst2odt +============================== + +:date: 2013-05-07 +:tags: Libre, reStructuredText +:summary: |summary| + +.. figure:: |filename|/images/rstodt/writing.jpg + :figwidth: 150 + :figclass: floatright + :alt: Bureau + + Image : `AJ Cann`_ (creativecommons_) + +.. _creativecommons: http://creativecommons.org/licenses/by-nc-sa/2.0/deed.fr + + +|summary| + + +.. |summary| replace:: + J'ai déjà souvent abordé le langage reStructuredText_ dans mes articles, et + je l'utilise fréquement, que ce soit pour écrire sur ce blog ou publier + d'autres contenus. On présente souvent rst2pdf_ pour la publication, mais + il est également possible de générer une sortie vers libreoffice, + permettant de créer rapidement des documents avec une mise en page + maîtrisée. + +.. _reStructuredText: http://docutils.sourceforge.net/docs/ref/rst/introduction.html +.. _rst2pdf: http://rst2pdf.ralsina.com.ar/ + +Premiers pas +------------ + +On commence par installer les outils nécessaires : + +.. code-block:: console + + $ sudo aptitude install rst2odt + +et on lance la génération de la manière suivante : + +.. code-block:: console + + $ rst2odt document.rst document.odt + +On peut tout de suite consulter le fichier généré pour voir le résultat. Le +rendu est moins aguicheur que celui généré avec rst2pdf, mais il est possible +de changer ça. + +Environnement +------------- + +Plutôt que de lancer la commande à chaque fois, il est préférable de se créer +un environnement qui va nous servir chaque fois que nous aurons besoin de +publier un nouveau document. + +On va se créer un Makefile pour automatiser la génération du document : + +.. code-block:: makefile + + resources/template.odt: resources/template.rst + rst2odt resources/template.rst resources/template.odt + + %.odt: %.rst resources/template.odt + rst2odt --create-links --strip-comments --stylesheet=resources/template.odt --add-syntax-highlight $< $@ + cp $@ resources/templates.odt + +Ainsi, il suffira de lancer la commande `make document.odt` pour générer la +sortie à partir du fichier `document.rst` (`document` est bien sûr à adapter en +fonction du nom du fichier sur lequel vous travaillez). + +J'ai créé une archive_ qu'il vous suffit de décompresser pour pouvoir +commencer à travailler ; elle comprend le fichier `makeFile` présenté ci-dessus, +ainsi qu'un template contenant des éléments de base. + +.. _archive: |filename|/resources/rstodt/rst.zip + +Utiliser les templates +---------------------- + +L'avantage d'utiliser un format balisé est que vous n'avez pas vous soucier du +formattage. Le document généré est prêt à être mis en page, vous n'avez plus +qu'à travailler sur le modèle. + +La commande `make` a mis à jour le fichier modèle à partir de votre document de +travail. Vous pouvez donc maintenant modifier les styles à travers libreoffice, +ils seront automatiquement intégrés dans vos prochaines étapes de génération. + +rst2odt applique ses propres styles au document, ceux-ci héritant des styles +par défaut d'OpenOffice, vous pouvez donc utiliser vos template habituels pour +la mise en forme de votre document. La liste est présentée sur la +documentation_ de l'application. + +En séparant le contenu de l'application, on peut ainsi facilement réutiliser un +style d'un document à un autre, on se décharge de la mise en page pendant tout +le temps de la rédaction. + +.. _documentation: http://docutils.sourceforge.net/docs/user/odt.html + +Aller plus loin +--------------- + +Le langage reStructuredText utilise des directives_ pour mettre en forme le +texte. Toutes les applications ne les gèrent pas correctement, et certains +outils ont décidé de rajouter leurs propres directives ; bref c'est un peu le +bordel. + +La plupart des directives sont correctement prises en compte : + +* les tableaux +* les images +* les notes de bas de page (À l'exception près qu'il est impossible de référencer une note de bas de page dans une autre note.) +* la table des matières +* les rôles + +Cela devrait répondre à 90 % des usages courants. J'ai déjà présenté un +correctif pour `ajouter la coloration syntaxique`_ dans notre document, et +ainsi utiliser les mêmes directives que rst2pdf_ pour insérer du +code, voici la liste de quelques directives propres à rst2odt : + +:meta_: Permet de renseigner les méta-données dans le document. + +Et d'autres qui sont plus ou moins bien suportées : + +:container_: Permet d'appliquer un style particulier sur un bloc de texte. + +:raw_: Pour insérer du code xml au format openDocument. + + +Au final +-------- + +C'est bien pratique de pouvoir écrire son document dans un bloc note, sur une +machine plutôt poussive, et malgré ça bénéficier de la force de mise en page de +LibreOffice. On s'affranchit de la plate-forme sur laquelle on travaille (on +peut éditer son fichier sous gedit sur linux, puis sur le bloc-note de +windows, et le reprendre dans un terminal via vim), et lancer la transformation +une fois le texte écrit + +Vient alors la phase de mise en page, mais on est alors aidé par l'outil de +traitement de texte pour ça, et surtout, par le fait que le document généré +inclu des styles sur sa totalité, c'est donc tout de suite beaucoup plus +facile, et se fait très rapidement. + +Pour ma part, c'est une solution que j'utilise et recommande, et qui au final +donne de meilleurs résultats que rst2pdf. + + +.. _directives: http://docutils.sourceforge.net/docs/ref/rst/directives.html + +.. _meta: http://docutils.sourceforge.net/docs/user/odt.html#the-meta-directive +.. _table : http://docutils.sourceforge.net/docs/user/odt.html#the-table-directive +.. _container: http://docutils.sourceforge.net/docs/user/odt.html#the-container-directive +.. _raw: http://docutils.sourceforge.net/docs/user/odt.html#the-raw-directive + +.. _ajouter la coloration syntaxique: |filename|rstodt.rst + +.. _AJ Cann: http://www.flickr.com/photos/ajc1/3531532114/in/photostream/ diff --git a/content/Informatique/invisible.rst b/content/Informatique/invisible.rst old mode 100755 new mode 100644 diff --git a/content/Informatique/navit.rst b/content/Informatique/navit.rst old mode 100755 new mode 100644 diff --git a/content/Informatique/rst.rst b/content/Informatique/rst.rst old mode 100755 new mode 100644 diff --git a/content/Informatique/rstodt.rst b/content/Informatique/rstodt.rst old mode 100755 new mode 100644 diff --git a/content/Informatique/sftp.rst b/content/Informatique/sftp.rst old mode 100755 new mode 100644 diff --git a/content/Informatique/vala.rst b/content/Informatique/vala.rst old mode 100755 new mode 100644 diff --git a/content/Informatique/wiimote.rst b/content/Informatique/wiimote.rst old mode 100755 new mode 100644 diff --git a/content/Informatique/wiimote1.rst b/content/Informatique/wiimote1.rst old mode 100755 new mode 100644 diff --git a/content/images/rstodt/writing.jpg b/content/images/rstodt/writing.jpg new file mode 100644 index 0000000..ef39620 Binary files /dev/null and b/content/images/rstodt/writing.jpg differ diff --git a/content/resources/rstodt/rst.zip b/content/resources/rstodt/rst.zip new file mode 100644 index 0000000..ff8206a Binary files /dev/null and b/content/resources/rstodt/rst.zip differ -- cgit v1.2.3