@@ -1749,10 +1749,21 @@ closing = do
17491749 _ -> mempty
17501750 return $ para (trimInlines contents) <> sigs
17511751
1752+parbox :: PandocMonad m => LP m Blocks
1753+parbox = try $ do
1754+ skipopts
1755+ braced -- size
1756+ oldInTableCell <- sInTableCell <$> getState
1757+ -- see #5711
1758+ updateState $ \st -> st{ sInTableCell = False }
1759+ res <- grouped blocks
1760+ updateState $ \st -> st{ sInTableCell = oldInTableCell }
1761+ return res
1762+
17521763blockCommands :: PandocMonad m => M.Map Text (LP m Blocks)
17531764blockCommands = M.fromList
17541765 [ ("par", mempty <$ skipopts)
1755− , ("parbox", skipopts >> braced >> grouped blocks)
1766+ , ("parbox", parbox)
17561767 , ("title", mempty <$ (skipopts *>
17571768 (grouped inline >>= addMeta "title")
17581769 <|> (grouped block >>= addMeta "title")))
@@ -2269,9 +2280,13 @@ parseTableRow envname prefsufs = do
22692280 -- add prefixes and suffixes in token stream:
22702281 let celltoks (pref, suff) = do
22712282 prefpos <- getPosition
2272− contents <- many (notFollowedBy
2283+ contents <- mconcat <$>
2284+ many ( snd <$> withRaw (controlSeq "parbox" >> parbox) -- #5711
2285+ <|>
2286+ (do notFollowedBy
22732287 (() <$ amp <|> () <$ lbreak <|> end_ envname)
2274− >> anyTok)
2288+ count 1 anyTok) )
2289+
22752290 suffpos <- getPosition
22762291 option [] (count 1 amp)
22772292 return $ map (setpos prefpos) pref ++ contents ++ map (setpos suffpos) suff