@@ -286,6 +286,12 @@ rawLaTeXBlock :: (PandocMonad m, HasMacros s, HasReaderOptions s)
286rawLaTeXBlock = do
286rawLaTeXBlock = do
287 lookAhead (try (char '\\' >> letter))
287 lookAhead (try (char '\\' >> letter))
288 snd <$> (rawLaTeXParser False macroDef blocks
288 snd <$> (rawLaTeXParser False macroDef blocks
289+ <|> (rawLaTeXParser True
290+ (do choice (map controlSeq
291+ ["include", "input", "subfile", "usepackage"])
294+ return mempty) blocks)
289 <|> rawLaTeXParser True
295 <|> rawLaTeXParser True
290 (environment <|> blockCommand)
296 (environment <|> blockCommand)
291 (mconcat <$> (many (block <|> beginOrEndCommand))))
297 (mconcat <$> (many (block <|> beginOrEndCommand))))
@@ -308,7 +314,10 @@ rawLaTeXInline :: (PandocMonad m, HasMacros s, HasReaderOptions s)
308 => ParserT String s m String
314 => ParserT String s m String
309rawLaTeXInline = do
315rawLaTeXInline = do
310 lookAhead (try (char '\\' >> letter))
316 lookAhead (try (char '\\' >> letter))
317+ snd <$> ( rawLaTeXParser True
318+ (mempty <$ (controlSeq "input" >> skipMany opt >> braced))
311− snd <$> rawLaTeXParser True (inlineEnvironment <|> inlineCommand') inlines
320+ <|> rawLaTeXParser True (inlineEnvironment <|> inlineCommand') inlines)
313inlineCommand :: PandocMonad m => ParserT String ParserState m Inlines
322inlineCommand :: PandocMonad m => ParserT String ParserState m Inlines
314inlineCommand = do
323inlineCommand = do