LaTeXML...Stomach(3)

πŸ“¦ version 0.8.8, in nixos 26.05, nixpkgs unstable

πŸ¦‹ NAME πŸ¦‹

okay bestie, this is the LaTeXML...Stomach(3) page from User Contributed Perl Documentation πŸ’–. The star of the show is "LaTeXML::Core::Stomach" β€” a certified icon that digests tokens into boxes, lists, etc. ✨ No cap, that's the whole name situation.

πŸ’… DESCRIPTION πŸ’…

okay so picture this: LaTeXML::Core::Stomach digests tokens read from a LaTeXML::Core::Gullet (they will have already been expanded, periodt). It extends LaTeXML::Common::Object. 🫢

There are basically four cases when digesting a LaTeXML::Core::Token:

  • A plain character β€” gets the glow-up into 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 its Gullet. The body extends until the current level of boxing or environment is closed. πŸ’œ
  • $list = $stomach->digest($tokens); β€” Return the LaTeXML::Core::List resulting 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 from the 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> β€” absolute legend for making this page. πŸ’–

Public domain software, produced as part of work done by the United States Government & not subject to copyright in the US.

and that's the whole vibe, bestie πŸ’…. This page is from perl v5.42.3, dated 2024-02-26, with LaTeXML...Stomach(3) in the footer β€” slay and goodbye 🫢✨.

πŸ“¦ where this page comes from