git.iko.soy/typeable/pandoc
on master help sign in
LaTeX reader: handle escaped & inside table cell.
5ec384eJohn MacFarlane
src/Text/Pandoc/Readers/LaTeX.hs+5−3
@@ -1494,9 +1494,11 @@ parseTableRow :: PandocMonad m
1494 -> [String] -- ^ suffixes
1494 -> [String] -- ^ suffixes
1495 -> LP m [Blocks]
1495 -> LP m [Blocks]
1496parseTableRow cols prefixes suffixes = try $ do
1496parseTableRow cols prefixes suffixes = try $ do
1497− let tableCellRaw = many (notFollowedBy
1497+ let tableCellRaw = concat <$> many
1498− (amp <|> lbreak <|>
1499− (() <$ try (string "\\end"))) >> anyChar)
1498+ (do notFollowedBy (amp <|> lbreak <|> (() <$ try (string "\\end")))
1499+ many1 (noneOf "&%\n\r\\")
1500+ <|> try (string "\\&")
1501+ <|> count 1 anyChar)
1500 let minipage = try $ controlSeq "begin" *> string "{minipage}" *>
1502 let minipage = try $ controlSeq "begin" *> string "{minipage}" *>
1501 env "minipage"
1503 env "minipage"
1502 (skipopts *> spaces' *> optional braced *> spaces' *> blocks)
1504 (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+```