[texshop, aquamacs] Autocomplétion

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

[texshop, aquamacs] Autocomplétion

Messagepar rafalo » Samedi 04 Avril 2009, 11:43

Bonjour

Il y a quelque chose de très utile pour l'éditeur texshop, c'est l'autocompletion. Dans un fichier annexe (autocompletion.plist, editable sous textedit) on peut définir tous les raccourcis clavier qu'on veut, (ex: alt+1=\begin{eqnarray} \end{eqnarray}, alt+2=\mathbb{R}, alt+g=\gamma, etc...) ça m'est devenu complètement indispensable.

En revanche, je trouve l'interface texshop vraiment minimaliste: tout est au même format, et il est peu pratique de naviguer entre le .tex et le pdf.
En revanche, avec aquamacs, l'interface est vraiment pratique, surtout dans la fenêtre preview, où on parcourt sans texte et on peut directement modifier une équation en cliquant dessus.

Quelqu'un sait-il s'il est possible de définir l'autocomplétion pour aquamacs? Ou s'il est possible d'avoir une meilleure interface pour texshop?
Merci d'avance.
rafalo
Utilisateur
 
Messages: 5
Inscription: Samedi 04 Avril 2009, 11:38
Statut actuel: Post-bac | Doctorat

Publicité

Re: [texshop, aquamacs] Autocomplétion

Messagepar rebouxo » Samedi 04 Avril 2009, 13:26

Bon ben comme c'est un emacs et que l'on peut tout faire avec emacs, ,il doit y avoir dans ton home un dossier .emacs. Il suffit de l'éditer et d'y glisser des commandes du style :

Code: Tout sélectionner
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Début des raccourcis clavier
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Ferme automatiquement parenthèses, crochets, guillemets
;; au cours de la frappe
(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)
;; indices
(defun insert-indice () "insert underscore and go between brackets"
  (interactive)
  (insert "_{}")
  (backward-char 1))
