utiliser "align"
Le
Stéphane Dutailly

Bonjour à tous,
J'essaie d'écrire une petite fonction afin d'utiliser la commande align
lorsque je fais un tableau en LateX. Voici ce que j'ai écrit:
;; Alignement dans un tableau
(defun alignement-tableau ()
(save-excursion
(LaTeX-mark-environment)
(align)))
Lorsque j'utilise cette fonction, le mini-buffer m'affiche:
wrong type argument: commandp, alignement-tableau
J'ai regardé du côté de la fonction align; je sais donc qu'elle prend
deux arguments (le début et la fin de la région à aligner) mais je ne
sais pas comment récupérer le début et la fin de l'environnement
sélectionné (j'ai essayé de mettre (align nil nil) mais ça ne va pas).
Quelqu'un aurait-il une solution?
Merci d'avance.
Stéphane
PS: à la main, dans un document .tex avec AucTex, je fais lorsque je
suis dans mon tableau:
C-c .
M-x align
qui aligne bien sur les &, mais qui a le défaut de ne pas remettre le
curseur à l'endroit où je me trouvais
J'essaie d'écrire une petite fonction afin d'utiliser la commande align
lorsque je fais un tableau en LateX. Voici ce que j'ai écrit:
;; Alignement dans un tableau
(defun alignement-tableau ()
(save-excursion
(LaTeX-mark-environment)
(align)))
Lorsque j'utilise cette fonction, le mini-buffer m'affiche:
wrong type argument: commandp, alignement-tableau
J'ai regardé du côté de la fonction align; je sais donc qu'elle prend
deux arguments (le début et la fin de la région à aligner) mais je ne
sais pas comment récupérer le début et la fin de l'environnement
sélectionné (j'ai essayé de mettre (align nil nil) mais ça ne va pas).
Quelqu'un aurait-il une solution?
Merci d'avance.
Stéphane
PS: à la main, dans un document .tex avec AucTex, je fais lorsque je
suis dans mon tableau:
C-c .
M-x align
qui aligne bien sur les &, mais qui a le défaut de ne pas remettre le
curseur à l'endroit où je me trouvais
(defun alignement-tableau-bis (debut fin)
(save-excursion
(LaTeX-find-matching-begin)
(setq debut point)
(LaTeX-find-matching-end)
(setq fin point)
(align debut fin)))
mais j'obtiens le même message d'erreur...
Que signifie "j'utilise" ici ? Comment essaies-tu d'appeler cette
fonction ?
Si tu veux l'appeler avec M-x il manque un appel à interactive au dà ©but.
(mark) et (point), ou (region-beginning) et (region-end)
-- Alain.
en fait, j'ai mis dans mon LaTeX-mode-hook:
(local-set-key [C-f10] 'alignement-tableau)
Je pense que le problème venait de là du coup.
Au final, j'ai mis ceci:
;; Alignement dans un tableau
(defun alignement-tableau ()
(interactive)
(save-excursion
(LaTeX-mark-environment)
(align (region-beginning) (region-end))))
et cela fonctionne très bien; merci beaucoup Alain.
Stéphane
PS: plus généralement, je me demandais s'il y aurait une extension qui
permettrait de faire ceci de façon dynamique. Et même, en poussant le
bouchon, savez-vous s'il existe une extension qui permettrait de faire
les tableaux dans un fichier tex à la manière dont on peut faire les
tableaux avec org? (les cellules s'ajustent automatiquement, on peut
rajouter des colonnes à la volée...)