Doc” post=86802
[quote=”Doc” post=86798]Ad esempio, non riesco ancora a capire come fare ad ottenere l’autocompletamento sia dei comandi latex standard sia di altri personalizzati, quali, ad esempio, uno come questo:
`\edtext{}{\paralleli{{\textbf{\ref{•}}}\enspace •}}`Comunque, molto molto molto comodo e potente!
Usa [tt]C-c C-m[/tt] o [tt]C-c RET[/tt] per inserire comandi, puoi completare il nome con [tt]TAB[/tt] se AUCTeX lo conosce. Non conosco questo [tt]\edtext[/tt], potresti spiegarti un po’ meglio?
Un po’ scomodo!
Avevo visto delle alternative più comode: http://www.emacswiki.org/emacs/AUCTeX#toc11
[/quote]
Prova questo invece (è una soluzione interna ad AUCTeX, non richiede altri pacchetti esterni): nel tuo [tt].emacs[/tt] inserisci questo
`(setq TeX-electric-escape t)`
In questo modo [tt]\[/tt] è equivalente a [tt]C-c C-m[/tt] (e [tt]C-c RET[/tt]), anzi, è pure più rapido, se non ci sono ambiguità ti basta premere la barra spaziatrice per completare e inserire il effettivamente il comando, invece con [tt]C-c C-m[/tt] (e [tt]C-c RET[/tt]) dovresti prima completare con [tt]TAB[/tt] e poi uscire con [tt]RET[/tt]. Se vuoi inserire il comando che hai scritto nel minibuffer ma AUCTeX non lo conosce e non te lo lascia inserire premendo la barra spaziatrice, premi normalmente [tt]RET[/tt].
L’unico problema di questa soluzione è che diventa più scomodo inserire il carattere di backspace (che comunque userai molto raramente), devi premere [tt]C-q \[/tt] (in generale, [tt]C-q[/tt] serve per inserire letteralmente il tasto successivo, ignorando qualsiasi funzione speciale).
Doc” post=86802edtext è un comando di eledmac: è ovvio che tu non lo conosca!
Il punto è però un altro, più generale: se io volessi aggiungere comandi speciali e personalizzati (e che uso spessissimo), come faccio regolarmente sugli altri editor, come farlo su auctex?
In genere è compito degli sviluppatori di AUCTeX aggiungere il supporto ai pacchetti, ma ovviamente il tempo è limitato, gli sviluppatori sono pochi e i pacchetti sono molti e spesso molto complicati (vedo che il manuale di [tt]eledmac[/tt] è lungo 200 pagine 😮 ), quindi a volte bisogna arrangiarsi da soli.
Vedo che [tt]\edtext[/tt] accetta due argomenti obbligatori, allora inserisci questo codice nel tuo [tt].emacs[/tt]
`
;; Esegui il codice dopo che viene caricato il file `latex.el'.
(eval-after-load “latex”
'(progn
;; Aggiungi il supporto al pacchetto `eledmac'.
(TeX-add-style-hook
“eledmac”
(lambda ()
;; Aggiungi nuovi comandi.
(TeX-add-symbols
;; \edtext{}{}
'(“edtext” 2))))))
`
In questo modo se nel tuo documento compare la riga [tt]\usepackage{eledmac}[/tt] il comando sarà disponibile, con autocompletamento e inserimento automatico delle due coppie di parentesi.
Ho provato a spiegare come farlo nella guida, ma forse non sono stato chiarissimo, tant’è che stavo pensando di rimuovere questa parte nella prossima versione perché rischia di confondere troppo il lettore.
Se trovi che l’inserimento del greco sia realmente molto semplice, potresti contribuire alla guida spiegando il tuo approccio, magari interesserà anche ad altri 🙂
Se hai altri dubbi, suggerimenti, scrivi pure 😉