Envoyé par
crespo12
Bonjour,
j'utilise emacs+latex, je voudrais transformer des cours en formulaires.
Il faut transformer un fichier f1 en f2 en supprimant certaines lignes:
celles qui ne sont pas dans certains blocs de balises (\section{}, \propriete{}, \theoreme{} ,...). Les débuts de balises sont toujours en début de ligne.
Je pensais utiliser:
- isearch-forward pour trouver une balise de bloc à conserver
- forward-sexp pour me déplacer à la fin de la balise
Questions:
1-est-ce qu'il vaut mieux enregistrer une macro (je sais le faire) ou écrire une fonction lisp (je ne maîtrise pas...)
Tu peux commencer par écrire une macro, puis appeler une des fonctions comme edit-kbd-macro qui te montre le code correspondant et t'en inspirer pour écrire le code.
2-comment gérer:
- le ou dans la recherche: chercher \section ou \propriete ou \theoreme
avec une regexp:
(re-search-forward (concat "^" "\\\\" "\\(" (mapconcat 'symbol-name '(section propriete theoreme) "\\|") "\\)"))
- jusqu'à arriver à la fin du fichier
1 2 3 4 5
| (while (re-search-forward (concat "^\\\\" "\\(" (mapconcat 'symbol-name '(section propriete theoreme) "\\|") "\\)") (not 'bound) 'noerror)
(forward-sexp)
(setq beg-of-stuff (point))
etc.
) |
Partager