aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2019-11-07 23:08:05 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2019-11-07 23:08:05 -0800
commit3bf53628984a91d9456d40b1202e9d15f1ad3088 (patch)
treea4a829aa509bcc8b25afbbe8117a82944dc60304
parentb44a4c803ef16fe13fcc886dc5da93999beb169e (diff)
downloadpandoc-3bf53628984a91d9456d40b1202e9d15f1ad3088.tar.gz
DocBook reader: Fix bug with entities in mathphrase element.
Closes #5885.
-rw-r--r--src/Text/Pandoc/Readers/DocBook.hs6
-rw-r--r--test/command/5885.md20
2 files changed, 22 insertions, 4 deletions
diff --git a/src/Text/Pandoc/Readers/DocBook.hs b/src/Text/Pandoc/Readers/DocBook.hs
index 4ea5f6657..3f44f83f8 100644
--- a/src/Text/Pandoc/Readers/DocBook.hs
+++ b/src/Text/Pandoc/Readers/DocBook.hs
@@ -1109,12 +1109,10 @@ equation e constructor =
$ filterChildren childPredicate e
)
--- | Get the actual text stored in a verbatim CData block. 'showContent'
+-- | Get the actual text stored in a CData block. 'showContent'
-- returns the text still surrounded by the [[CDATA]] tags.
---
--- Returns 'showContent' if this is not a verbatim CData
showVerbatimCData :: Content -> String
-showVerbatimCData (Text (CData CDataVerbatim d _)) = d
+showVerbatimCData (Text (CData _ d _)) = d
showVerbatimCData c = showContent c
-- | Set the prefix of a name to 'Nothing'
diff --git a/test/command/5885.md b/test/command/5885.md
new file mode 100644
index 000000000..451929b5b
--- /dev/null
+++ b/test/command/5885.md
@@ -0,0 +1,20 @@
+```
+% pandoc -f docbook -t latex
+<equation>
+ <mathphrase>
+ J(x, y) = \left\{ \begin{array}{ll}
+ 0 &amp; \text{if $I(x, y) &lt; t$} \\
+ 1 &amp; \text{if $I(x, y) \ge t$}
+ \end{array}
+ \right.
+ </mathphrase>
+</equation>
+^D
+\[
+ J(x, y) = \left\{ \begin{array}{ll}
+ 0 & \text{if $I(x, y) < t$} \\
+ 1 & \text{if $I(x, y) \ge t$}
+ \end{array}
+ \right.
+ \]
+```