У меня есть два org-latex-pdf-process
для org-export
и org-ref
. Я хочу, чтобы функция переключала две переменные, но я хочу, чтобы значение для org-export
было значением по умолчанию при запуске. Я написал:
(setq org-latex-pdf-process
'("xelatex -interaction nonstopmode %f"
"xelatex -interaction nonstopmode %f")) ;; for multiple passes
(defvar org-latex-pdf-process-tag 1 "Tag of org-latex-pdf-process.")
(defun toggle-org-latex-pdf-process ()
(interactive)
(cond
((= org-latex-pdf-process-tag 1)
(setq org-latex-pdf-process
'("xelatex -interaction nonstopmode -output-directory %o %f"
"bibtex %b"
"xelatex -interaction nonstopmode -output-directory %o %f"
"xelatex -interaction nonstopmode -output-directory %o %f"))
(message "Changed for org-ref!")
(setq org-latex-pdf-process-tag 2))
((= org-latex-pdf-process-tag 2)
(setq org-latex-pdf-process
'("xelatex -interaction nonstopmode %f"
"xelatex -interaction nonstopmode %f")) ;; for multiple passes
(message "Changed for xelatex!")
(setq org-latex-pdf-process-tag 1))))
Это работает, но выглядит как-то избыточно. Поэтому я хочу спросить, есть ли какой-нибудь способ сделать его компактным, например, с использованием вспомогательного режима и т. Д.