J'utilise LaTeX depuis de nombreuses années, s'il est parfait pour produire des documents contenant beaucoup de formules mathématiques, figures et autres références croisées, il est très mal adapté à la prise de notes . Or face à un temps de travail de plus en plus haché entre différentes tâches, on a souvent besoin de rédiger rapidement des notes/comptes rendus en agrégeant des images, liens, formules, copies de consoles etc ... C'est dans ce domaine qu'un langage de balisage comme Markdown se révèle être particulièrement efficace, d'autant plus que couplé avec pandoc on peut ensuite convertir nos notes dans à peu près tous les formats. Voici un petit tour d'horizon des outils qui m'ont permis de démarrer facilement en Markdown .
quelques éditeurs markdown |
Markdown
Pour commencer rappelons que Markdown est un langage de balisage très léger qui permet donc de faire de la prise de notes facilement dans un fichier texte (d'extension *.md) structuré à l'aide de symboles usuel :
- # pour les parties, * pour les listes,
- [texte](adresse) pour les liens et ![texte](adresse) pour les images
- voir un fichier avec quelques exemples test.md
- visualiser le résultat de la saisie sous forme d'un rendu
- supporter l'interprétation des balises html (si on veut ajouter des éléments de formatage inexistant en Markdown)
- interpréter correctement les formules mathématiques (pour peu qu'on dispose de Mathjax)
- exporter le résultat vers d'autres format html/pdf/latex/ods ...
Retext
Retext c'est l'éditeur avec lequel j'ai commencé car il est disponible par défaut dans les dépôts ubuntu. on l'installe avec un simple sudo apt-get install retext , vous pourrez ensuite l'appeler depuis un terminal avec la commande retext ou l'associer aux fichiers *.md. Ses caractéristiques et défauts :
- Il permet d'ouvrir plusieurs fichiers dans des onglets différents
- il dispose d'un correcteur orthographique mais pas d'une coloration syntaxique du Markdown
- Il dispose de 2 rendus pour afficher la page en parallèle du code qu'on saisi, mais le code et le rendu ne sont pas synchronisés!
- un seul des rendus, webkit, affiche correctement les formules mathématiques et seulement si on utilise le balisage $\backslash(...\backslash)$ ou $\backslash[...\backslash]$ (avec $ \$\$...\$\$ $ ou $ \$ ...\$ $ ça ne marche pas)
- l'interface permet d'exporter vers pdf/html/ods mais le traitement des équations entre $\backslash(...\backslash)$ ou $\backslash[...\backslash]$ n'est pas correct !
Utext
il s'agit d'un autre éditeur Markdown sous linux, mais qui n'est pas disponible dans les dépôts officiels. Il faut l'installer à partir du dépôt du développeur de l'application Utext
sudo add-apt-repository ppa:atareao/utext sudo apt-get update sudo apt-get install utext
- Contrairement à Retext Utext possède beaucoup de rendus disponibles et qui sont assez esthétiques !
- les fenêtres de code et de rendu sont synchronisées ce qui est pratique pour visualiser une modification
- on a un correcteur orthographique et une coloration syntaxique
- par contre l'export en html/pdf/ods n'est pas en mesure de tenir compte des rendus choisis ...
- il y a en plus un problème dans l'affichage des images locales impossible d'utiliser des chemins relatifs ou même absolu du type file:/// les images ne sont pas affichées (mais à l'exportation tout va bien!)
marp
Marp est un éditeur Markown spécialement conçu pour réaliser des slides. L'application est multi-plateforme : on peut l'utiliser sous Linux/Mac/Window en téléchargeant les sources. Pour linux il faut décompresser l'archive dans un répertoire (MARP ci-dessous) et lancer la commande Marp dans le répertoire de décompression. Si vous voulez faire les choses proprement, déplacez ensuite ce répertoire vers /share/ et mettez un lien symbolique dans /bin/ pointant vers l'application Marp avec le nom de la commande que vous souhaitez pour démarrer :
## file 0.0.11-Marp-linux-x64.tar.gz in MARP/ directory cd MARP gunzip 0.0.11-Marp-linux-x64.tar.gz tar -xvf 0.0.11-Marp-linux-x64.tar
cd ..
sudo mv -R MARP/ /share/ cd /bin/
sudo ln -s /share/MARP/Marp marp # command "marp"
- marp permet de créer une présentation au format diapositives bien plus rapidement que Beamer sans la lourdeur d'une interface graphique complexe comme LibreOffice Impress
- l'interface affiche un rendu en parallèle du code Markdown les deux fenêtres étant synchronisées
- il y a 2 rendus, qui possèdent 2 variantes (foncé/clair ou clair/foncé), qui sont sélectionnés par une directive en début de fichier (le thème gaïa me va très bien)
- on peut indiquer une image de fond dans la balise markdown avec "bg" ![bg](image)
- les formules de maths sont correctement traitées avec $ \$\$...\$\$ $ ou $ \$ ...\$ $
- on exporte facilement les diapositives au format pdf, mais on est limité à des diapositives statiques
pandoc
Le principal défaut que j'ai rencontré avec les éditeurs précédents c'est l'exportation du Markdown vers d'autres formats. Suivant les cas cette exportation :
- ne traite pas correctement toutes les balises (maths en particulier)
- ne propose pas beaucoup de formats d'export (pdf/html/ods)
- est très lente (fenêtre de l'éditeur qui freeze ...)
pour palier à ces problèmes on peut utiliser pandoc qui est un convertisseur capable de prendre en entré un fichier Markdown et de le transformer en vraiment beaucoup de format (html/ods/pdf mais aussi latex et avec des options ...). C'est en général lui qui est appelé pour faire la conversion dans les éditeurs décrit ci-dessus, mais on ne maîtrise vraiment la séquence d'appels générée. La syntaxe de pandoc est la suivante :
pandoc -f format_entree -t format_sortie -o output input
Le format d'entrée sera markdown et celui de sortie quelque-chose comme html,latex ... Cependant pour obtenir du pdf il y a une petite subtilité : le format de sortie doit être "latex" et l'extension du fichier output doit être pdf :
pandoc -f markdown -t latex -o fichier.pdf fichier.md
Pour le cas des balises \(...\) comme elles ont d'autres utilisations pour les non-mathématiciens elle ne sont pas traitées comme telles par pandoc qui ne traite bien que les balises $ \$ ...\$ $ et $ \$\$...\$\$ $ ! Il est donc possible de contourner ce problème en conservant les balises $\backslash(...\backslash)$ ou $\backslash[...\backslash]$ dans les fichiers *.md mais en les remplaçant par $ \$ ...\$ $et $ \$\$...\$\$ $ avant d'utiliser pandoc ! Pour cela j'ai développé une commande toute simple à base de sed :
fic=$1 newfic=${fic%md}'pdf' cp $1 tmp.md sed -ie 's/\\([ ]*/$/g' tmp.md sed -ie 's/\\)/$/g' tmp.md sed -ie 's/\\\[/$$/g' tmp.md sed -ie 's/\\]/$$/g' tmp.md pandoc -f markdown -t latex -o tmp.pdf tmp.md mv tmp.pdf $newfic rm tmp*
un simple mypandoc.sh fichier.md créera une sortie fichier.pdf ! Pour le faire vous aussi sauvez le code précédent dans un fichier texte mypandoc.sh, que vous placer dans votre répertoire ~/bin/ et auquel vous donnez les droits d'exécution chmod u+x mypandoc.sh
Aucun commentaire:
Enregistrer un commentaire
Pour écrire des formules mathématiques vous pouvez utiliser la syntaxe latex en mettant vos formules entre des "dollars" $ \$....\$ $ par exemple :
- $\sum_{n=1}^\infty {1\over n^2}={\pi^2\over 6}$ s'obtient avec \sum_{n=1}^\infty {1\over n^2}={\pi^2\over 6}
- $\mathbb R$ s'obtient avec {\mathbb R} et $\mathcal D$ s'obtient avec {\mathcal D}
- pour les crochets $\langle .,. \rangle$ dans les commentaires utilisez \langle .,. \rangle
vous pouvez écrire du html dans les commentaires :
- italique <i> ... </i> gras <b> ... </b>
- lien <a href="http://adresse "> .... </a>