From 3c93ac5cf0995cc2dd8bb5775029da550af61e0d Mon Sep 17 00:00:00 2001
From: John MacFarlane <jgm@berkeley.edu>
Date: Thu, 28 Dec 2017 08:38:42 -0800
Subject: [PATCH] LaTeX reader: be more tolerant of `&` character.

This allows us to parse unknown tabular environments
as raw LaTeX.  Closes #4208.
---
 src/Text/Pandoc/Readers/LaTeX.hs |  2 +-
 test/command/4208.md             | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)
 create mode 100644 test/command/4208.md

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}
+```