2009/11/17

Du flan oui mais convi

De plus en plus dans mon boulot je dois faire du flan, du corpo flan même je dirai, le problème c'est qu'il faut pour cela utiliser OpenOffice... Et OpenOffice bah c'est très très lourd, c'est bloat, et quand je rédige, je ne vois pas pourquoi j'utiliserai autre chose que mon convi vim.

Heureusement pandoc existe, il s'agit d'un convertisseur de document qui gère entre autre en entrée le format markdown et gère entre autre en sortie le format odt.

Je tente le coup, je rédige un début de document en markdown avec mon plus beau vim et je le converti en odt.

$ pandoc -f markdown -t conviflan.txt -o corpoflan.odt

Le résultat est presque parfait, mon document OpenOffice respecte différente hiérarchie de style. Presque parfait parce qu'il faut que j'y applique le style de la boite à ce document, quand même. Pour cela rien de plus simple.

On extrait le style d'un document corpoflan déjà existant :

$ unzip corpoflan-modele.odt styles.xml

Puis on l'insère dans le document générer :

$ zip corpoflan.odt styles.xml

Et voilà un beau document rédigé en toute légèreté qui respecte la mise en forme corpo.

Voici une autre petite astuce que j'ai trouvé pour rédiger des diagrammes simplement :

J'utilise pgf/tikz parce que ça fait très simplement de très belles choses corpo ready via LateX. Je fait donc mon diagramme en LateX et le transforme en pdf avec pdflatex, enfin, pour pouvoir le réutiliser sous la forme de png dans les documents corpoflan, imagemagick est mon sauveur :

$ convert -density 200x200 -quality 90 -trim diagramme.pdf diagramme.png

Elle n'est pas belle la vie ?

UPDATE

Si dans votre modèle de document d'origine il y a des images, pour les récupérer il faudra déterminer où elle se trouve de corpoflan-modele.odt, pour xmlstarlet peut vous aider :

$ xml sel -N draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"  -N xlink="http://www.w3.org/1999/xlink" -t -v "//draw:image/@xlink:href" styles.xml
Pictures/100000000000004200000032A4B86058.png

d'où

$ unzip Pictures/100000000000004200000032A4B86058.png corpoflan-modele.odt
$ zip corpoflan.odt Pictures/100000000000004200000032A4B86058.png

(Il faut noter là que xml c'est le nom du binaire de xmlstarlet sous FreeBSD sous linux c'est généralement xmlstarlet le nom du binaire.

Exemple en image :

vim

pandoc-nosytle

pandoc-nosytle

FRLinux wrote on 2009/11/24 :

super ton blog, je t'ajoutes a ma liste :) corpo flan en vim, j'en rie encore, bien joué !


sidh wrote on 2009/11/25 :

Merci !!!!!!! Impec'
Bapt, tu veux m'épouser ?


tth wrote on 2009/12/15 :

J'ai pas encore essayé, mais suite à je ne sais quel phénomène occulte, je viens d'être condamné à faire du corpoflan à haute dose...

Et pour moi, ce qui ne peut être écrit avec Vim ne mérite pas d'être écrit.


Name :
URL (optional) :
Write here: "ETOOMUCHSPAM"
Comments :