OVH Cloud OVH Cloud

La fct tex-insert-quote

16 réponses
Avatar
Benoît Barbier
Bonjour à tous,

je n'arrive pas à imiter la fct tex-insert-quote avec un truc du genre
Ctrl-" (dans le mode LaTeX) .

;;Ctrl-"
(defun INSERT-fr-gui()
"Insère des guillemets français"
(interactive)
(insert "\\og \\fg")
(backward-char 4))
;(define-key global-map(read-kbd-macro "\C-\"") 'INSERT-fr-gui)

C'est sûrement "\C-\"" qui ne fonctionne pas.
Si j'enlève le commentaire j'ai un message d'erreur

Si il y a une meilleur méthode pour faire la macro dites le moi svp.
Je ne suis pas calé en lisp et encore moins dans le dialecte d'emacs.

Merci d'avance,

Benoît

10 réponses

1 2
Avatar
drkm
Benoît Barbier wrote:

(defun INSERT-fr-gui()
"Insère des guillemets français"
(interactive)
(insert "og fg")
(backward-char 4))
;(define-key global-map(read-kbd-macro "C-"") 'INSERT-fr-gui)

C'est sûrement "C-"" qui ne fonctionne pas.
Si j'enlève le commentaire j'ai un message d'erreur



Qui dit quoi ? Ceci devrait marcher :

(global-set-key (kbd "C-"") 'INSERT-fr-gui)

--drkm
Avatar
Benoît Barbier
Le Fri, 28 Oct 2005 05:42:09 -0700, drkm a écrit :

Benoît Barbier wrote:

(defun INSERT-fr-gui()
"Insère des guillemets français"
(interactive)
(insert "og fg")
(backward-char 4))
;(define-key global-map(read-kbd-macro "C-"") 'INSERT-fr-gui)



C'est sûrement "C-"" qui ne fonctionne pas.
Si j'enlève le commentaire j'ai un message d'erreur



Qui dit quoi ? Ceci devrait marcher :

(global-set-key (kbd "C-"") 'INSERT-fr-gui)



Ah...Ben oui ca marche! merci

avec
(define-key global-map(read-kbd-macro "C-"") 'INSERT-fr-gui)
J'avais
File mode spécification error (error "invalid modifier in string")
C'est pas très précis.

--
Benoît
Avatar
Ralf Angeli
* Benoît Barbier (2005-10-28) writes:

je n'arrive pas à imiter la fct tex-insert-quote avec un truc du genre
Ctrl-" (dans le mode LaTeX) .



Peut-être tu ne dois pas imiter ça. Si quelqu'un peut me dire comment
on utilise la langue française en LaTeX, je peux écrire une fichiér de
style pour AUCTeX avec quelle on peut taper " pour rajouter og et fg.

Si je comprend babel/user.dvi correctement, on l'utilise comme ça :

documentclass{article}
usepackage[francais]{babel}
usepackage[T1]{fontenc}
usepackage[latin1]{inputenc}
begin{document}
foo og barfg{} baz
end{document}

Est-ce que `francais' l'option qu'on utilise normalement, ou `french' ?
Et est-ce qu'on utilise `og ...fg{}' normalement comme ça ?

--
Ralf
Avatar
Prakash Countcham
Bonjour,

Ralf Angeli writes:
Peut-être tu ne dois pas imiter ça. Si quelqu'un peut me dire comment
on utilise la langue française en LaTeX, je peux écrire une fichier de
style pour AUCTeX avec quelle on peut taper " pour rajouter og et fg.



Merci ! Personnellement, je pense que c'est une bonne idée car les
guillemets anglais ne servent à rien dans un document français. À moi ns qu'il
ne s'agisse d'un document multilingue avec des selectlanguage, ou que l'on
est en train d'écrire une portion de code dans un environnement verbatim ou
listings.

Si je comprend babel/user.dvi correctement, on l'utilise comme ça :

documentclass{article}
usepackage[francais]{babel}
usepackage[T1]{fontenc}


usepackage[latin1]{inputenc} % ou latin9/utf8/...
begin{document}
foo og barfg{} baz
end{document}

Est-ce que `francais' l'option qu'on utilise normalement, ou `french' ?



D'habitude, on utilise francais ou frenchb. C'est expliqué dans la
documentation de frenchb :
http://daniel.flipo.free.fr/frenchb/frenchb-doc.pdf

Sur les versions récentes de babel, french est aussi équivalent à fre nchb et
francais.

Et est-ce qu'on utilise `og ...fg{}' normalement comme ça ?



Oui, c'est exactement cela. Si xspace est chargé, il n'y a pas besoin
d'accolades. On peut directement écrire « et » après avoir modifié
frenchb.cfg (cf. documentation précédente).

Cordialement,

--
Prakash
Avatar
Benoît Barbier
Le Fri, 28 Oct 2005 15:05:22 +0200, Ralf Angeli a écrit :

* Benoît Barbier (2005-10-28) writes:

je n'arrive pas à imiter la fct tex-insert-quote avec un truc du genre
Ctrl-" (dans le mode LaTeX) .



Peut-être tu ne dois pas imiter ça. Si quelqu'un peut me dire comment
on utilise la langue française en LaTeX, je peux écrire une fichiér de
style pour AUCTeX avec quelle on peut taper " pour rajouter og et fg.

Si je comprend babel/user.dvi correctement, on l'utilise comme ça :

documentclass{article}
usepackage[francais]{babel}
usepackage[T1]{fontenc}
usepackage[latin1]{inputenc}
begin{document}
foo og barfg{} baz
end{document}

Est-ce que `francais' l'option qu'on utilise normalement, ou `french' ?


J'utilise `francais'

Et est-ce qu'on utilise `og ...fg{}' normalement comme ça ?



Soit 'og ...fg{}'
Ou
'og ...fg'
avec avec le paquet xspace
usepackage{xspace}

Je viens de l'apprendre sur ! ;)
--
Benoît
Avatar
Ralf Angeli
* Prakash Countcham (2005-10-28) writes:

Ralf Angeli writes:

Est-ce que `francais' l'option qu'on utilise normalement, ou `french' ?



D'habitude, on utilise francais ou frenchb. C'est expliqué dans la
documentation de frenchb :
http://daniel.flipo.free.fr/frenchb/frenchb-doc.pdf

Sur les versions récentes de babel, french est aussi équivalent à frenchb et
francais.

Et est-ce qu'on utilise `og ...fg{}' normalement comme ça ?



Oui, c'est exactement cela. Si xspace est chargé, il n'y a pas besoin
d'accolades. On peut directement écrire « et » après avoir modifié
frenchb.cfg (cf. documentation précédente).



Merci bien pour cette information à toi et Benoît. J'ai ajouté de
l'aide pour `frenchb' et `francais' dans le CVS d'AUCTeX. Si
quelqu'un veut l'essayer, on peut aller chercher les sources
directement chez le CVS ou un snapshot chez
<URL:http://theotp1.physik.uni-ulm.de/~ste/comp/emacs/auctex/snapshots/>.
Pour le snapshot on doit attendre à 20:17 heures.

--
Ralf
Avatar
drkm
Benoît Barbier writes:

Le Fri, 28 Oct 2005 05:42:09 -0700, drkm a écrit :

Benoît Barbier wrote:

;(define-key global-map(read-kbd-macro "C-"") 'INSERT-fr-gui)



(global-set-key (kbd "C-"") 'INSERT-fr-gui)



Ah...Ben oui ca marche! merci

avec
(define-key global-map(read-kbd-macro "C-"") 'INSERT-fr-gui)
J'avais
File mode spécification error (error "invalid modifier in string")
C'est pas très précis.



Heu, je n'avais pas fait attention, mais tu ne doubles pas le
'' dans ton argument. Ceci devrait fonctionner :

(define-key global-map(read-kbd-macro "C-"") 'INSERT-fr-gui)

Je te conseille néanmoins d'utiliser 'global-set-key' au lieu
de 'define-key' sur 'global-map', ainsi que 'kbd' au lieu de
'read-kbd-macro'.

--drkm
Avatar
Prakash Countcham
Ralf Angeli writes:
Merci bien pour cette information à toi et Benoît. J'ai ajouté de
l'aide pour `frenchb' et `francais' dans le CVS d'AUCTeX. Si
quelqu'un veut l'essayer, on peut aller chercher les sources
directement chez le CVS ou un snapshot chez
<URL:http://theotp1.physik.uni-ulm.de/~ste/comp/emacs/auctex/snapshots/>.
Pour le snapshot on doit attendre à 20:17 heures.



Merci Ralf. Je viens d'essayer et cela marche très bien.

Sinon, le dernier lien de la page que tu viens de citer
(http://theotp1.physik...) ne pointe pas sur la version CVS d'AUCTex
(seulement la 11.55 qui est déjà dans etch).

De même, le fichier auctex.info dit que l'on peut trouver Emacs sur
http://sadleder.de/debian, ce qui n'est pas le cas.

Je ne sais pas si c'est moi qui ai mal compris la documentation ou s'il y a
une erreur, alors je le signale. Amicalement,

--
Prakash
Avatar
Ralf Angeli
* Prakash Countcham (2005-10-29) writes:

Merci Ralf. Je viens d'essayer et cela marche très bien.



Bien. (c:

Sinon, le dernier lien de la page que tu viens de citer
(http://theotp1.physik...) ne pointe pas sur la version CVS d'AUCTex
(seulement la 11.55 qui est déjà dans etch).



Oui, ce page est un peut vielle. Je vais informer la personne qui
peut le changer.

De même, le fichier auctex.info dit que l'on peut trouver Emacs sur
http://sadleder.de/debian, ce qui n'est pas le cas.



Oui. Et avec le paquet `emacs-snapshot' il y a déja une version
development d'Emacs dans Debian. J'ai changé ça dans le fichiér
RELEASE d'AUCTeX 11.81 mais oublié de le changer dans auctex.info.

Je ne sais pas si c'est moi qui ai mal compris la documentation ou s'il y a
une erreur, alors je le signale.



Il y a plusieur erreurs. (c: Merci pour l'information.

--
Ralf
Avatar
Benoît Barbier
Le Sat, 29 Oct 2005 18:43:17 +0200, drkm a écrit :

Heu, je n'avais pas fait attention, mais tu ne doubles pas le
'' dans ton argument. Ceci devrait fonctionner :

(define-key global-map(read-kbd-macro "C-"") 'INSERT-fr-gui)

Je te conseille néanmoins d'utiliser 'global-set-key' au lieu
de 'define-key' sur 'global-map', ainsi que 'kbd' au lieu de
'read-kbd-macro'.



En grand merci!

Je vai changer ça dans toutes mes macro!
define-key global-map ne fait pas exactement ce que je veux.
J'espère qu'en suivant ton conseil ça résoudra mon problème.

Je supposes que global-set-key est local à un buffer ?
L'idéal est de mapper des macros différentes entre un buffer java et un
buffer LaTeX sur de mêmes raccourcis clavier.

Pour l'instant je n'y arrive pas.
Si j'ouvre les deux buffers dans emacs en même temps c'est le bord..
(enfin je voulais dire effet de bord;)).

Par ex dans mon .emacs j'ai :

(add-to-list 'load-path "~/.emacs.d/site-lisp")

;; Comportement les langages de types c(java, c, c++, etc)
(add-hook 'c-mode-common-hook
'(lambda ()
(require 'cc_emacs)
(toggle-truncate-lines)
))

;; Raccourcis clavier en mode LaTeX
(add-hook 'tex-mode-hook
'(lambda ()
(require 'TeX_emacs)
))
************************************
Dans TeX_emacs :

;;Ctrl-c i
(defun INSERT-itemize-bloque()
"insère un bloc d'item"
(interactive)
(insert "begin{itemize}")
(newline)
(insert "item ")
(newline)
(insert "item ")
(newline)
(insert "item ")
(newline)
(insert "item ")
(newline)
(insert "end{itemize}")
(newline)
(previous-line 5)
(end-of-line))
(define-key global-map(read-kbd-macro "C-ci") 'INSERT-itemize-bloque)

***********************************
Dans cc_emacs :

;;Ctrl-c i
(defun INSERT-if-bloque()
"Insère un bloc if."
(interactive)
(insert "if ()")
(newline-and-indent)
(insert "{")
(newline-and-indent)
(insert "}")
(backward-char 1)
(c-electric-delete 2)
(previous-line 2)
(end-of-line)
(backward-char 1))
(define-key global-map (read-kbd-macro "C-ci") 'INSERT-if-bloque)

**********************************************

Merci d'avance,

--
Benoît
1 2