IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lisp Discussion :

Suppression de lignes avec critère


Sujet :

Lisp

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Mars 2011
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Suppression de lignes avec critère
    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...)

    2-comment gérer:
    - le ou dans la recherche: chercher \section ou \propriete ou \theoreme
    - jusqu'à arriver à la fin du fichier

    Exemple:

    f1
    ------------------------------------------------------------
    \section{}

    bla bla bla bla
    bla bla bla bla bla

    \propriete{texte texte
    maths maths
    maths
    texte texte}

    bla bla bla bla
    bla bla

    \autreBalise{texte
    maths maths
    texte}
    ------------------------------------------------------------

    f2
    ------------------------------------------------------------
    \section{}

    \propriete{texte texte
    maths maths
    maths
    texte texte}

    ------------------------------------------------------------

    Merci d'avance.

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par crespo12 Voir le message
    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:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (re-search-forward (concat "^" "\\\\" "\\(" (mapconcat 'symbol-name '(section propriete theoreme) "\\|") "\\)"))
    - jusqu'à arriver à la fin du fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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.
    )

Discussions similaires

  1. Suppression de ligne sur critère
    Par XaXa2010 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/03/2010, 01h16
  2. [WD-2007] Modèle Word - Suppression de ligne avec puce si vide
    Par vincent DD dans le forum Word
    Réponses: 1
    Dernier message: 26/08/2009, 23h14
  3. Suppression des lignes avec condition
    Par tientinou dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/03/2009, 13h35
  4. suppression des lignes avec sed
    Par dngaya dans le forum Linux
    Réponses: 1
    Dernier message: 29/09/2008, 22h23
  5. Pb pour copier des lignes avec critères
    Par vally74 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/05/2008, 12h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo