This commit is contained in:
@@ -12,7 +12,8 @@
|
||||
[com.rpl.specter :as sp]
|
||||
[clojure.tools.logging.readable :as lr]
|
||||
[clojure.zip :as z]
|
||||
[com.rpl.specter.zipper :as sz])
|
||||
[com.rpl.specter.zipper :as sz]
|
||||
[clojure.core.match :refer [match]])
|
||||
(:import (java.util UUID))
|
||||
(:refer-clojure :exclude [read-string]))
|
||||
|
||||
@@ -251,17 +252,16 @@
|
||||
[postorder-walker
|
||||
(sp/must :children)]
|
||||
(fn [children]
|
||||
(-> children z/vector-zip
|
||||
(=>> (fn [para-loc]
|
||||
(let [tex-loc (some-> para-loc z/right)
|
||||
next-para (some-> tex-loc z/right)]
|
||||
(when (and (of-type? (z/node para-loc) "paragraph")
|
||||
(some-> tex-loc z/node
|
||||
(of-type? "latex-environment")))
|
||||
(when (separated-by-explicit-paragraph-break?
|
||||
(z/node para-loc) (z/node tex-loc))
|
||||
(swap! r #(conj % (z/node para-loc))))))
|
||||
(z/node para-loc)))))
|
||||
(loop [acc []
|
||||
cs (vec children)]
|
||||
(match cs
|
||||
[(para :guard #(of-type? % "paragraph"))
|
||||
(tex :guard #(of-type? % "latex-environment"))
|
||||
& rest]
|
||||
(recur (conj acc (swallow para tex)) rest)
|
||||
[] acc
|
||||
[c & rest]
|
||||
(recur (conj acc c) rest))))
|
||||
doc)]
|
||||
@r))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user