aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2017-12-28 08:38:42 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2017-12-28 08:41:53 -0800
commit3c93ac5cf0995cc2dd8bb5775029da550af61e0d (patch)
tree68066286569a2d73d8bc1b168db6fdc7fe8d1d2d
parent2278cd5e772a9b8858b91c336c043a696480d25f (diff)
downloadpandoc-3c93ac5cf0995cc2dd8bb5775029da550af61e0d.tar.gz
LaTeX reader: be more tolerant of `&` character.
This allows us to parse unknown tabular environments as raw LaTeX. Closes #4208.
-rw-r--r--src/Text/Pandoc/Readers/LaTeX.hs2
-rw-r--r--test/command/4208.md18
2 files changed, 19 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Readers/LaTeX.hs b/src/Text/Pandoc/Readers/LaTeX.hs
index 6c5567ffd..e0972bb6c 100644
--- a/src/Text/Pandoc/Readers/LaTeX.hs
+++ b/src/Text/Pandoc/Readers/LaTeX.hs
@@ -1726,7 +1726,7 @@ inline = (mempty <$ comment)
<|> (guardEnabled Ext_literate_haskell *> symbol '|' *> doLHSverb)
<|> (str . (:[]) <$> primEscape)
<|> regularSymbol
- <|> (do res <- symbolIn "#^'`\"[]"
+ <|> (do res <- symbolIn "#^'`\"[]&"
pos <- getPosition
let s = T.unpack (untoken res)
report $ ParsingUnescaped s pos
diff --git a/test/command/4208.md b/test/command/4208.md
new file mode 100644
index 000000000..9bc519d90
--- /dev/null
+++ b/test/command/4208.md
@@ -0,0 +1,18 @@
+```
+% pandoc -t latex
+What is a _piffle_? Mark the correct answer(s):
+
+\begin{TAB}(@)[6pt]{|l|c|}{|c|c|c|}
+(a) a subnormal woffle & $\Box$ \\
+(b) an infinite-dimensional baffle & $\Box$ \\
+(c) an inverted first-order triffle & $\Box$ \\
+\end{TAB}
+^D
+What is a \emph{piffle}? Mark the correct answer(s):
+
+\begin{TAB}(@)[6pt]{|l|c|}{|c|c|c|}
+(a) a subnormal woffle & $\Box$ \\
+(b) an infinite-dimensional baffle & $\Box$ \\
+(c) an inverted first-order triffle & $\Box$ \\
+\end{TAB}
+```