LaTeXML::MathParser - parses mathematics content
LaTeXML::MathParser
LaTeXML::MathParser parses the mathematical content of a document. It uses Parse::RecDescent and a grammar MathGrammar.
MathGrammar
Needs description.
The following functions are exported for convenience in writing the grammar productions.
$node = New($name,$content,%attributes);
Creates a new XMTok node with given $name (a string or undef), and $content (a string or undef) (but at least one of name or content should be provided), and attributes.
XMTok
$name
$content
$node = Arg($node,$n);
Returns the $n-th argument of an XMApp node; 0 is the operator node.
$n
XMApp
Annotate($node,%attributes);
Add attributes to $node.
$node
$node = Apply($op,@args);
Create a new XMApp node representing the application of the node $op to the nodes @args.
$op
@args
$node = ApplyDelimited($op,@stuff);
Create a new XMApp node representing the application of the node $op to the arguments found in @stuff. @stuff are delimited arguments in the sense that the leading and trailing nodes should represent open and close delimiters and the arguments are separated by punctuation nodes.
@stuff
$node = InterpretDelimited($op,@stuff);
Similar to ApplyDelimited, this interprets sequence of delimited, punctuated items as being the application of $op to those items.
ApplyDelimited
$node = recApply(@ops,$arg);
Given a sequence of operators and an argument, forms the nested application op(op(...(arg)))>.
op(op(...(arg)))
$node = InvisibleTimes;
Creates an invisible times operator.
$boole = isMatchingClose($open,$close);
Checks whether $open and $close form a `normal' pair of delimiters, or if either is ".".
$open
$close
$node = Fence(@stuff);
Given a delimited sequence of nodes, starting and ending with open/close delimiters, and with intermediate nodes separated by punctuation or such, attempt to guess what type of thing is represented such as a set, absolute value, interval, and so on.
This would be a good candidate for customization!
$node = NewFormulae(@stuff);
Given a set of formulas, construct a Formulae application, if there are more than one, else just return the first.
Formulae
$node = NewList(@stuff);
Given a set of expressions, construct a list application, if there are more than one, else just return the first.
list
$node = LeftRec($arg1,@more);
Given an expr followed by repeated (op expr), compose the left recursive tree. For example a + b + c - d would give (- (+ a b c) d)>
a + b + c - d
(- (+ a b c) d)
MaybeFunction($token);
Note the possible use of $token as a function, which may cause incorrect parsing. This is used to generate warning messages.
$token
Bruce Miller <bruce.miller@nist.gov>
Public domain software, produced as part of work done by the United States Government & not subject to copyright in the US.
To install LaTeXML, copy and paste the appropriate command in to your terminal.
cpanm
cpanm LaTeXML
CPAN shell
perl -MCPAN -e shell install LaTeXML
For more information on module installation, please visit the detailed CPAN module installation guide.