lang/latex: general refactor

This commit is contained in:
Henrik Lissner 2018-07-30 02:38:42 +02:00
parent 2e6c362df9
commit 14f4e4384a
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
4 changed files with 42 additions and 49 deletions

View file

@ -2,8 +2,7 @@
;; Fontification taken from https://tex.stackexchange.com/a/86119/81279
(setq font-latex-match-reference-keywords
'(
;; biblatex
'(;; biblatex
("printbibliography" "[{")
("addbibresource" "[{")
;; Standard commands
@ -64,8 +63,7 @@
("labelcref" "{")))
(setq font-latex-match-textual-keywords
'(
;; biblatex brackets
'(;; biblatex brackets
("parentext" "{")
("brackettext" "{")
("hybridblockquote" "[{")
@ -78,8 +76,7 @@
("subcaption" "[{")))
(setq font-latex-match-variable-keywords
'(
;; amsmath
'(;; amsmath
("numberwithin" "{")
;; enumitem
("setlist" "[{")

View file

@ -1,13 +0,0 @@
;;; lang/latex/+latexmk.el -*- lexical-binding: t; -*-
;;;###if (featurep! +latexmk)
(def-package! auctex-latexmk
:after latex
:init
;; Pass the -pdf flag when TeX-PDF-mode is active
(setq auctex-latexmk-inherit-TeX-PDF-mode t)
;; Set LatexMk as the default
(setq-hook! LaTeX-mode TeX-command-default "LatexMk")
:config
;; Add latexmk as a TeX target
(auctex-latexmk-setup))

View file

@ -18,7 +18,7 @@
(?t . "\\textcite[]{%l}"))
reftex-plug-into-AUCTeX t
reftex-toc-split-windows-fraction 0.3)
(unless (string-empty-p +latex-bibtex-file)
(unless +latex-bibtex-file
(setq reftex-default-bibliography (list (expand-file-name +latex-bibtex-file))))
(map! :map reftex-mode-map
:localleader :n ";" 'reftex-toc)
@ -38,7 +38,5 @@
(define-key bibtex-mode-map (kbd "C-c \\") #'bibtex-fill-entry))
(after! bibtex-completion
(unless (string-empty-p +latex-bibtex-file)
(unless +latex-bibtex-file
(setq bibtex-completion-bibliography (list (expand-file-name +latex-bibtex-file)))))

View file

@ -3,7 +3,7 @@
(defvar +latex-indent-level-item-continuation 4
"Custom indentation level for items in enumeration-type environments")
(defvar +latex-bibtex-file ""
(defvar +latex-bibtex-file nil
"File AUCTeX (specifically RefTeX) uses to search for citations.")
(defvar +latex-enable-unicode-math nil
@ -33,10 +33,6 @@ If no viewers are found, `latex-preview-pane' is used.")
:mode ("\\.tex\\'" . TeX-latex-mode)
:hook (TeX-mode . visual-line-mode)
:config
;; fontify common latex commands
(load! "+fontification")
;; select viewer
(load! "+viewers")
(setq TeX-parse-self t ;; parse on load
TeX-auto-save t ;; parse on save
;; use hidden dirs for auctex files
@ -48,28 +44,34 @@ If no viewers are found, `latex-preview-pane' is used.")
TeX-source-correlate-start-server nil
;; automatically insert braces after sub/superscript in math mode
TeX-electric-sub-and-superscript t)
;; fontify common latex commands
(load! "+fontification")
;; select viewer
(load! "+viewers")
;; prompt for master
(setq-default TeX-master nil)
;; set-up chktex
(setcar (cdr (assoc "Check" TeX-command-list)) "chktex -v6 -H %s")
;; tell emacs how to parse tex files
(add-hook! 'tex-mode-hook (setq ispell-parser 'tex))
(setq-hook! 'TeX-mode-hook ispell-parser 'tex)
;; Enable word wrapping
(add-hook 'TeX-mode-hook #'visual-line-mode)
;; Fold TeX macros
(add-hook 'TeX-mode-hook #'TeX-fold-mode)
;; display output of latex commands in popup
(set-popup-rule! " output\\*$" :size 15)
;; Do not prompt for Master files, this allows auto-insert to add templates to
;; .tex files
(add-hook! 'TeX-mode-hook (remove-hook 'find-file-hook
(cl-find-if #'byte-code-function-p find-file-hook)
'local))
(add-hook! 'TeX-mode-hook
;; Necessary because it is added as an anonymous, byte-compiled function
(remove-hook 'find-file-hook
(cl-find-if #'byte-code-function-p find-file-hook)
'local))
;; Enable rainbow mode after applying styles to the buffer
(add-hook 'TeX-update-style-hook #'rainbow-delimiters-mode)
(add-hook 'TeX-mode-hook #'visual-line-mode)
(when (featurep! :feature spellcheck)
(add-hook 'TeX-mode-hook #'flyspell-mode :append)))
; Fold TeX macros
(def-package! tex-fold
:hook (TeX-mode . TeX-fold-mode))
(after! latex
(setq LaTeX-section-hook ; Add the toc entry to the sectioning hooks.
@ -86,7 +88,7 @@ If no viewers are found, `latex-preview-pane' is used.")
(dolist (env '("itemize" "enumerate" "description"))
(add-to-list 'LaTeX-indent-environment-list `(,env +latex/LaTeX-indent-item))))
;; set-up preview package
(def-package! preview
:hook (LaTeX-mode . LaTeX-preview-setup)
:config
@ -94,6 +96,26 @@ If no viewers are found, `latex-preview-pane' is used.")
preview-scale-function
(lambda () (* (/ 10.0 (preview-document-pt)) preview-scale))))
;; Nicely indent lines that have wrapped when visual line mode is activated
(def-package! adaptive-wrap
:hook (LaTeX-mode . adaptive-wrap-prefix-mode)
:init (setq-default adaptive-wrap-extra-indent 0))
(def-package! auctex-latexmk
:when (featurep! +latexmk)
:after latex
:init
;; Pass the -pdf flag when TeX-PDF-mode is active
(setq auctex-latexmk-inherit-TeX-PDF-mode t)
;; Set LatexMk as the default
(setq-hook! LaTeX-mode TeX-command-default "LatexMk")
:config
;; Add latexmk as a TeX target
(auctex-latexmk-setup))
(def-package! company-auctex
:when (featurep! :completion company)
:defer t
@ -107,17 +129,6 @@ If no viewers are found, `latex-preview-pane' is used.")
:init
(add-to-list '+latex--company-backends #'+latex-symbols-company-backend nil #'eq))
;; Nicely indent lines that have wrapped when visual line mode is activated
(def-package! adaptive-wrap
:hook (LaTeX-mode . adaptive-wrap-prefix-mode)
:init (setq-default adaptive-wrap-extra-indent 0))
;; referencing + bibtex setup
;; bibtex + reftex
(load! "+ref")
;;
;; Sub-modules
;;
(if (featurep! +latexmk) (load! "+latexmk"))
(if (featurep! +preview-pane) (load! "+preview-pane"))