Aller au contenu

Passer de markdown à LaTeX avec Automator ?


Francois_D

Messages recommandés

Alors voilà, pour saisir des textes "au kilomètre", j'utilise des éditeurs markdown (iA Writer ou Ulysses 3).


Ce que je voudrais faire c'est transformer les fichiers générés de markdown en LaTeX. Pour ce faire, il existe un outil très pratique, Pandoc.


Pandoc permet de transformer entre eux pas mal de formats (HTML, markdown, LaTeX, docx, odt, ePub, etc.)


Le souci : Pandoc fonctionne en lignes de commandes et n'a pas de GUI. Je me dis que je dois pouvoir faire quelque chose avec Automator, créer un service serait idéal. Sinon une appli que je colle dans un coin et sur laquelle je fais un glisser-déposer.


Mon problème : j'ai bien l'algorithme du script mais je ne connais pas la syntaxe de la ligne de commandes !


Voici l'algo…


- Je mets le texte à transformer dans le presse-papier (pomme-c)

- Je vais dans le menu "Services" de l'appli et je sélectionne le service (appelons-le "Pandoc")


Le service doit lancer un script qui doit :


- Afficher la fenetre qui permet de sauvegarder un fichier où on veut => ça me permet de donner le nom du fichier à obtenir et de décider où je veux le sauvegarder ;

- lire le contenu du clipboard ;

- Si la lecture directe du clipboard n'est pas possible, on crée un fichier temporaire (extension .md) à l'endroit sélectionné

- lancer la commande pandoc -o fichier_source.md fichier_destination. tex (qui permet de créer un fichier). Pandoc va détecter vers quel format transformer le texte, sur la base de l'extension de fichier.

- effacer le fichier temporaire.

- et voilà, "That's all, folks !"


Si quelqu'un connait la syntaxe shell (bash ou autre) qui me permettrait de faire ça, ça m'aiderait bien !


Francois
Lien vers le commentaire
Partager sur d’autres sites

pandoc marche assez simplement :

un coup de man peut tout te dire mais en court c'est

pandoc -f [typedufichieraconvertir] -t [typedufichierensortie] -o [nomdufichierensortie] [nomdufichierenentree]

le -f étant FROM, -t TO, -o OUTPUT.

donc dans ton cas

pandoc -f markdown -t latex -o monfichier.latex monfichier.md

je n'arrive pas à intégrer cela à automator pour qu'il lance le script en te demandant en GUI le fichier en entrée et le nom de celui en sortie mais j'ai fait déjà un script bash.

#!/bin/bash

read -p "Fichier MD à transformer: " input 
read -p "Nom du fichier à créer: " output

pandoc -f markdown -t latex -o $output $input

Il ne reste plus qu'à comprendre comment Automator gère les variables dans les scripts bash, et mettre ça comme service pour le Finder. Mais pour le moment c'est un peu plus rapide que de tout taper à la main et tu peux glisser déposer dans le terminal le fichier à changer.

C'est un début hein ^^

Lien vers le commentaire
Partager sur d’autres sites

Merci @Casey pour le coup de main.

Voici le code que j'insère dans Automator. ça semble le faire ;-)

PATH=$HOME/.cabal/bin:/usr/local/bin:/usr/texbin:$PATHfor file in "$@"do	output=${file%%.*}.tex	pandoc "$ file" -f markdown -t latex -s -o "$output"doneecho "$output"

Reste plus qu'à fignoler !

F

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...