Tout est dans le titre : un éditeur me demande mon texte sans formatage. Juste du texte brut.

Je n'ai jamais fait ça : comment extraire d'un fichier .tex le texte brut, sans aucun formatage ?

Posée 13 Fév '19, 18:41

Pathe's gravatar image

Pathe ♦♦
7.4k28196245
Taux d'acceptation : 55%


En fait, c'est assez simple. Une commande detex existe sous linux (je pense qu'elle est fournie par TeX Live).

Elle est très facile à utiliser :

Ouvrir dans l'éditeur Overleaf
detex mis-en-page.tex > sans-rien.txt

C'est assez efficace : le résultat répond à la demande.

Pour mieux faire, j'ai enlevé ensuite, avec emacs, les retours-chariot de fin de ligne, histoire d'obtenir vraiment du texte au long.

Lien permanent

Publiée 13 Fév '19, 18:41

Pathe's gravatar image

Pathe ♦♦
7.4k28196245
Taux d'acceptation : 55%

Modifiée 13 Fév '19, 18:42

Et comment avez-vous fait exactement ?

(14 Fév '19, 02:16) Jean-Michel Jean-Michel's gravatar image
1

les retours-chariot sont accessibles via la combinaison de touches C-q C-j.

Mais texnique n'est pas un forum emacs ! Sur ce, un forum francophone consacré à cet éditeur de texte serait très utile.

(14 Fév '19, 02:26) Pathe ♦♦ Pathe's gravatar image

Cette commande est également installée par MacTeX (which detex renvoie /Library/TeX/texbin/detex et je ne l'ai pas installé par un outil tiers, c'est donc fourni par MacTeX, et donc TeX live effectivement aussi). Vous pouvez donc rajouter cette précision dans votre réponse.

(17 Fév '19, 07:23) quark67 quark67's gravatar image
2

Pour éviter les troll Vim vs Emacs, il y a sed.

Pour préserver les doubles lignes blanches, les remplacer d'abord par un caractère discriminant.

1: remplacer tous les doubles retours par «stop» sed ':a;N;$!ba;s/nn/stop/g' fichier.txt 2: remplacer tous les retours par un espace: sed ':a;N;$!ba;s/n/ /g' 3: remplacer tous les «stop» par un retour à la ligne: sed ':a;N;$!ba;s/stop/n/g'

Enchaîner ces commandes par des tubes: «|» et rediriger vers un nouveau_fichier.txt

À mettre en script ou en fonction du shell, pour traiter plusieurs fichiers à la foi

(19 Fév '19, 22:55) joseph-tux joseph-tux's gravatar image
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.