Problème auctex
Le
Olivier Reboux

Bonsoir, je viens de refaire mon installation (kubuntu 14.04) et mon
emacs me cause de l'urticaire.
J'ai ceci dans mon .emacs qui fonctionnait parfaitement avant :
(defun insert-parentheses () "insert parentheses and go between them"
(interactive)
(insert "()")
(backward-char 1))
(defun insert-brackets () "insert brackets and go between them"
(interactive)
(insert "[]")
(backward-char 1))
(defun insert-braces () "insert curly braces and go between them"
(interactive)
(insert "{}")
(backward-char 1))
(global-set-key "(" 'insert-parentheses) ;;inserts "()"
(global-set-key "[" 'insert-brackets)
(global-set-key "{" 'insert-braces)
et qui fonctionne parfaitement dans des documents autres que les .tex.
Mais plus dans les .tex. J'ai essayé avec un .emacs ne contenant que
cela, et j'ai toujours le même comportement.
Or c'est bien pratique d'avoir ces petits bouts de code. Je pourrais
faire avec yasnippet mais c'est un chouia moins pratique (en particulier
il faut avoir un espace après le moindre texte).
Comment faire pour taper mes parenthèses et autres crochets en ne tapant
qu'une seule touche ? C'est peut-être dans AUCTeX mais je ne sais pas où.
Mes remerciements anticipés
Olivier Reboux
emacs me cause de l'urticaire.
J'ai ceci dans mon .emacs qui fonctionnait parfaitement avant :
(defun insert-parentheses () "insert parentheses and go between them"
(interactive)
(insert "()")
(backward-char 1))
(defun insert-brackets () "insert brackets and go between them"
(interactive)
(insert "[]")
(backward-char 1))
(defun insert-braces () "insert curly braces and go between them"
(interactive)
(insert "{}")
(backward-char 1))
(global-set-key "(" 'insert-parentheses) ;;inserts "()"
(global-set-key "[" 'insert-brackets)
(global-set-key "{" 'insert-braces)
et qui fonctionne parfaitement dans des documents autres que les .tex.
Mais plus dans les .tex. J'ai essayé avec un .emacs ne contenant que
cela, et j'ai toujours le même comportement.
Or c'est bien pratique d'avoir ces petits bouts de code. Je pourrais
faire avec yasnippet mais c'est un chouia moins pratique (en particulier
il faut avoir un espace après le moindre texte).
Comment faire pour taper mes parenthèses et autres crochets en ne tapant
qu'une seule touche ? C'est peut-être dans AUCTeX mais je ne sais pas où.
Mes remerciements anticipés
Olivier Reboux
M-x electric-pair-mode
--
JJ R.
M-x electric-pair-mode
le fait. C'est une bascule.
Comme ça peut être gênant, il me paraît pertinent si on en fait un usage
abondant de la lier à une combinaison de touches.
autopair est paraît-il plus sophistiqué, je n'ai pas testé
https://github.com/uk-ar/flex-autopair.el
Ãa peut s'installer à partir du dépôt Melpa.
("melpa" . "http://melpa.milkbox.net/packages/")
Pas de quoi.
--
JJ R.
Ãa, c'est une solution pour Emacs « générale ». J e me suis posé la
question de savoir pourquoi ta solution ne marchait pas.
En fait quand on tape un délimiteur ouvrant, ça ne provoque pas
l'insertion du caractère, mais l'activation d'une fonction
TeX-insert-quelquechose qui est paramétrable pour insérer ou non le
délimiteur correspondant.
Dans AUCTeX il suffit de modifier la variable
LaTeX-electric-left-right-brace
pour lui donner la valeur t , par exemple dans le .emacs, ou dans
customize-variable.
Dans la foulée, on peut aussi paramétrer la fonction TeX-insert-d ollar
pour qu'elle insère $ .. $ ou ( .. ) selon ses préférences.
Par exemple
(setq TeX-electric-math '("\(" . "\)"))
pour insérer ( .. ) à la frappe d'un $.
--
JJ R.