forked from mirrors/org-mode
org-latex-preview: Graceful precompile failure
* lisp/org-latex-preview.el (org-latex-preview-precompile, org-latex-preview--create-tex-file): Fall back to compiling without using a preamble format file if the preamble could not be precompiled without error. In such an event, alert the user that preamble precompilation failed, and in particular let them know if mylatexformat could not be found.
This commit is contained in:
parent
b9e0db41ce
commit
ab107da60e
|
@ -946,10 +946,10 @@ The path of the created LaTeX file is returned."
|
|||
org-latex-preview-preamble 'snippet))
|
||||
"\n\\usepackage[active,tightpage,auctex]{preview}\n")))
|
||||
(with-temp-file tex-temp-name
|
||||
(insert (if org-latex-preview-use-precompilation
|
||||
(concat "%&"
|
||||
(org-latex-preview-precompile
|
||||
processing-info header))
|
||||
(insert (if-let ((format-file
|
||||
(and org-latex-preview-use-precompilation
|
||||
(org-latex-preview-precompile processing-info header))))
|
||||
(concat "%&" format-file)
|
||||
header))
|
||||
(insert "\n\\begin{document}\n")
|
||||
(dolist (fragment-info fragments)
|
||||
|
@ -1379,15 +1379,41 @@ process."
|
|||
(header-base-file
|
||||
(expand-file-name header-hash temporary-file-directory))
|
||||
(dump-file (concat header-base-file ".fmt"))
|
||||
(header-file (concat header-base-file ".tex")))
|
||||
(header-file (concat header-base-file ".tex"))
|
||||
(precompile-buffer
|
||||
(with-current-buffer
|
||||
(get-buffer-create "*Org Preview Preamble Precompilation*")
|
||||
(erase-buffer)
|
||||
(current-buffer))))
|
||||
(if (file-exists-p dump-file)
|
||||
(file-name-base header-base-file)
|
||||
(with-temp-file header-file
|
||||
(insert header "\n\\endofdump\n"))
|
||||
(file-name-base
|
||||
(org-compile-file
|
||||
header-file (plist-get processing-info :latex-precompiler)
|
||||
"fmt")))))
|
||||
(message "Precompiling Org LaTeX Preview preamble...")
|
||||
(condition-case file
|
||||
(file-name-base
|
||||
(org-compile-file
|
||||
header-file (plist-get processing-info :latex-precompiler)
|
||||
"fmt" nil precompile-buffer))
|
||||
(:success (kill-buffer precompile-buffer)
|
||||
file)
|
||||
(error
|
||||
(unless (= 0 (call-process "kpsewhich" nil nil nil "mylatexformat.ltx"))
|
||||
(display-warning
|
||||
'(org latex-preview preamble-precompilation)
|
||||
"The LaTeX package \"mylatexformat\" is required for precompilation, but could not be found")
|
||||
:warning)
|
||||
(unless (= 0 (call-process "kpsewhich" nil nil nil "preview.sty"))
|
||||
(display-warning
|
||||
'(org latex-preview preamble-precompilation)
|
||||
"The LaTeX package \"preview\" is required for precompilation, but could not be found")
|
||||
:warning)
|
||||
(display-warning
|
||||
'(org latex-preview preamble-precompilation)
|
||||
(format "Failed to precompile preamble, see the \"%s\" buffer."
|
||||
precompile-buffer)
|
||||
:warning)
|
||||
nil)))))
|
||||
|
||||
(defun org-latex-preview--tex-styled (processing-type value options &optional html-p)
|
||||
"Apply LaTeX style commands to VALUE based on OPTIONS.
|
||||
|
|
Loading…
Reference in New Issue