---
name: "LaTeXML::Core::Definition::Constructor"
section: "3pm"
platform: "linux"
package: "latexml"
version: "0.8.8-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/LaTeXML::Core::Definition::Constructor"
---

# LaTeXML::Core::Definition::Constructor(3pm)

Control sequence definitions.

## NAME

"LaTeXML::Core::Definition::Constructor"  - Control sequence definitions.

## DESCRIPTION

This class represents control sequences that contribute arbitrary XML fragments to the document tree.  During digestion, a `"LaTeXML::Core::Definition::Constuctor"` records the arguments used in the invocation to produce a LaTeXML::Core::Whatsit.  The resulting LaTeXML::Core::Whatsit (usually) generates an XML document fragment when absorbed by an instance of LaTeXML::Core::Document. Additionally, a `"LaTeXML::Core::Definition::Constructor"` may have beforeDigest and afterDigest daemons defined which are executed for side effect, or for adding additional boxes to the output.

It extends LaTeXML::Core::Definition.

More documentation needed, but see LaTeXML::Package for the main user access to these.

### More about Constructors

A constructor has as it's `"replacement"` a subroutine or a string pattern representing the XML fragment it should generate.  In the case of a string pattern, the pattern is compiled into a subroutine on first usage by the internal class `"LaTeXML::Core::Definition::ConstructorCompiler"`. Like primitives, constructors may have `"beforeDigest"` and `"afterDigest"`.

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