git.iko.soy/typeable/pandoc
on master help sign in
LaTeX reader: don't limit includes to .tex extension.
d90dc6bJohn MacFarlane
src/Text/Pandoc/Readers/LaTeX.hs+8−2
@@ -898,6 +898,12 @@ backslash' = string "\\"
898braced' :: IncludeParser
898braced' :: IncludeParser
899braced' = try $ char '{' *> manyTill (satisfy (/='}')) (char '}')
899braced' = try $ char '{' *> manyTill (satisfy (/='}')) (char '}')
900
900
901+maybeAddExtension :: String -> FilePath -> FilePath
902+maybeAddExtension ext fp =
903+ if null (takeExtension fp)
904+ then addExtension fp ext
905+ else fp
906+
901include' :: IncludeParser
907include' :: IncludeParser
902include' = do
908include' = do
903 fs' <- try $ do
909 fs' <- try $ do
@@ -909,8 +915,8 @@ include' = do
909 skipMany $ try $ char '[' *> (manyTill anyChar (char ']'))
915 skipMany $ try $ char '[' *> (manyTill anyChar (char ']'))
910 fs <- (map trim . splitBy (==',')) <$> braced'
916 fs <- (map trim . splitBy (==',')) <$> braced'
911 return $ if name == "usepackage"
917 return $ if name == "usepackage"
912− then map (flip replaceExtension ".sty") fs
918+ then map (maybeAddExtension ".sty") fs
913− else map (flip replaceExtension ".tex") fs
919+ else map (maybeAddExtension ".tex") fs
914 pos <- getPosition
920 pos <- getPosition
915 containers <- getState
921 containers <- getState
916 let fn = case containers of
922 let fn = case containers of