git.iko.soy/typeable/pandoc
on master help sign in
LaTeX reader: handle escaped & inside table cell.

Closes #3708.

commit5ec384eb60a4d32a83e94eec041020004dff96ce authorJohn MacFarlane <jgm@berkeley.edu> dateMon 29 May 2017, 22:45 (9 years ago) parent230a1b8
2 files changed+20−3
src/Text/Pandoc/Readers/LaTeX.hs+5−3 test/command/3708.md+15
src/Text/Pandoc/Readers/LaTeX.hs+5−3
@@ -1494,9 +1494,11 @@ parseTableRow :: PandocMonad m
14941494 -> [String] -- ^ suffixes
14951495 -> LP m [Blocks]
14961496parseTableRow cols prefixes suffixes = try $ do
1497− let tableCellRaw = many (notFollowedBy
1498− (amp <|> lbreak <|>
1499− (() <$ try (string "\\end"))) >> anyChar)
1497+ let tableCellRaw = concat <$> many
1498+ (do notFollowedBy (amp <|> lbreak <|> (() <$ try (string "\\end")))
1499+ many1 (noneOf "&%\n\r\\")
1500+ <|> try (string "\\&")
1501+ <|> count 1 anyChar)
15001502 let minipage = try $ controlSeq "begin" *> string "{minipage}" *>
15011503 env "minipage"
15021504 (skipopts *> spaces' *> optional braced *> spaces' *> blocks)
test/command/3708.mdnew file+15
@@ -0,0 +1,15 @@
1+```
2+% pandoc -f latex -t native
3+\begin{tabular}{cc}
4+ A & B\&1 \\
5+ C & D
6+\end{tabular}
7+^D
8+[Table [] [AlignCenter,AlignCenter] [0.0,0.0]
9+ [[]
10+ ,[]]
11+ [[[Plain [Str "A"]]
12+ ,[Plain [Str "B&1"]]]
13+ ,[[Plain [Str "C"]]
14+ ,[Plain [Str "D"]]]]]
15+```