Safe Haskell | None |
---|---|
Language | Haskell2010 |
Functions for converting between different representations of mathematical formulas.
Also note that in general writeLaTeX . readLaTeX /= id
.
A typical use is to combine together a reader and writer.
import Control.Applicative ((<$>)) import Text.TeXMath (writeMathML, readTeX) texMathToMathML :: DisplayType -> String -> Either String Element texMathToMathML dt s = writeMathML dt <$> readTeX s
It is also possible to manipulate the AST using Generics
. For
example, if you wanted to replace all occurences of the identifier
x in your expression, you do could do so with the following
script.
import Control.Applicative ((<$>)) import Data.Generics (everywhere, mkT) import Text.TeXMath (writeMathML, readTeX) import Text.TeXMath.Types import Text.XML.Light (Element) changeIdent :: Exp -> Exp changeIdent (EIdentifier "x") = EIdentifier "y" changeIdent e = e texToMMLWithChangeIdent :: DisplayType -> String -> Either String Element texToMMLWithChangeIdent dt s = writeMathML dt . everywhere (mkT changeIdent) <$> readTeX s
- readMathML :: String -> Either String [Exp]
- readOMML :: String -> Either String [Exp]
- readTeX :: String -> Either String [Exp]
- writeTeX :: [Exp] -> String
- writeTeXWith :: Env -> [Exp] -> String
- addLaTeXEnvironment :: DisplayType -> String -> String
- writeEqn :: DisplayType -> [Exp] -> String
- writeOMML :: DisplayType -> [Exp] -> Element
- writeMathML :: DisplayType -> [Exp] -> Element
- writePandoc :: DisplayType -> [Exp] -> Maybe [Inline]
- data DisplayType
- data Exp
Documentation
writeTeX :: [Exp] -> String Source #
Transforms an expression tree to equivalent LaTeX with the default packages (amsmath and amssymb)
writeTeXWith :: Env -> [Exp] -> String Source #
Transforms an expression tree to equivalent LaTeX with the specified packages
addLaTeXEnvironment :: DisplayType -> String -> String Source #
Adds the correct LaTeX environment around a TeXMath fragment
writeEqn :: DisplayType -> [Exp] -> String Source #
Transforms an expression tree to equivalent Eqn with the default packages (amsmath and amssymb)
writeOMML :: DisplayType -> [Exp] -> Element Source #
Transforms an expression tree to an OMML XML Tree
writeMathML :: DisplayType -> [Exp] -> Element Source #
Transforms an expression tree to a MathML XML tree
writePandoc :: DisplayType -> [Exp] -> Maybe [Inline] Source #
Attempts to convert a formula to a list of Pandoc
inlines.
data DisplayType Source #
DisplayBlock | A displayed formula. |
DisplayInline | A formula rendered inline in text. |