Ještě jednou refoot

Milan Zamazal mz na pdm.pvt.net
Úterý Září 7 23:43:43 CEST 1999


>>>>> "MC" == Matej Cepl <CeplM na seznam.cz> píše:

    MC> Jenom teď nevím, jak to předělat v normální *.el soubor, který
    MC> by navíc celou operaci opakoval tak dlouho dokud hledání
    MC> nezkrachuje. Mohl bych poprosit o radu?

Proč to musí být *.el soubor?  Nahrazení \footnotetext a \footnotemark
lze provést uvedeným makrem, stačí je nechat zopakovat až do první chyby
pomocí `C-u 0 C-x e'.  A jak klávesové makro uložit pro příští použití
je popsáno v manuálu.

Pokud to chceš dělat v Elispu, je dobrou radou se jej naučit.
Složitější operace se v něm mohou dělat pohodlněji než makry.  Ta tvoje
by mohla vypadat např. zhruba takto:

  (defun my-fix ()
    (goto-char (point-min))
    (while (re-search-forward "\\\\footnotetext" nil t)
      (replace-match "")
      (kill-sexp nil)
      (re-search-forward "\\\\footnotemark")
      (replace-match "\\\\footnote")
      (yank)
      (goto-char (point-min))))

(Pro zjednodušení je zde použito `kill-sexp' a `yank', což je samozřejmě
jinak fuj.)

Milan Zamazal

-- 
"Having GNU Emacs is like having a dragon's cave of treasures."
                                                Robert J. Chassell



Další informace o konferenci Editors