[TeX] Merge configuration into init.el

This commit is contained in:
Daniel - 2018-11-03 12:43:58 +01:00
parent e5e6d56507
commit 453c720814
Signed by: dbo
GPG Key ID: 4F63DB96D45AA9C6
2 changed files with 140 additions and 182 deletions

146
init.el
View File

@ -1878,15 +1878,149 @@ are assumed to be of the form *.crt."
(use-package reftex
:commands (turn-on-reftex)
:config (progn
(with-eval-after-load 'helm-mode
(add-to-list 'helm-completing-read-handlers-alist
'(reftex-citation . nil)))
(setq reftex-plug-into-AUCTeX t)))
:init (setq reftex-plug-into-AUCTeX t)
:config (with-eval-after-load 'helm-mode
(add-to-list 'helm-completing-read-handlers-alist
'(reftex-citation . nil))))
(use-package tex
:defer t
:config (require 'db-latex))
:init (setq TeX-auto-save t
TeX-save-query nil
TeX-parse-self t
TeX-master t
TeX-electric-sub-and-superscript t
TeX-electric-math '("$" . "$")
TeX-electric-escape nil
LaTeX-electric-left-right-brace t
LaTeX-fill-break-at-separators nil
TeX-fold-math-spec-list '(("" ("le"))
("" ("ge"))
("" ("notin")))
TeX-source-correlate-start-server nil
LaTeX-eqnarray-label "eqn:"
LaTeX-equation-label "eqn:"
LaTeX-figure-label "fig:"
LaTeX-table-label "tab:"
TeX-newline-function 'reindent-then-newline-and-indent
LaTeX-section-hook '(LaTeX-section-heading
LaTeX-section-title
LaTeX-section-section
LaTeX-section-label))
:config (progn
(require 'latex)
(require 'tex-buf)
(require 'reftex)
(TeX-engine-set 'default)
(put 'TeX-narrow-to-group 'disabled nil)
(put 'LaTeX-narrow-to-environment 'disabled nil)
(add-hook 'LaTeX-mode-hook #'turn-on-flyspell)
(add-hook 'LaTeX-mode-hook #'turn-on-visual-line-mode)
(add-hook 'LaTeX-mode-hook #'LaTeX-math-mode)
(add-hook 'LaTeX-mode-hook #'outline-minor-mode)
(add-hook 'LaTeX-mode-hook #'page-break-lines-mode)
(add-hook 'LaTeX-mode-hook #'turn-on-reftex)
(add-hook 'latex-mode-hook #'turn-on-reftex)
(add-hook 'LaTeX-mode-hook '(lambda ()
(TeX-PDF-mode 1)
(TeX-source-correlate-mode 1)
(TeX-fold-mode 1)))
(add-to-list 'TeX-view-program-selection
'(output-pdf "Evince"))
;; use pdf-tools when loaded
(with-eval-after-load 'pdf-tools
(add-to-list 'TeX-view-program-selection '(output-pdf "PDF Tools"))
(add-to-list 'TeX-after-compilation-finished-functions
#'TeX-revert-document-buffer))
;; style used for my personal definitions; not clear whether this
;; works as intended
(TeX-add-style-hook
"mydefs"
(lambda ()
(TeX-run-style-hooks "etex"
"etoolbox"
"ifthen"
"amsmath"
"amssymb"
"latexsym"
"mathabx"
"stmaryrd"
"verbatim"
"graphicx"
"enumerate"
"array"
"booktabs"
"ulem"
"nicefrac"
"listings"
"microtype"
"tabularx"
"tikz"
"csquotes"
"ntheorem"
"xspace")
(LaTeX-add-environments
'("Exercise" LaTeX-env-label)
'("Theorem" LaTeX-env-label)
'("Proposition" LaTeX-env-label)
'("Lemma" LaTeX-env-label)
'("Corollary" LaTeX-env-label)
'("Remark" LaTeX-env-label)
'("Example" LaTeX-env-label)
'("Definition" LaTeX-env-label)
'("Proof" LaTeX-env-label))
;; https://tex.stackexchange.com/questions/217799/auctex-11-88-bug-on-latex-env-label-cannot-automatically-insert-label
(setf (cadr reftex-insert-label-flags)
(concat (cadr reftex-insert-label-flags) "TLPDRCE"))
(dolist (label-spec
'(("Theorem" ?T "thm:" "~\\ref{%s}" t ("Theorem" "Thm.") nil)
("Lemma" ?L "lem:" "~\\ref{%s}" t ("Lemma" "Lem.") nil)
("Proposition" ?P "prop:" "~\\ref{%s}" t ("Proposition" "Prop.") nil)
("Satz" ?T "thm:" "~\\ref{%s}" t ("Satz") nil)
("Definition" ?D "def:" "~\\ref{%s}" t ("Definition" "Def.") nil)
("Remark" ?R "rem:" "~\\ref{%s}" t ("Remark" "Rem.") nil)
("Corollary" ?C "cor:" "~\\ref{%s}" t ("Corollary" "Cor.") nil)
("Example" ?E "expl:" "~\\ref{%s}" t ("Example") nil)))
(add-to-list 'reftex-label-alist label-spec)
(add-to-list 'LaTeX-label-alist (cons (nth 0 label-spec)
(nth 2 label-spec))))))
;; Add completion for cleverrefs reference macros; not clear
;; whether this works as intended
(TeX-add-style-hook
"cleveref"
(lambda ()
(add-to-list 'reftex-ref-style-alist
'("Cleveref" "cleveref"
(("\\cref" ?c) ("\\Cref" ?C)
("\\cpageref" ?d) ("\\Cpageref" ?D))))
(reftex-ref-style-activate "Cleveref")
(TeX-add-symbols
'("cref" TeX-arg-ref)
'("Cref" TeX-arg-ref)
'("cpageref" TeX-arg-ref)
'("Cpageref" TeX-arg-ref))))
;; Language definitions
(add-hook 'TeX-language-de-hook
(lambda () (ispell-change-dictionary "de_DE")))
(add-hook 'TeX-language-en-hook
(lambda () (ispell-change-dictionary "en_US")))
(add-hook 'TeX-mode-hook
(lambda () (setq ispell-parser 'tex)))))
(use-package ebib
:commands (ebib))

View File

@ -1,176 +0,0 @@
;;; db-latex --- TeX and LaTeX specific configuration -*- lexical-binding: t -*-
;;; Commentary:
;;; Code:
;; Setup
(require 'latex)
(require 'tex-buf)
(require 'reftex)
;; Basic configuration
(TeX-engine-set 'default)
(setq-default TeX-auto-save t
TeX-save-query nil
TeX-parse-self t
TeX-master t
TeX-electric-sub-and-superscript t
TeX-electric-math '("$" . "$")
TeX-electric-escape nil
LaTeX-electric-left-right-brace t
LaTeX-fill-break-at-separators nil)
(add-hook 'LaTeX-mode-hook #'turn-on-flyspell)
(add-hook 'LaTeX-mode-hook #'turn-on-visual-line-mode)
(add-hook 'LaTeX-mode-hook #'LaTeX-math-mode)
(add-hook 'LaTeX-mode-hook #'outline-minor-mode)
(add-hook 'LaTeX-mode-hook #'page-break-lines-mode)
(add-hook 'LaTeX-mode-hook #'turn-on-reftex)
(add-hook 'latex-mode-hook #'turn-on-reftex)
(put 'TeX-narrow-to-group 'disabled nil)
(put 'LaTeX-narrow-to-environment 'disabled nil)
(setq TeX-fold-math-spec-list '(("" ("le"))
("" ("ge"))
("" ("notin"))))
(setq TeX-source-correlate-start-server nil)
(setq LaTeX-eqnarray-label "eqn:"
LaTeX-equation-label "eqn:"
LaTeX-figure-label "fig:"
LaTeX-table-label "tab:"
TeX-newline-function 'reindent-then-newline-and-indent
LaTeX-section-hook '(LaTeX-section-heading
LaTeX-section-title
LaTeX-section-section
LaTeX-section-label))
(add-hook 'LaTeX-mode-hook '(lambda ()
(TeX-PDF-mode 1)
(TeX-source-correlate-mode 1)
(TeX-fold-mode 1)))
;; PDF Viewer
(add-to-list 'TeX-view-program-selection
'(output-pdf "Evince"))
;; use pdf-tools when loaded
(with-eval-after-load 'pdf-tools
(add-to-list 'TeX-view-program-selection '(output-pdf "PDF Tools"))
(add-to-list 'TeX-after-compilation-finished-functions
#'TeX-revert-document-buffer))
;; Printer
(add-to-list 'TeX-printer-list '("Remote" "lp-remote %o" "ssh lat lpstat -o"))
(setq TeX-printer-default "Remote")
;; Custom style
(TeX-add-style-hook
"mydefs"
(lambda ()
(TeX-run-style-hooks "etex"
"etoolbox"
"ifthen"
"amsmath"
"amssymb"
"latexsym"
"mathabx"
"stmaryrd"
"verbatim"
"graphicx"
"enumerate"
"array"
"booktabs"
"ulem"
"nicefrac"
"listings"
"microtype"
"tabularx"
"tikz"
"csquotes"
"ntheorem"
"xspace")
(LaTeX-add-environments
'("Exercise" LaTeX-env-label)
'("Theorem" LaTeX-env-label)
'("Proposition" LaTeX-env-label)
'("Lemma" LaTeX-env-label)
'("Corollary" LaTeX-env-label)
'("Remark" LaTeX-env-label)
'("Example" LaTeX-env-label)
'("Definition" LaTeX-env-label)
'("Proof" LaTeX-env-label))
;; https://tex.stackexchange.com/questions/217799/auctex-11-88-bug-on-latex-env-label-cannot-automatically-insert-label
(setf (cadr reftex-insert-label-flags)
(concat (cadr reftex-insert-label-flags) "TLPDRCE"))
(dolist (label-spec '(("Theorem" ?T "thm:" "~\\ref{%s}" t ("Theorem" "Thm.") nil)
("Lemma" ?L "lem:" "~\\ref{%s}" t ("Lemma" "Lem.") nil)
("Proposition" ?P "prop:" "~\\ref{%s}" t ("Proposition" "Prop.") nil)
("Satz" ?T "thm:" "~\\ref{%s}" t ("Satz") nil)
("Definition" ?D "def:" "~\\ref{%s}" t ("Definition" "Def.") nil)
("Remark" ?R "rem:" "~\\ref{%s}" t ("Remark" "Rem.") nil)
("Corollary" ?C "cor:" "~\\ref{%s}" t ("Corollary" "Cor.") nil)
("Example" ?E "expl:" "~\\ref{%s}" t ("Example") nil)))
(add-to-list 'reftex-label-alist label-spec)
(add-to-list 'LaTeX-label-alist (cons (nth 0 label-spec)
(nth 2 label-spec))))))
;; More style definitions
(TeX-add-style-hook
"cleveref"
(lambda ()
(add-to-list 'reftex-ref-style-alist
'("Cleveref" "cleveref"
(("\\cref" ?c) ("\\Cref" ?C)
("\\cpageref" ?d) ("\\Cpageref" ?D))))
(reftex-ref-style-activate "Cleveref")
(TeX-add-symbols
'("cref" TeX-arg-ref)
'("Cref" TeX-arg-ref)
'("cpageref" TeX-arg-ref)
'("Cpageref" TeX-arg-ref))))
;; Language specification
(add-hook 'TeX-language-de-hook
(lambda () (ispell-change-dictionary "de_DE")))
(add-hook 'TeX-language-en-hook
(lambda () (ispell-change-dictionary "en_US")))
(add-hook 'TeX-mode-hook
(lambda () (setq ispell-parser 'tex)))
;; LaTeXMk
(when (require 'auctex-latexmk nil 'no-error)
(auctex-latexmk-setup)
(setq auctex-latexmk-inherit-TeX-PDF-mode t))
;; End
(provide 'db-latex)
;;; db-latex ends here