lang/latex: replace viewer flags with variable

The +zathura, +skim, +okular and +pdf-tools module flags have been
removed in favor of +latex-viewers, which takes a list of symbols. Its
order determines the priority. The first viewer found on your system is
used.

If none of these viewers are found, it will fall back to
latex-preview-pane.
This commit is contained in:
Henrik Lissner 2018-07-30 01:05:56 +02:00
parent c96c2aa7fb
commit 2e6c362df9
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
3 changed files with 45 additions and 33 deletions

View file

@ -1,16 +0,0 @@
;;; lang/latex/+preview-pane.el -*- lexical-binding: t; -*-
;;;###if (featurep! +preview-pane)
(def-package! latex-preview-pane
:when (featurep! +preview-pane)
:hook (LaTeX-mode . latex-preview-pane-enable)
:commands latex-preview-pane-mode
:init
(setq latex-preview-pane-multifile-mode 'auctex)
:config
(add-to-list 'TeX-view-program-list '("preview-pane" latex-preview-pane-mode))
(add-to-list 'TeX-view-program-selection '(output-pdf "preview-pane"))
(define-key! doc-view-mode-map
(kbd "ESC") #'delete-window
"q" #'delete-window
"k" (λ! (quit-window) (delete-window))))

View file

@ -1,22 +1,43 @@
;;; lang/latex/+viewers.el -*- lexical-binding: t; -*- ;;; lang/latex/+viewers.el -*- lexical-binding: t; -*-
(when (featurep! +okular) (cl-block nil
;; Configure Okular as viewer. Including a bug fix (dolist (viewer (reverse +latex-viewers))
;; (https://bugs.kde.org/show_bug.cgi?id=373855) (if (pcase viewer
(add-to-list 'TeX-view-program-list '("Okular" ("okular --unique file:%o" (mode-io-correlate "#src:%n%a")))) (`skim
(add-to-list 'TeX-view-program-selection '(output-pdf "Okular"))) (when (and IS-MAC
(file-exists-p! (or "/Applications/Skim.app"
"~/Applications/Skim.app")))
(add-to-list 'TeX-view-program-selection '(output-pdf "Skim"))))
;; Or Skim (`okular
(when (featurep! +skim) (when (executable-find "okular")
(add-to-list 'TeX-view-program-selection 'output-pdf '("Skim"))) ;; Configure Okular as viewer. Including a bug fix
;; (https://bugs.kde.org/show_bug.cgi?id=373855)
(add-to-list 'TeX-view-program-list '("Okular" ("okular --unique file:%o" (mode-io-correlate "#src:%n%a"))))
(add-to-list 'TeX-view-program-selection '(output-pdf "Okular"))))
;; Or Zathura (`zathura
(when (featurep! +zathura) (when (executable-find "zathura")
(add-to-list 'TeX-view-program-selection '(output-pdf "Zathura"))) (add-to-list 'TeX-view-program-selection '(output-pdf "Zathura"))))
(`pdf-tools
(when (featurep! :tools pdf)
(add-to-list 'TeX-view-program-selection '(output-pdf "PDF Tools"))
;; Update PDF buffers after successful LaTeX runs
(add-hook 'TeX-after-compilation-finished-function #'TeX-revert-document-buffer))))
(cl-return t)))
;; fall back to latex-preview-pane
(add-to-list 'TeX-view-program-list '("preview-pane" latex-preview-pane-mode))
(add-to-list 'TeX-view-program-selection '(output-pdf "preview-pane")))
(after! latex-preview-pane
(setq latex-preview-pane-multifile-mode 'auctex)
(define-key! doc-view-mode-map
(kbd "ESC") #'delete-window
"q" #'delete-window
"k" (λ! (quit-window) (delete-window))))
;; Or PDF-tools, but only if the module is also loaded
(when (and (featurep! :tools pdf)
(featurep! +pdf-tools))
(add-to-list 'TeX-view-program-selection '(output-pdf "PDF Tools"))
;; Update PDF buffers after successful LaTeX runs
(add-hook 'TeX-after-compilation-finished-function #'TeX-revert-document-buffer))

View file

@ -11,6 +11,13 @@
enabling unicode symbols in math regions. This requires the unicode-math latex enabling unicode symbols in math regions. This requires the unicode-math latex
package to be installed.") package to be installed.")
(defconst +latex-viewers `(skim zathura okular pdf-tools)
"A list of enabled latex viewers to use, in this order. If they don't exist,
they will be ignored. Recognized viewers are skim, zathura, okular and
pdf-tools.
If no viewers are found, `latex-preview-pane' is used.")
;; ;;
(defvar +latex--company-backends nil) (defvar +latex--company-backends nil)