Package cox.jmatt.java.MathTools.markup.latex

This package contains MathTools' LaTeX markup equipment.

See:
          Description

Class Summary
LaBaseTag This is the abstract superclass of all other LaTeX markup-generating classes.
LaDocument This class represents the entire LaTeX document.
LaListTag This class provides LaTeX list blocks, both '{itemize}' and '{enumerate}'.
LaPicture This class provides the '/picture' environment complete with '/setlength{/unitlength}{}' directive.
LaTable This class provides LaTeX table-generating ('tabular') capability.
LaTag This class can be used to generate any LaTeX tag.
LEquation This class provides the '{equation}' and '{eqnarray}' blocks.
MathGenLatex This class exists to generate the various tag classes in the MathTools latex.* package.
 

Enum Summary
MathGenLatex.LaSymbol This enum holds some of the (millions of) LaTeX symbols and commands used with mathematics.
 

Package cox.jmatt.java.MathTools.markup.latex Description

This package contains MathTools' LaTeX markup equipment. LaTeX is a markup language and the software used to transform it into professional-quality documents. It is not a word processor and it is not WYSIWYG: the source document looks nothing like the final result. LaTeX is based on TeX; it extends it and adds features to simplify TeX which is a very low-level typesetting language. LaTeX is particularly well-suited to structured documents and it does an outstanding job handling mathematical notation. It is by no means limited to that, it merely excels at it.

This package is by no means a comprehensive compilation of all things LaTeX: LaTeX is huge. It is totally open-source with free (and non-free) software packages for all operating systems. For more information consult the Internet. This package, much like the html.* and svg.* packages and the MathXML class, is designed to provide MathTools with enough LaTeX to scriptably generate LaTeX documents.

It is worth noting that, unlike the other markup.* subpackages this one is not XML-based.

Once the LaTeX document is created it must be rendered into another format, typically PDF. LaTeX is plain text, stored in files with a '.tex' extension. External software is required to consume this and produce PDFs. One particularly good package for MS-based operating systems is MiKTeX Portable. It contains everything necessary to transform LaTeX, it works well out of the box (or ZIP file) and since it is portable installation is not a problem. It is by no means the only choice but, based on your author's experience, it provides an easy way into the world of LaTeX.

MathTools and LaTeX

As with the other subpackages in the MathTools.markup.* package this one uses tag classes for certain LaTeX constructs. LaBaseTag forms the abstract superclass for all of these and LaDocument ends the chain by representing the overall document itself. Instances of all the package classes are available via MathGenLatex as is the LaSymbol enum.

To create a LaTeX document, begin with a LaDocument instance. It contains many editing and convenience methods to generate appropriate LaTeX tags and commands without worrying about escaping backslashes or making typing errors. Lists and tables should be created separately from the document and added once complete. Of course these classes can be used by themselves to generate LaTeX fragments. Each LaBaseTag subclass has two methods for printing a complete document: toString() and toStringSET(). The latter method along with copyOfSET() are for advanced LaTeX users. They allow block-type tag classes (except LaDocument to be created without end tags, if such is desired.

As a rule once the toString() method is called the resulting String is ready to be rendered. The markup is complete and can be dumped directly into the LaTeX renderer.