Spiego alcuni comandi dei comandi del post precedente. Tenete presente che sono cose che ho preso qua e là. Quindi, potrebbero non essere perfetti, anzi.
Questo fa sì che quando uso l’ambiente defin e faccio C-c ( per inserire label mi dia \label{D:un numero}, con thm \label{T:un numero} e così via.
(setq reftex-label-alist
‘((“defin” ?d “D:” “~\\ref{%s}” nil (“Definition” “Definitions” “definition” “Def.”))
(“thm” ?h “T:” “~\\ref{%s}” t (“Theorem” “thm.” “Th.”))
(“ex” ?z “E:” “~\\ref{%s}” t (“Example” “Examples” “example” “Ex.”))
(“prop” ?p “P:” “~\\ref{%s}” t (“Proposition” “Examples” “Prop.” “prop.”))
(“cor” ?x “C:” “~\\ref{%s}” t (“Problem” “Prob,” “prob” “Exercise” “exercise”))
(“conj” ?y “conj:” “~\\ref{%s}” t (“Conjecture” “Conj” “conj”))
(“lemma” ?l “L:” “~\\ref{%s}” t (“Lemma” “lemma”))
(“remark” ?r “R:” “~\\ref{%s}” t (“Remark” “remark” “rem”))))
(add-hook ‘LaTeX-mode-hook
(lambda ()
(LaTeX-add-environments
‘(“cor” LaTeX-env-label)
‘(“ex” LaTeX-env-label)
‘(“thm” LaTeX-env-label)
‘(“prop” LaTeX-env-label)
‘(“defin” LaTeX-env-label)
‘(“conj” LaTeX-env-label)
‘(“lemma” LaTeX-env-label)
‘(“remark” LaTeX-env-label))))
Questo comando:
(define-skeleton Tex-dollar-sign-skeleton
“Make a pair of dollar signs and leave point inside” nil
“$”_”$”)
(global-set-key (kbd “C-x e”) ‘Tex-dollar-sign-skeleton)
fa sì che con C-x e inserisco $ $ con uno spazio nel mezzo e il cursore tra i due $.
Con questo con C-x s:
(define-skeleton TeX-square-skeleton
“Make a pair of square brackets and leave point inside” nil
“\\[” \n
_ \n
“\\]”)
(global-set-key (kbd “C-x s”) ‘TeX-square-skeleton)
inserisco
\[
spazio vuoto e cursore qui.
\]
Con questo:
(define-skeleton TeX-graffe-skeleton
“Make a pair of parenthesys and leave point inside” nil
“\\{“_”\\}”)
(global-set-key (kbd “C-x g”) ‘TeX-graffe-skeleton)
con C-x g faccio:
\{ spazio vuoto e cursore qui \}
Con questo:
(define-skeleton mat1
“Insert matrix” nil
“\\[\n\\left(\n\ PROTECTED0 \n\\right)\n\\]”
)
(global-set-key (kbd “C-x ar1”) ‘mat1)
con C-x ar1 inserisco:
\[
\left(
PROTECTED1
\right)
\]
Con questo:
(define-skeleton mat2
“Insert matrix” nil
“\\left(\n\\begin{array}{ccc}\n\t”_”\n\\end{array}\n\\right)”
)
(global-set-key (kbd “C-x ar2”) ‘mat2)
con C-x ar2 inserisco:
\left(
\begin{array}{ccc}
SPAZIO VUOTO E CURSORE QUI
\end{array}
\right)
Con:
(define-skeleton mult*
“Insert an multiline* in latex”
nil
“\\begin{multline*}\n\t”_”\t\n\\end{multline*}\n”)
(global-set-key (kbd “C-x y”) ‘mult*)
con C-x y inserisco l’ambiente multline* con, al solito, il cursore nel mezzo.
Con:
(define-skeleton rid
“Insert stackrel+riducendo”
nil
“\\stackrel{\\text{riducendo}}{\\longmapsto}\n”)
(global-set-key (kbd “C-x t”) ‘rid)
con C-x t inserisco \stackrel{\text{riducendo}}{\longmapsto} e il cursore è a capo.
Con
(define-skeleton rid2
“Insert stackrel+riducendo”
nil
“\\xrightarrow{\\scriptsize{\\begin{aligned}\n”_”\n\\end{aligned}}}”)
(global-set-key (kbd “C-x x”) ‘rid2)
con C-x x inserisco:
xrightarrow{\scriptsize{\begin{aligned}
CURSORE QUI
\end{aligned}}}
Con:
(define-skeleton virg
“Inserire virgolette”
nil
“`”)
(global-set-key (kbd “C-x c”) ‘virg)
con C-x c inserisco `.
Infine, con:
(defun duplicate-line()
(interactive)
(move-beginning-of-line 1)
(kill-line)
(yank)
(newline)
(yank)
)
(global-set-key (kbd “C-d”) ‘duplicate-line)
con C-d duplico la linea su cui si trova il cursore in quel momento.