# API
This section is going to describe the low-level API of the generator and the parser. You will only need it if you implement your own macros, or if you want to access parts of the result and keep processing them.
# Parser
# parser.parse(latex, { generator: HtmlGenerator })
This function parses the given input LaTeX document and returns a generator that creates the output document.
Arguments:
latexis the LaTeX source document- options object: must contain a
generatorproperty with an instance ofHtmlGenerator
Returns the HtmlGenerator instance.
# SyntaxError
# AST
TODO
# class: Generator
TODO
# class: HtmlGenerator
# CTOR: new HtmlGenerator(options)
Create a new HTML generator. options is an <Object (opens new window)> that can have the following properties:
documentClass: <string (opens new window)> the default document class if a document without preamble is parsedCustomMacros: a <constructor (opens new window)>/<function (opens new window)> with additional custom macroshyphenate: <boolean (opens new window)> enable or disable automatic hyphenationlanguagePatterns: language patterns object to use for hyphenation if it is enabledstyles: <Array (opens new window)<string (opens new window)>> additional CSS stylesheets
# htmlGenerator.reset()
Reset the generator. Needs to be called before the generator is used for creating a second document.
# htmlGenerator.htmlDocument(baseURL)
Returns the full DOM HTMLDocument representation of the LaTeX source, including <head> and <body>. This is meant
to be used as its own standalone webpage or in an <iframe>.
baseURL will be used as base for the scripts and stylesheets; if omitted, the base will be window.location.href or,
if not available, scripts and stylesheets will have relative URLs.
To serialize it, use htmlGenerator.htmlDocument().outerHTML.
# htmlGenerator.stylesAndScripts(baseURL)
Returns a DocumentFragment with <link> and <script> elements. This usually is part of the <head> element.
If baseURL is given, the files will be referenced with absolute URLs, otherwise with relative URLs.
# htmlGenerator.domFragment()
Returns the DOM DocumentFragment. This does not include the scripts and stylesheets and is meant for testing and
low-level embedding.
# htmlGenerator.documentTitle()
The title of the document.