Scroll to navigation

LaTeXML::Core(3pm) User Contributed Perl Documentation LaTeXML::Core(3pm)

NAME

"LaTeXML" - transforms TeX into XML.

SYNOPSIS

    use LaTeXML::Core;
    my $latexml = LaTeXML::Core->new();
    $latexml->convertAndWrite("adocument");

But also see the convenient command line script latexml which suffices for most purposes.

DESCRIPTION

METHODS

"my $latexml = LaTeXML::Core->new(%options);"
Creates a new LaTeXML object for transforming TeX files into XML.

 verbosity  : Controls verbosity; higher is more verbose,
              smaller is quieter. 0 is the default.
 strict     : If true, undefined control sequences and
              invalid document constructs give fatal
              errors, instead of warnings.
 includecomments : If false, comments will be excluded
              from the result document.
 preload    : an array of modules to preload
 searchpath : an array of paths to be searched for Packages
              and style files.
    

(these generally set config variables in the LaTeXML::Core::State object)

"$latexml->convertAndWriteFile($file);"
Reads the TeX file $file.tex, digests and converts it to XML, and saves it in $file.xml.
"$doc = $latexml->convertFile($file);"
Reads the TeX file $file, digests and converts it to XML and returns the resulting XML::LibXML::Document.
"$doc = $latexml->convertString($string);"
OBSOLETE Use "$latexml-"convertFile("literal:$string");> instead.
"$latexml->writeDOM($doc,$name);"
Writes the XML document to $name.xml.
"$box = $latexml->digestFile($file);"
Reads the TeX file $file, and digests it returning the LaTeXML::Core::Box representation.
"$box = $latexml->digestString($string);"
OBSOLETE Use "$latexml-"digestFile("literal:$string");> instead.
"$doc = $latexml->convertDocument($digested);"
Converts $digested (the LaTeXML::Core::Box reprentation) into XML, returning the XML::LibXML::Document.

Customization

In the simplest case, LaTeXML will understand your source file and convert it automatically. With more complicated (realistic) documents, you will likely need to make document specific declarations for it to understand local macros, your mathematical notations, and so forth. Before processing a file doc.tex, LaTeXML reads the file doc.latexml, if present. Likewise, the LaTeXML implementation of a TeX style file, say style.sty is provided by a file style.ltxml.

See LaTeXML::Package for documentation of these customization and implementation files.

SEE ALSO

See latexml for a simple command line script.

See LaTeXML::Package for documentation of these customization and implementation files.

For cases when the high-level declarations described in LaTeXML::Package are not enough, or for understanding more of LaTeXML's internals, see

LaTeXML::Core::State
maintains the current state of processing, bindings or variables, definitions, etc.
LaTeXML::Core::Token, LaTeXML::Core::Mouth and LaTeXML::Core::Gullet
deal with tokens, tokenization of strings and files, and basic TeX sequences such as arguments, dimensions and so forth.
LaTeXML::Core::Box and LaTeXML::Core::Stomach
deal with digestion of tokens into boxes.
LaTeXML::Core::Document, LaTeXML::Common::Model, LaTeXML::Core::Rewrite
dealing with conversion of the digested boxes into XML.
LaTeXML::Core::Definition and LaTeXML::Core::Parameters
representation of LaTeX macros, primitives, registers and constructors.
LaTeXML::MathParser
the math parser.
LaTeXML::Global, LaTeXML::Common::Error, LaTeXML::Common::Object
other random modules.

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.
2020-02-18 perl v5.30.0