C Modules

C.4 LaTeXML::Global

Global exports used within LaTeXML, and in Packages.

C.4.1 Synopsis

use LaTeXML::Global;

C.4.2 Description

This module exports the various constants and constructors that are useful throughout LaTeXML, and in Package implementations.

Global state

$STATE;

This is bound to the currently active LaTeXML::State by an instance of LaTeXML during processing.

Tokens

$catcode = CC_ESCAPE;

Constants for the category codes:

  CC_BEGIN, CC_END, CC_MATH, CC_ALIGN, CC_EOL,
  CC_PARAM, CC_SUPER, CC_SUB, CC_IGNORE,
  CC_SPACE, CC_LETTER, CC_OTHER, CC_ACTIVE,
  CC_COMMENT, CC_INVALID, CC_CS, CC_NOTEXPANDED.

[The last 2 are (apparent) extensions, with catcodes 16 and 17, respectively].

$token = Token($string,$cc);

Creates a LaTeXML::Token with the given content and catcode. The following shorthand versions are also exported for convenience:

  T_BEGIN, T_END, T_MATH, T_ALIGN, T_PARAM,
  T_SUB, T_SUPER, T_SPACE, T_LETTER($letter),
  T_OTHER($char), T_ACTIVE($char),
  T_COMMENT($comment), T_CS($cs)
$tokens = Tokens(@token);

Creates a LaTeXML::Tokens from a list of LaTeXML::Token’s

$tokens = Tokenize($string);

Tokenizes the $string according to the standard cattable, returning a LaTeXML::Tokens.

$tokens = TokenizeInternal($string);

Tokenizes the $string according to the internal cattable (where @ is a letter), returning a LaTeXML::Tokens.

@tokens = Explode($string);

Returns a list of the tokens corresponding to the characters in $string.

$tokens = Revert($object);

Returns a Tokens list containing the TeX that would create $object. Note that this is not necessarily the original TeX code; expansions or other substitutions may have taken place.

StartSemiVerbatim(); ... ; EndSemiVerbatim();

Desable disable most TeX catcodes.

Boxes, etc.

$box = Box($string,$font,$locator,$tokens);

Creates a Box representing the $string in the given $font. The $locator records the document source position. The $tokens is a Tokens list containing the TeX that created (or could have) the Box (See UnTeX). If $font or $locator are undef, they are obtained from the currently active LaTeXML::State. Note that $string can be undef which contributes nothing to the generated document, but does record the TeX code (in $tokens).

Numbers, etc.

$number = Number($num);

Creates a Number object representing $num.

$number = Float($num);

Creates a floating point object representing $num; This is not part of TeX, but useful.

$dimension = Dimension($dim);

Creates a Dimension object. $num can be a string with the number and units (with any of the usual TeX recognized units), or just a number standing for scaled points (sp).

$mudimension = MuDimension($dim);

Creates a MuDimension object; similar to Dimension.

$glue = Glue($gluespec);

$glue = Glue($sp,$plus,$pfill,$minus,$mfill);

Creates a Glue object. $gluespec can be a string in the form that TeX recognizes (number units optional plus and minus parts). Alternatively, the dimension, plus and minus parts can be given separately: $pfill and $mfill are 0 (when the $plus or $minus part is in sp) or 1,2,3 for fil, fill or filll.

$glue = MuGlue($gluespec);

$glue = MuGlue($sp,$plus,$pfill,$minus,$mfill);

Creates a MuGlue object, similar to Glue.

$pair = Pair($num1,$num2);

Creates an object representing a pair of numbers; Not a part of TeX, but useful for graphical objects. The two components can be any numerical object.

$pair = PairList(@pairs);

Creates an object representing a list of pairs of numbers; Not a part of TeX, but useful for graphical objects.

Error Reporting

Fatal($message);

Signals an fatal error, printing $message along with some context. In verbose mode a stack trace is printed.

Error($message);

Signals an error, printing $message along with some context. If in strict mode, this is the same as Fatal(). Otherwise, it attempts to continue processing..

Warn($message);

Prints a warning message along with a short indicator of the input context, unless verbosity is quiet.

NoteProgress($message);

Prints $message unless the verbosity level below 0.

Generic functions

Stringify($object);

Returns a string identifying $object, for debugging. Works on any values and objects, but invokes the stringify method on blessed objects. More informative than the default perl conversion to a string.

ToString($object);

Converts $object to string attempting, when possible, to generate straight text without TeX markup. This is most useful for converting Tokens or Boxes to document content or attribute values, or values to be used for pathnames, keywords, etc. Generally, however, it is not possible to convert Whatsits generated by Constructors into clean strings, without TeX markup. Works on any values and objects, but invokes the toString method on blessed objects.

Equals($a,$b);

Compares the two objects for equality. Works on any values and objects, but invokes the equals method on blessed objects, which does a deep comparison of the two objects.

Revert($object);

Converts $object to a Tokens list containing the TeX that created it (or could have). Note that this is not necessarily the original TeX code; expansions or other substitutions may have taken place.

UnTeX($object);

Converts $object to a string containing TeX that created it (or could have). Note that this is not necessarily the original TeX code; expansions or other substitutions may have taken place.