texmath-0.8.4: Conversion between formats used to represent mathematics.

Safe HaskellNone
LanguageHaskell2010

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

Documentation

readMathML :: String -> Either String [Exp] Source

Parse a MathML expression to a list of Exp.

readTeX :: String -> Either String [Exp] Source

Parse a formula, returning a list of Exp.

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

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.