@@ -51,6 +51,7 @@ import System.FilePath (replaceExtension, (</>))
51import Data.List (intercalate)
51import Data.List (intercalate)
52import qualified Data.Map as M
52import qualified Data.Map as M
53import qualified Control.Exception as E
53import qualified Control.Exception as E
54+import System.FilePath (takeExtension, addExtension)
55-- | Parse LaTeX from string and return 'Pandoc' document.
56-- | Parse LaTeX from string and return 'Pandoc' document.
56readLaTeX :: ReaderOptions -- ^ Reader options
57readLaTeX :: ReaderOptions -- ^ Reader options
@@ -430,8 +431,7 @@ inlineCommands = M.fromList $
430 , ("href", (unescapeURL <$> braced <* optional sp) >>= \url ->
431 , ("href", (unescapeURL <$> braced <* optional sp) >>= \url ->
431 tok >>= \lab ->
432 tok >>= \lab ->
432 pure (link url "" lab))
433 pure (link url "" lab))
433− , ("includegraphics", skipopts *> (unescapeURL <$> braced) >>=
434+ , ("includegraphics", skipopts *> (unescapeURL <$> braced) >>= mkImage)
434− (\src -> pure (image src "" (str "image"))))
435 , ("enquote", enquote)
435 , ("enquote", enquote)
436 , ("cite", citation "cite" AuthorInText False)
436 , ("cite", citation "cite" AuthorInText False)
437 , ("citep", citation "citep" NormalCitation False)
437 , ("citep", citation "citep" NormalCitation False)
@@ -488,6 +488,14 @@ inlineCommands = M.fromList $
488 -- in which case they will appear as raw latex blocks:
488 -- in which case they will appear as raw latex blocks:
489 [ "noindent", "index", "nocite" ]
489 [ "noindent", "index", "nocite" ]
491+mkImage :: String -> LP Inlines
493+ case takeExtension src of
495+ defaultExt <- getOption readerDefaultImageExtension
496+ return $ image (addExtension src defaultExt) "" (str "image")
497+ _ -> return $ image src "" (str "image")
491inNote :: Inlines -> Inlines
499inNote :: Inlines -> Inlines
492inNote ils =
500inNote ils =
493 note $ para $ ils <> str "."
501 note $ para $ ils <> str "."