@@ -216,10 +216,14 @@ type LP m = ParserT [Tok] LaTeXState m
216216
217217withVerbatimMode :: PandocMonad m => LP m a -> LP m a
218218withVerbatimMode parser = do
219− updateState $ \st -> st{ sVerbatimMode = True }
220− result <- parser
221− updateState $ \st -> st{ sVerbatimMode = False }
222− return result
219+ alreadyVerbatimMode <- sVerbatimMode <$> getState
220+ if alreadyVerbatimMode
221+ then parser
222+ else do
223+ updateState $ \st -> st{ sVerbatimMode = True }
224+ result <- parser
225+ updateState $ \st -> st{ sVerbatimMode = False }
226+ return result
223227
224228rawLaTeXParser :: (PandocMonad m, HasMacros s, HasReaderOptions s)
225229 => Bool -> LP m a -> LP m a -> ParserT String s m (a, String)