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:
parent
c96c2aa7fb
commit
2e6c362df9
3 changed files with 45 additions and 33 deletions
|
@ -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))))
|
|
@ -1,22 +1,43 @@
|
|||
;;; lang/latex/+viewers.el -*- lexical-binding: t; -*-
|
||||
|
||||
(when (featurep! +okular)
|
||||
;; 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")))
|
||||
(cl-block nil
|
||||
(dolist (viewer (reverse +latex-viewers))
|
||||
(if (pcase viewer
|
||||
(`skim
|
||||
(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
|
||||
(when (featurep! +skim)
|
||||
(add-to-list 'TeX-view-program-selection 'output-pdf '("Skim")))
|
||||
(`okular
|
||||
(when (executable-find "okular")
|
||||
;; 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
|
||||
(when (featurep! +zathura)
|
||||
(add-to-list 'TeX-view-program-selection '(output-pdf "Zathura")))
|
||||
(`zathura
|
||||
(when (executable-find "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))
|
||||
|
|
|
@ -11,6 +11,13 @@
|
|||
enabling unicode symbols in math regions. This requires the unicode-math latex
|
||||
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)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue