summaryrefslogtreecommitdiff
path: root/modules/latex-config.el
blob: bb4cf510f0a6010f15751bb45560bdc97e91a71b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
;;; latex-config --- Setup for LaTeX and Related Software -*- lexical-binding: t; coding: utf-8; -*-
;; author Craig Jennings <c@cjennings.net>

;;; Commentary:
;;
;; WORKFLOW:
;;
;; Opening any tex file will put you into LaTeX mode.
;;
;; C-c C-m to enter macros
;; C-c C-e to enter environment
;;
;; C-c C-c to compile a tex document using latexmk
;; C-c C-v to view the resulting pdf
;;
;;; Code:

;; ----------------------------- Auctex And Related ----------------------------

(use-package tex
  :ensure auctex
  :defer t
  :hook
  (TeX-mode-hook . (lambda () (setq TeX-command-default "latexmk"))) ; use latexmk by default
  (LaTeX-mode    . (lambda () (TeX-fold-mode 1)))                    ; automatically activate TeX-fold-mode.
  (LaTeX-mode    . flyspell-mode)                               ; turn on flyspell-mode by default
  (LaTeX-mode    . TeX-PDF-mode)
  (LaTeX-mode . (lambda () (push (list 'output-pdf "Zathura") TeX-view-program-selection)))
  :mode
  ("\\.tex\\'" . latex-mode)
  :config
  (setq TeX-auto-save t)       ; auto save style info when saving buffer
  (setq TeX-parse-self t)      ; parse file after loading if it has no style hook
  (setq TeX-save-query nil)    ; don't ask to save files before starting TeX
  (setq TeX-PDF-mode t)        ; compile to PDF mode, rather than DVI
  (setq-default TeX-master t)) ; Assume the file is the master file itself

(use-package auctex-latexmk
  :defer t
  :config
  (auctex-latexmk-setup)
  (setq auctex-latexmk-inherit-TeX-PDF-mode t))

(use-package company-auctex
  :after tex
  :init (company-auctex-init))

;; ----------------------------- Graphviz Dot Mode -----------------------------

(use-package graphviz-dot-mode
  :defer t
  :config
  (setq graphviz-dot-indent-width 4))

(provide 'latex-config)
;;; latex-config.el ends here