diff --git a/doerg/resources/net/deertopia/doerg/preview-template.tex b/doerg/resources/net/deertopia/doerg/preview-template.tex index 9ecc15a..b250e4b 100644 --- a/doerg/resources/net/deertopia/doerg/preview-template.tex +++ b/doerg/resources/net/deertopia/doerg/preview-template.tex @@ -4,6 +4,8 @@ \usepackage{fontspec} \usepackage{ifxetex} \usepackage{syd-plex} +\usepackage{quiver} +\usepackage{tikz-cd} \begin{document} \setlength\abovedisplayskip{0pt} diff --git a/doerg/src/net/deertopia/doerg/render.clj b/doerg/src/net/deertopia/doerg/render.clj index e415548..8e2eb06 100644 --- a/doerg/src/net/deertopia/doerg/render.clj +++ b/doerg/src/net/deertopia/doerg/render.clj @@ -143,7 +143,7 @@ #(element/of-keyword-type? % "LATEX_HEADER") (sp/view :value)]))) -(defn timeout-snippet-promises [snippet-promises fut] +(defn- timeout-snippet-promises [snippet-promises fut] ;; Time out after eight seconds. With all the LaTeX and IPC, there ;; are so many opportunities for things to go wrong > tex - read-and-patch-generated-svg - hiccup/raw - (deliver p)))) - (deliver p (hiccup/raw temml)))) + (->> (if (temml/erroneous-output? temml) + (let [tex (get @rendered-snippets snippet)] + (if (:errors tex) + temml + (read-and-patch-generated-svg tex))) + temml) + hiccup/raw (deliver p))) (catch Exception e (l/error e "Error in TeX thread") (throw e)))))))