Safe Haskell | None |
---|---|
Language | Haskell2010 |
Text.TeXMath
Description
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
Synopsis
- 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 #
Constructors
DisplayBlock | A displayed formula. |
DisplayInline | A formula rendered inline in text. |
Instances
Eq DisplayType Source # | |
Defined in Text.TeXMath.Types Methods (==) :: DisplayType -> DisplayType -> Bool Source # (/=) :: DisplayType -> DisplayType -> Bool Source # | |
Ord DisplayType Source # | |
Defined in Text.TeXMath.Types Methods compare :: DisplayType -> DisplayType -> Ordering Source # (<) :: DisplayType -> DisplayType -> Bool Source # (<=) :: DisplayType -> DisplayType -> Bool Source # (>) :: DisplayType -> DisplayType -> Bool Source # (>=) :: DisplayType -> DisplayType -> Bool Source # max :: DisplayType -> DisplayType -> DisplayType Source # min :: DisplayType -> DisplayType -> DisplayType Source # | |
Show DisplayType Source # | |
Defined in Text.TeXMath.Types |
Instances
Eq Exp Source # | |
Data Exp Source # | |
Defined in Text.TeXMath.Types Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Exp -> c Exp Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Exp Source # toConstr :: Exp -> Constr Source # dataTypeOf :: Exp -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Exp) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Exp) Source # gmapT :: (forall b. Data b => b -> b) -> Exp -> Exp Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Exp -> r Source # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Exp -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Exp -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Exp -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Exp -> m Exp Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Exp -> m Exp Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Exp -> m Exp Source # | |
Ord Exp Source # | |
Read Exp Source # | |
Show Exp Source # | |