summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--emacs/inits/24-latex.el321
1 files changed, 161 insertions, 160 deletions
diff --git a/emacs/inits/24-latex.el b/emacs/inits/24-latex.el
index 259511a..2c1463a 100644
--- a/emacs/inits/24-latex.el
+++ b/emacs/inits/24-latex.el
@@ -1,174 +1,175 @@
-;; Time-stamp: <2021-08-13 20h11 EDT (academic)>
+;; Time-stamp: <2021-09-27 08h45 EDT (academic)>
(defvar latex-template-dir (expand-file-name "~/typeset/latex-templates"))
(defun prompt-latex-file-template ()
- "Check if tex file does not exist or the command was called
+ "Check if tex file does not exist or the command was called
interactively. If neither, prompt to insert from a template
populated from the directory *latex-template-dir*"
- (interactive)
- (when (and (if (file-exists-p (buffer-file-name))
- (called-interactively-p 'interactive)
- t)
- (yes-or-no-p "Insert template?"))
- (let* ((tfiles (directory-files latex-template-dir nil "\\.tex"))
- (template (completing-read "Select template: " tfiles nil t)))
- (when template
- (goto-char (point-min))
- (insert-file-contents (concat latex-template-dir "/" template))
- (search-forward "begin{document}")
- (forward-line)
- (save-buffer)))))
+ (interactive)
+ (when (and (if (file-exists-p (buffer-file-name))
+ (called-interactively-p 'interactive)
+ t)
+ (yes-or-no-p "Insert template?"))
+ (let* ((tfiles (directory-files latex-template-dir nil "\\.tex"))
+ (template (completing-read "Select template: " tfiles nil t)))
+ (when template
+ (goto-char (point-min))
+ (insert-file-contents (concat latex-template-dir "/" template))
+ (search-forward "begin{document}")
+ (forward-line)
+ (save-buffer)))))
(use-package cdm-mode
- :load-path "~/.emacs.d/scripts/")
+ :load-path "~/.emacs.d/scripts/")
(use-package unfill :ensure t)
(use-package latex
- :ensure auctex
- :bind (:map LaTeX-mode-map
- ("<" . LaTeX-insert-left-brace)
- ("|" . LaTeX-insert-left-brace)
- ("'" . better-TeX-insert-single-quote)
- ;; ("TAB" . LaTeX-indent-line)
- ("M-TAB" . TeX-complete-symbol)
- ("M-q" . unfill-paragraph)
- ("C-c C-d" . TeX-view))
-
- :hook (LaTeX-mode . (lambda ()
- (latex-setup-visual-aesthetics)
- (latex-setup-text-environment)
- (latex-setup-special-minor-modes)
- (latex-setup-completions)
- (prompt-latex-file-template)))
- :init
- (defun latex-setup-visual-aesthetics ()
- (interactive)
- (auto-fill-mode -1)
- (visual-line-mode)
- (display-line-numbers-mode))
-
- (defun latex-setup-text-environment ()
- (interactive)
- (electric-pair-local-mode 1)
- (latex-electric-env-pair-mode)
- (spell-fu-mode)
- (siege-mode 1))
-
- (defun latex-setup-special-minor-modes ()
- (interactive)
- (setq-default cdlatex-takeover-parenthesis nil)
- (cdlatex-mode t)
- (cdm-mode))
-
- (defun latex-setup-completions ()
- (interactive)
- (require 'reftex)
- (turn-on-reftex)
- ;; We want completion for cleverf too!
- (push '("\\\\[Cc]ref{\\([^{}\\%,]*\\)" 1 LaTeX-label-list "}") TeX-complete-list)
- ;; and we want to use reftex
- (push '("\\\\cite\\[[^]\n \\%]*\\]{\\([^{}\n \\%,]*\\)" reftex-citep) TeX-complete-list)
- (push '("\\\\cite{\\([^{}\n \\%,]*\\)" reftex-citep) TeX-complete-list))
-
- (defun better-TeX-insert-single-quote ()
- (interactive)
- (let ((old-open TeX-open-quote)
- (old-close TeX-close-quote))
- (unwind-protect (progn
- (setq TeX-open-quote "`"
- TeX-close-quote "'")
- (call-interactively 'TeX-insert-quote))
- (setq TeX-open-quote old-open
- TeX-close-quote old-close))))
-
- :config
- (setq TeX-command-list '(("XeLaTeX" "xelatex %t"
- TeX-run-TeX nil (latex-mode doctex-mode) :help "Run XeLaTeX")
- ("TeX" "%(PDF)%(tex) %(file-line-error) %`%(extraopts) %S%(PDFout)%(mode)%' %t"
- TeX-run-TeX nil (plain-tex-mode ams-tex-mode texinfo-mode) :help "Run plain TeX")
- ("LaTeX" "%`%l%(mode)%' %T"
- TeX-run-TeX nil (latex-mode doctex-mode) :help "Run LaTeX")
- ("Biber" "biber %s %(output-dir)" TeX-run-Biber nil
- (plain-tex-mode latex-mode doctex-mode ams-tex-mode texinfo-mode) :help "Run Biber")
- ("BibTeX" "bibtex %s" TeX-run-BibTeX nil
- (plain-tex-mode latex-mode doctex-mode ams-tex-mode texinfo-mode context-mode) :help "Run BibTeX")
- ("View" "%V" TeX-run-discard-or-function t t :help "Run External Viewer")
- ("View internally" "(find-file \"%o\")" TeX-run-function nil t :help "Run Viewer")
- ("Spell" "(TeX-ispell-document \"\")" TeX-run-function nil t :help "Spell-check the document")
- ("Clean" "TeX-clean" TeX-run-function nil t :help "Delete generated intermediate files")
- ("Clean All" "(TeX-clean t)" TeX-run-function nil t :help "Delete generated intermediate and output files")
- ("Other" "" TeX-run-command t t :help "Run an arbitrary command")))
-
- (setq TeX-electric-sub-and-superscript t
- TeX-electric-math '("$" . "$")
- TeX-electric-escape nil
- LaTeX-electric-left-right-brace t)
-
- ;; no idea why this is not a default ... ?
- (push '("<" . ">") TeX-braces-association)
-
- (setq reftex-plug-into-AUCTeX t)
- ;; (setq-default TeX-master nil)
- (setq TeX-auto-save t
- TeX-parse-self t
- TeX-PDF-mode t
- TeX-source-correlate-mode 'synctex
- TeX-view-program-selection '(((output-dvi style-pstricks) "dvips and gv")
- (output-dvi "xdvi")
- (output-pdf "Zathura")
- (output-html "xdg-open")))
-
- ;; for PDF tools
- ;; (add-hook 'TeX-after-compilation-finished-functions #'TeX-revert-document-buffer)
- )
+ :ensure auctex
+ :bind (:map LaTeX-mode-map
+ ("<" . LaTeX-insert-left-brace)
+ ("|" . LaTeX-insert-left-brace)
+ ("'" . better-TeX-insert-single-quote)
+ ;; ("TAB" . LaTeX-indent-line)
+ ("M-TAB" . TeX-complete-symbol)
+ ("M-q" . unfill-paragraph)
+ ("C-c e" . LaTeX-environment)
+ ("C-c C-d" . TeX-view))
+
+ :hook (LaTeX-mode . (lambda ()
+ (latex-setup-visual-aesthetics)
+ (latex-setup-text-environment)
+ (latex-setup-special-minor-modes)
+ (latex-setup-completions)
+ (prompt-latex-file-template)))
+ :init
+ (defun latex-setup-visual-aesthetics ()
+ (interactive)
+ (auto-fill-mode -1)
+ (visual-line-mode)
+ (display-line-numbers-mode))
+
+ (defun latex-setup-text-environment ()
+ (interactive)
+ (electric-pair-local-mode 1)
+ (latex-electric-env-pair-mode)
+ (spell-fu-mode)
+ (siege-mode 1))
+
+ (defun latex-setup-special-minor-modes ()
+ (interactive)
+ (setq-default cdlatex-takeover-parenthesis nil)
+ (cdlatex-mode t)
+ (cdm-mode))
+
+ (defun latex-setup-completions ()
+ (interactive)
+ (require 'reftex)
+ (turn-on-reftex)
+ ;; We want completion for cleverf too!
+ (push '("\\\\[Cc]ref{\\([^{}\\%,]*\\)" 1 LaTeX-label-list "}") TeX-complete-list)
+ ;; and we want to use reftex
+ (push '("\\\\cite\\[[^]\n \\%]*\\]{\\([^{}\n \\%,]*\\)" reftex-citep) TeX-complete-list)
+ (push '("\\\\cite{\\([^{}\n \\%,]*\\)" reftex-citep) TeX-complete-list))
+
+ (defun better-TeX-insert-single-quote ()
+ (interactive)
+ (let ((old-open TeX-open-quote)
+ (old-close TeX-close-quote))
+ (unwind-protect (progn
+ (setq TeX-open-quote "`"
+ TeX-close-quote "'")
+ (call-interactively 'TeX-insert-quote))
+ (setq TeX-open-quote old-open
+ TeX-close-quote old-close))))
+
+ :config
+ (setq TeX-command-list '(("XeLaTeX" "xelatex %t"
+ TeX-run-TeX nil (latex-mode doctex-mode) :help "Run XeLaTeX")
+ ("TeX" "%(PDF)%(tex) %(file-line-error) %`%(extraopts) %S%(PDFout)%(mode)%' %t"
+ TeX-run-TeX nil (plain-tex-mode ams-tex-mode texinfo-mode) :help "Run plain TeX")
+ ("LaTeX" "%`%l%(mode)%' %T"
+ TeX-run-TeX nil (latex-mode doctex-mode) :help "Run LaTeX")
+ ("Biber" "biber %s %(output-dir)" TeX-run-Biber nil
+ (plain-tex-mode latex-mode doctex-mode ams-tex-mode texinfo-mode) :help "Run Biber")
+ ("BibTeX" "bibtex %s" TeX-run-BibTeX nil
+ (plain-tex-mode latex-mode doctex-mode ams-tex-mode texinfo-mode context-mode) :help "Run BibTeX")
+ ("View" "%V" TeX-run-discard-or-function t t :help "Run External Viewer")
+ ("View internally" "(find-file \"%o\")" TeX-run-function nil t :help "Run Viewer")
+ ("Spell" "(TeX-ispell-document \"\")" TeX-run-function nil t :help "Spell-check the document")
+ ("Clean" "TeX-clean" TeX-run-function nil t :help "Delete generated intermediate files")
+ ("Clean All" "(TeX-clean t)" TeX-run-function nil t :help "Delete generated intermediate and output files")
+ ("Other" "" TeX-run-command t t :help "Run an arbitrary command")))
+
+ (setq TeX-electric-sub-and-superscript t
+ TeX-electric-math '("$" . "$")
+ TeX-electric-escape nil
+ LaTeX-electric-left-right-brace t)
+
+ ;; no idea why this is not a default ... ?
+ (push '("<" . ">") TeX-braces-association)
+
+ (setq reftex-plug-into-AUCTeX t)
+ ;; (setq-default TeX-master nil)
+ (setq TeX-auto-save t
+ TeX-parse-self t
+ TeX-PDF-mode t
+ TeX-source-correlate-mode 'synctex
+ TeX-view-program-selection '(((output-dvi style-pstricks) "dvips and gv")
+ (output-dvi "xdvi")
+ (output-pdf "Zathura")
+ (output-html "xdg-open")))
+
+ ;; for PDF tools
+ ;; (add-hook 'TeX-after-compilation-finished-functions #'TeX-revert-document-buffer)
+ )
(use-package cdlatex
- :ensure t
- :bind (:map cdlatex-mode-map
- ("(" . nil)
- ("{" . nil)
- ("[" . nil)
- ("|" . nil)
- ("<" . nil)
- ("TAB" . cdlatex-tab)
- ;; ("C-c e" . cdlatex-environment)
- ("~" . cdlatex-math-modify)
- ("`" . cdlatex-math-symbol))
- :init
- (setq cdlatex-math-modify-prefix ?~
- cdlatex-math-symbol-prefix ?`
- cdlatex-math-modify-alist '((?a "\\mathbb" nil t nil nil)
- (?c "\\mathcal" "\\textsc" t nil nil)
- (?v "\\texttt" "\\texttt" t nil nil)
- (?k "\\mathfrak" nil t nil nil)
- (?- "\\overline" nil t nil nil)
- (?_ "\\underline" nil t nil nil))
- cdlatex-math-symbol-alist '((?^ ("\\widehat{?}" "\\hat{?}"))
- (?' ("^{\\prime}" "\\prime"))
- (?* ("\\times" "\\otimes" "\\star"))
- (?+ ("+" "\\oplus"))
- (?- ("\\dashv" "\\vdash" "\\setminus"))
- (?. ("\\circ" "\\sq" "\\cdot"))
- (?0 ("\\emptyset" "\\circ"))
- (?< ("\\leftarrow" "\\leftharpoonup" "\\xleftarrow"))
- (?> ("\\to" "\\rightharpoonup" "\\xrightarrow"))
- (?B ("\\bullet"))
- (?C ("\\widecheck{?}" "\\check{?}"))
- (?F ("\\Phi" "\\Varphi"))
- (?M ("\\begin{bsmallmatrix}?\\end{bsmallmatrix}"))
- (?P ("\\Prod{?}" "\\Pi" "\\partial"))
- (?S ("\\Sum{?}" "\\Sigma" "\\arcsin"))
- (?\"("^{\\prime\\prime}" "\\prime\\prime"))
- (?a ("\\alpha" "\\cap" "\\sqcap"))
- (?c ("\\cat{?}" "\\catn{?}"))
- (?e ("\\varepsilon" "\\epsilon" "\\exp{?}"))
- (?i ("\\iota" "\\in"))
- (?j ("{\\id^{h}}_{?}" "{\\id^{v}}_{?}"))
- (?r ("\\rho" "\\varrho" "\\restrict{?}"))
- (?u ("\\upsilon" "\\cup" "\\sqcup"))
- (?y ("\\psi" "\\Psi"))
- (?{ ("\\subseteq" "\\subsetneq"))
- (?} ("\\supseteq" "\\supsetneq"))
- )))
+ :ensure t
+ :bind (:map cdlatex-mode-map
+ ("(" . nil)
+ ("{" . nil)
+ ("[" . nil)
+ ("|" . nil)
+ ("<" . nil)
+ ("TAB" . cdlatex-tab)
+ ;; ("C-c e" . cdlatex-environment)
+ ("~" . cdlatex-math-modify)
+ ("`" . cdlatex-math-symbol))
+ :init
+ (setq cdlatex-math-modify-prefix ?~
+ cdlatex-math-symbol-prefix ?`
+ cdlatex-math-modify-alist '((?a "\\mathbb" nil t nil nil)
+ (?c "\\mathcal" "\\textsc" t nil nil)
+ (?v "\\texttt" "\\texttt" t nil nil)
+ (?k "\\mathfrak" nil t nil nil)
+ (?- "\\overline" nil t nil nil)
+ (?_ "\\underline" nil t nil nil))
+ cdlatex-math-symbol-alist '((?^ ("\\widehat{?}" "\\hat{?}"))
+ (?' ("^{\\prime}" "\\prime"))
+ (?* ("\\times" "\\otimes" "\\star"))
+ (?+ ("+" "\\oplus"))
+ (?- ("\\dashv" "\\vdash" "\\setminus"))
+ (?. ("\\circ" "\\sq" "\\cdot"))
+ (?0 ("\\emptyset" "\\circ"))
+ (?< ("\\leftarrow" "\\leftharpoonup" "\\xleftarrow"))
+ (?> ("\\to" "\\rightharpoonup" "\\xrightarrow"))
+ (?B ("\\bullet"))
+ (?C ("\\widecheck{?}" "\\check{?}"))
+ (?F ("\\Phi" "\\Varphi"))
+ (?M ("\\begin{bsmallmatrix}?\\end{bsmallmatrix}"))
+ (?P ("\\Prod{?}" "\\Pi" "\\partial"))
+ (?S ("\\Sum{?}" "\\Sigma" "\\arcsin"))
+ (?\"("^{\\prime\\prime}" "\\prime\\prime"))
+ (?a ("\\alpha" "\\cap" "\\sqcap"))
+ (?c ("\\cat{?}" "\\catn{?}"))
+ (?e ("\\varepsilon" "\\epsilon" "\\exp{?}"))
+ (?i ("\\iota" "\\in"))
+ (?j ("{\\id^{h}}_{?}" "{\\id^{v}}_{?}"))
+ (?r ("\\rho" "\\varrho" "\\restrict{?}"))
+ (?u ("\\upsilon" "\\cup" "\\sqcup"))
+ (?y ("\\psi" "\\Psi"))
+ (?{ ("\\subseteq" "\\subsetneq"))
+ (?} ("\\supseteq" "\\supsetneq"))
+ )))