E Core Modules

E.19 LaTeXML::Core::Definition

Control sequence definitions.


This abstract class represents the various executables corresponding to control sequences. See LaTeXML::Package for the most convenient means to create them.


$token = $defn->getCS;

Returns the (main) token that is bound to this definition.

$string = $defn->getCSName;

Returns the string form of the token bound to this definition, taking into account any alias for this definition.


Reads the arguments for this $defn from the $gullet, returning a list of LaTeXML::Core::Tokens.

$parameters = $defn->getParameters;

Return the LaTeXML::Core::Parameters object representing the formal parameters of the definition.

@tokens = $defn->invocation(@args);

Return the tokens that would invoke the given definition with the provided arguments. This is used to recreate the TeX code (or it’s equivalent).


Invoke the action of the $defn. For expandable definitions, this is done in the Gullet, and returns a list of LaTeXML::Core::Tokens. For primitives, it is carried out in the Stomach, and returns a list of LaTeXML::Core::Boxes. For a constructor, it is also carried out by the Stomach, and returns a LaTeXML::Core::Whatsit. That whatsit will be responsible for constructing the XML document fragment, when the LaTeXML::Core::Document invokes $whatsit-beAbsorbed($document);>.

Primitives and Constructors also support before and after daemons, lists of subroutines that are executed before and after digestion. These can be useful for changing modes, etc.

See also