blob: 5fc1a68fcce5ba150e95cf7cb3bebd383bb9e202 (
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
|
(setq reftex-default-bibliography '("refs.bib"))
(setq font-latex-fontify-sectioning 'color
TeX-electric-math '("$" . "$"))
(put 'LaTeX-narrow-to-environment 'disabled nil)
(add-to-list 'auto-mode-alist '("\\.[tT]e[xX]\\'" . latex-mode))
(add-hook 'LaTeX-mode-hook 'turn-on-reftex)
(add-hook 'LaTeX-mode-hook (lambda ()
(setq imenu-create-index-function
#'km/latex-imenu-create-index-function)))
(defun km/latex-imenu-create-index-function ()
;; See `LaTeX-imenu-create-index-function'.
(TeX-update-style)
(let ((sec-re (LaTeX-outline-regexp))
(title-re "\\*\\{0,1\\}{\\([^}]+\\)}")
entries)
(goto-char (point-min))
(while (re-search-forward sec-re nil t)
(let ((sec (replace-regexp-in-string
"\\\\" "" (match-string-no-properties 0)))
(title (and (looking-at title-re)
(replace-regexp-in-string
"\\s-\\s-+" " "
(replace-regexp-in-string
"\n" "" (match-string-no-properties 1))))))
(when (> (length title) 45)
(setf (substring title 21 -21) "..."))
(push (cons (if title (format "%s (%s)" title sec) sec)
(save-excursion (beginning-of-line) (point-marker)))
entries)))
(nreverse entries)))
(provide 'init-tex)
|