Provided by: latexml_0.8.8-1_all 

NAME
"LaTeXML::Core::Stomach" - digests tokens into boxes, lists, etc.
DESCRIPTION
"LaTeXML::Core::Stomach" digests tokens read from a LaTeXML::Core::Gullet (they will have already been
expanded).
It extends LaTeXML::Common::Object.
There are basically four cases when digesting a LaTeXML::Core::Token:
A plain character
is simply converted to a LaTeXML::Core::Box recording the current LaTeXML::Common::Font.
A primitive
If a control sequence represents LaTeXML::Core::Definition::Primitive, the primitive is invoked,
executing its stored subroutine. This is typically done for side effect (changing the state in the
LaTeXML::Core::State), although they may also contribute digested material. As with macros, any
arguments to the primitive are read from the LaTeXML::Core::Gullet.
Grouping (or environment bodies)
are collected into a LaTeXML::Core::List.
Constructors
A special class of control sequence, called a LaTeXML::Core::Definition::Constructor produces a
LaTeXML::Core::Whatsit which remembers the control sequence and arguments that created it, and
defines its own translation into "XML" elements, attributes and data. Arguments to a constructor are
read from the gullet and also digested.
Digestion
"$list = $stomach->digestNextBody;"
Return the digested LaTeXML::Core::List after reading and digesting a `body' from the its Gullet.
The body extends until the current level of boxing or environment is closed.
"$list = $stomach->digest($tokens);"
Return the LaTeXML::Core::List resuting from digesting the given tokens. This is typically used to
digest arguments to primitives or constructors.
"@boxes = $stomach->invokeToken($token);"
Invoke the given (expanded) token. If it corresponds to a Primitive or Constructor, the definition
will be invoked, reading any needed arguments fromt he current input source. Otherwise, the token
will be digested. A List of Box's, Lists, Whatsit's is returned.
"@boxes = $stomach->regurgitate;"
Removes and returns a list of the boxes already digested at the current level. This peculiar beast
is used by things like \choose (which is a Primitive in TeX, but a Constructor in LaTeXML).
Grouping
"$stomach->bgroup;"
Begin a new level of binding by pushing a new stack frame, and a new level of boxing the digested
output.
"$stomach->egroup;"
End a level of binding by popping the last stack frame, undoing whatever bindings appeared there, and
also decrementing the level of boxing.
"$stomach->begingroup;"
Begin a new level of binding by pushing a new stack frame.
"$stomach->endgroup;"
End a level of binding by popping the last stack frame, undoing whatever bindings appeared there.
Modes
"$stomach->beginMode($mode);"
Begin processing in $mode; one of 'text', 'display-math' or 'inline-math'. This also begins a new
level of grouping and switches to a font appropriate for the mode.
"$stomach->endMode($mode);"
End processing in $mode; an error is signalled if $stomach is not currently in $mode. This also ends
a level of grouping.
AUTHOR
Bruce Miller <bruce.miller@nist.gov>
COPYRIGHT
Public domain software, produced as part of work done by the United States Government & not subject to
copyright in the US.
perl v5.38.2 2024-02-27 LaTeXML::Core::Stomach(3pm)