Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  LATEXML::CORE::STOMACH (3)

.ds Aq ’


"LaTeXML::Core::Stomach" - digests tokens into boxes, lists, etc.



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.


$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).


$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.


$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.


Bruce Miller <>


Public domain software, produced as part of work done by the United States Government & not subject to copyright in the US.
Search for    or go to Top of page |  Section 3 |  Main Index

perl v5.20.3 LATEXML::CORE::STOMACH (3) 2014-12-08

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.