Re: [Guida] Guida pratica all’uso di GNU Emacs & AUCTeX

#83698
Up
0
Down
::

Doc” post=86808Ti crei un file [tt]~/.TeXworks/completion/tw-personal.txt[/tt] con qualcosa come questo (ti posto il mio):
`%%!TEX encoding = UTF-8
scolio:=\pstart\newpara \label{#INS#•} #INS#•\pend
paralleli:=\edtext{}{\paralleli{{\textbf{\ref{#INS#•}}}\enspace #INS#•}}
testimonia:=\edtext{}{\testimonia{{\textbf{\ref{#INS#•}}}\enspace •#INS#}}
lectiones:=\edtext{#INS#•}{\lectiones[#INS#•]{#INS#•}}
marginalia:=\ledsidenote{#INS#•}
nrlectiones:=\edtext{}{\lemma{{\textbf{\ref{#INS#•}}}\lectiones[#INS#•]{#INS#•}}
greeknumeral:=\greeknumeral{#INS#}`
A questo punto, scrivi ad esempio [tt]paral[/tt], premi TAB e fa tutto lui!

Nel tuo [tt].emacs[/tt]:
`
(define-abbrev-table 'global-abbrev-table
'((“scolio” “\\pstart\\newpara \\label{} \\pend”)
(“paralleli” “\\edtext{}{\\paralleli{{\\textbf{\\ref{}}}\\enspace}}”)
(“testimonia” “\\edtext{}{\\testimonia{{\\textbf{\\ref{}}}\\enspace}}”)
(“lectiones” “\\edtext{}{\\lectiones[]{}}”)
(“marginalia” “\\ledsidenote{}”)
(“nrlectiones” “\\edtext{}{\\lemma{{\\textbf{\\ref{}}}\\lectiones[]{}}”)
(“greeknumeral” “\\greeknumeral{}”)))
;; stop asking whether to save newly added abbrev when quitting emacs
(setq save-abbrevs nil)
;; turn on abbrev mode globally
(setq-default abbrev-mode t)
`
A questo punto, scrivi per esempio [tt]scolio[/tt], premi un tasto qualsiasi non necessariamente [tt]TAB[/tt] e fa tutto lui! (liberamente ispirato a http://ergoemacs.org/emacs/emacs_abbrev_mode.html) Edit: non proprio un tasto qualsiasi, ma comunque si possono usare molti tasti: [tt]TAB[/tt], [tt]RET[/tt], spazio, segni di punteggiatura, etc…

Difetto, [tt]abbrev-mode[/tt] lascia il cursore alla fine del testo sostituito, immagino che tu voglia posizionarlo in qualche posto in particolare dopo la sostituzione. Credo ci siano altre modalità più raffinate da questo punto di vista, probabilmente Yasnippet, indago e faccio sapere. Non ho mai usato sistemi per l’inserimento semplificato di porzioni di codice, li sto studiando ora 😀

Go to top