(global-set-key (kbd "C-c u") 'insert-indice)
;; exposant
(defun insert-exposant () "insert exposant and go between brackets"
  (interactive)
  (insert "^{}")
  (backward-char 1))
(global-set-key (kbd "C-c e") 'insert-exposant)
;; infini
(defun insert-infnity () "insert \infty symbol"(interactive)
  (insert "\\infty"))
(global-set-key (kbd "C-c i") 'insert-infnity)
;; Guillemets
(defun insert-guillemets () "insert \og  \fg symbol"(interactive)
  (insert "\\og \\fg")
  (backward-char 4))
(global-set-key (kbd "C-c g") 'insert-guillemets)
;; Parenthèses de taille variable
(defun insert-Grandparentheses () "insert \left (  \right ) symbol"(interactive)
  (insert "\\left ( \\right)")
  (backward-char 7))
(global-set-key (kbd "C-c (") 'insert-Grandparentheses)
;; Crochets
(defun insert-crochets () "insert \left [  \right ] symbol"(interactive)
  (insert "\\left [ \\right]")
  (backward-char 6))
(global-set-key (kbd "C-c [") 'insert-crochets)
;; chapeau sur l'angle
(defun insert-angle () "insert \widehat symbol"(interactive)
  (insert "\\widehat{}")
  (backward-char 1))
(global-set-key (kbd "C-c a") 'insert-angle)
;; racine carré
(defun insert-square () "insert \sqrt symbol and go between brackets"(interactive)
  (insert "\\sqrt{}")
  (backward-char 1))
(global-set-key (kbd "C-c r") 'insert-square)
;; inférieur ou égal
(defun insert-inf-egal () "insert \leq symbol"(interactive)
  (insert "\\leq"))
(global-set-key (kbd "C-c <") 'insert-inf-egal)
;; supérieur ou égal
(defun insert-sup-egal () "insert \geq symbol"(interactive)
  (insert "\\geq"))
(global-set-key (kbd "C-c >") 'insert-sup-egal)
;; vecteur
(defun insert-vecteur () "insert \vec command"(interactive)
  (insert "\\vec{}")
  (backward-char 1))
(global-set-key (kbd "C-c v") 'insert-vecteur)
;; siècle
(defun insert-siecle () "insert \siecle command"(interactive)
  (insert "\\bsc{}\\up{e}")
  (backward-char 7))
(global-set-key (kbd "C-c S") 'insert-siecle)
;; somme
(defun insert-sum () "insert \sum command"(interactive)
  (insert "\\sum_{i=1}^{n}"))
(global-set-key (kbd "C-c s") 'insert-sum)
;; produit
(defun insert-prod () "insert \prod command"(interactive)
  (insert "\\prod_{i=1}^{n}"))
(global-set-key (kbd "C-c p") 'insert-prod)
;; intégration
(defun insert-int () "insert \int command"(interactive)
  (insert "\\int_{}^{}")
  (backward-char 4))
(global-set-key (kbd "C-c I") 'insert-int)

;; Multiplication
(defun insert-times () "insert \times symbol"(interactive)
(insert "\\times"))
(global-set-key (kbd "C-c x") 'insert-times)
;; Fraction ou footnote
 (global-set-key (kbd "C-c f") 'my-frac-or-foot)

(global-set-key (kbd "C-c <") 'insert-inf-egal)

;; Euro
(defun insert-euro () "insert \euro symbol"(interactive)
(insert "~\\euro{}"))
(global-set-key (kbd "C-c E") 'insert-euro)


(defun my-footnote ()
  "Ouvre une footnote"
  (interactive)
  (search-backward-regexp "[])>».,[:alnum:]]")
  (forward-char)
  (insert "\\footnote{%\n  .}")
  (newline-and-indent)
  (beginning-of-line)
  (backward-char 4))

(defun my-fraction ()
  "Insère une fraction"
  (interactive)
  (insert "\\frac{}{}")
  (backward-char 3))

(defun my-frac-or-foot ()
  "Insère une fraction ou une footnote selon le contexte"
  (interactive)
  (if (texmathp)
      (my-fraction)
    (my-footnote)))

;; Lettres grecques
;; C-c C-g + plus la lettre latine minuscule -> grecque minuscule
;; la lettre eta est donnée par C-c C-g h, c'est une lettre aspirée ?
;; la lettre e est déjà prise pour les epsilon
;; la lettre tau est donnée par C-c C-g y, la lettre t est déjà prise par le theta
;; et le y est la lettre la plus proche non prise
;; la lettre psi est donnée par C-c C-g q, la lettre p est déjà prise par le pi
;; et le Q est proche dans l'ordre alphabétique
;; C-c C-g C-v + plus la lettre latine minuscule -> grecque variante
;; C-c C-g + plus la lettre latine majuscule -> grecque majuscule
(defun insert-alpha () "insert \alpha symbol"(interactive)
(insert "\\alpha"))
(global-set-key (kbd "C-c C-g a") 'insert-alpha)

(defun insert-beta () "insert \beta symbol"(interactive)
(insert "\\beta"))
(global-set-key (kbd "C-c C-g b") 'insert-beta)

(defun insert-gamma () "insert \gamma symbol"(interactive)
(insert "\\gamma"))
(global-set-key (kbd "C-c C-g g") 'insert-gamma)


Je t'en ai mis quelques uns pour te montrer la philosophie de cette commande qui doit être la seule que je maîtrise un tant soit peu. Par contre je ne pense pas que cela soit une bonne idée de faire des raccourcis clavier pour les environnements dans la mesure ou auctex à un système pour gérer ceux-ci.

Bon je ne sais pas comment faire pour rajouter des environnements à cette liste. Cela me serait bien utile.

Olivier
Vachement fier de savoir répondre à une question sur emacs.
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 6897
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: [texshop, aquamacs] Autocomplétion

Messagepar rafalo » Samedi 04 Avril 2009, 17:00

Merci Olivier!
C'est ce que je cherchais.
Est-ce que tu saurais comment définir une commande avec alt+qqch. (Genre (kbd ''A-a") sauf que c'est pas ça...).
rafalo
Utilisateur
 
Messages: 5
Inscription: Samedi 04 Avril 2009, 11:38
Statut actuel: Post-bac | Doctorat

Re: [texshop, aquamacs] Autocomplétion

Messagepar rafalo » Samedi 04 Avril 2009, 17:05

C'est étrange quand je lui configure une commande avec "{" ça marche bien, mais avec æ ça ne marche plus...(il écrit æ tout simplement) c'est peut-être une histoire de clavier...
rafalo
Utilisateur
 
Messages: 5
Inscription: Samedi 04 Avril 2009, 11:38
Statut actuel: Post-bac | Doctorat

Re: [texshop, aquamacs] Autocomplétion

Messagepar rebouxo » Dimanche 05 Avril 2009, 11:28

rafalo a écrit:Merci Olivier!
C'est ce que je cherchais.
Est-ce que tu saurais comment définir une commande avec alt+qqch. (Genre (kbd ''A-a") sauf que c'est pas ça...).


Je pense que c'est (kbd "M-a"). La touche Meta sous emacs peut-être la touche alt, la touche esc.
Pour ton problème avec ae je ne vois pas. En même temps, à part dans laetitia, c'est pas très courant :mrgreen:

Olivier
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 6897
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: [texshop, aquamacs] Autocomplétion

Messagepar rafalo » Dimanche 05 Avril 2009, 12:01

Bonjour
En effet ton idée marche bien . En fait j'essaie de refaire tous les raccourcis qu'il y avait sur mon précédent éditeur, et certains étaient de la forme "Alt+Maj+Touche" donc pour moi l'idéal serait d'arriver à faire ça.
En fait j'ai beaucoup cherché de doc sur emacs hier et voilà ce que j'en ai retenu concernant mon problème.
On peut définir plusieurs modes de saisie dans aquamacs: Meta, standard mac, Meta British,...
Si j'ai bien compris, mais je ne suis pas sur, c'est qu'en mode Meta, il ne fait pas la différence entre "Alt+..." et "Maj+Alt+...", donc impossible de définir de tels raccourcis.
En mode standard mac il fait la différence mais je ne sais pas comment accéder à l'expression qui veut dire "Maj+Alt+a" (genre "M+A+a" sauf que c'est pas ça..., en fait je ne sais même pas commen traduire "Alt+a").
Si tu n'as pas la réponse, connais-tu un moyen de lui faire traduire la frappe dans un code quelconque? (Par exemple je tappe Maj+Alt+a et il m'écrit un code correspondant dans un autre buffer...).
En tout cas merci de ta réponse.
rafalo
Utilisateur
 
Messages: 5
Inscription: Samedi 04 Avril 2009, 11:38
Statut actuel: Post-bac | Doctorat

Re: [texshop, aquamacs] Autocomplétion

Messagepar rafalo » Dimanche 05 Avril 2009, 12:27

Ok en fait il suffit de mettre "M-A" pour $alt+Maj+a" nickél c'est parfait!
Merci de ton aide!
rafalo
Utilisateur
 
Messages: 5
Inscription: Samedi 04 Avril 2009, 11:38
Statut actuel: Post-bac | Doctorat


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Grapeshot [Crawler] et 17 invités