diff options
Diffstat (limited to 'src/Text/Pandoc/Writers/Math.hs')
-rw-r--r-- | src/Text/Pandoc/Writers/Math.hs | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/src/Text/Pandoc/Writers/Math.hs b/src/Text/Pandoc/Writers/Math.hs deleted file mode 100644 index b7419ddf9..000000000 --- a/src/Text/Pandoc/Writers/Math.hs +++ /dev/null @@ -1,49 +0,0 @@ -module Text.Pandoc.Writers.Math - ( texMathToInlines - , convertMath - ) -where - -import Text.Pandoc.Class -import Text.Pandoc.Definition -import Text.Pandoc.Logging -import Text.TeXMath (Exp, writePandoc, DisplayType(..), readTeX) - --- | Converts a raw TeX math formula to a list of 'Pandoc' inlines. --- Defaults to raw formula between @$@ or @$$@ characters if entire formula --- can't be converted. -texMathToInlines :: PandocMonad m - => MathType - -> String -- ^ String to parse (assumes @'\n'@ line endings) - -> m [Inline] -texMathToInlines mt inp = do - res <- convertMath writePandoc mt inp - case res of - Right (Just ils) -> return ils - Right (Nothing) -> do - report $ CouldNotConvertTeXMath inp "" - return [mkFallback mt inp] - Left il -> return [il] - -mkFallback :: MathType -> String -> Inline -mkFallback mt str = Str (delim ++ str ++ delim) - where delim = case mt of - DisplayMath -> "$$" - InlineMath -> "$" - --- | Converts a raw TeX math formula using a writer function, --- issuing a warning and producing a fallback (a raw string) --- on failure. -convertMath :: PandocMonad m - => (DisplayType -> [Exp] -> a) -> MathType -> String - -> m (Either Inline a) -convertMath writer mt str = do - case writer dt <$> readTeX str of - Right r -> return (Right r) - Left e -> do - report $ CouldNotConvertTeXMath str e - return (Left $ mkFallback mt str) - where dt = case mt of - DisplayMath -> DisplayBlock - InlineMath -> DisplayInline - |