Top Interfaces Classes
module snuggletex.core

Package uk.ac.ed.ph.snuggletex.dombuilding


Interface Summary

Modifier and TypeInterface and Description
public interface
CommandHandler

Defines how a BuiltinCommand should append children to the outgoing DOM tree.

public interface
EnvironmentHandler

Defines how a BuiltinEnvironment should append children to the outgoing DOM.

Class Summary

Modifier and TypeClass and Description
public abstract class
AbstractCustomXMLElementHandler

Provides base functionality for the commands and environments that build custom XML elements.

public class
AccentHandler

This builder handles applying accents to characters.

public class
AnchorHandler

Handles the \\anchor command, generating an XHTML anchor.

public class
ArrayHandler

Handles the LaTeX array environment.

public class
BoxHandler

Handles \\mbox, \\fbox and friends.

public class
CharacterCommandHandler

This handles simple commands that essentially just stand in for single-character identifiers that don't have any particular meaning when used in MATH mode (e.g. '$').

public class
DoNothingHandler

Trivial "do nothing" handler for commands and environments that don't add anything to the resulting DOM.

public class
EnsureMathHandler

This handles the \\ensuremath command.

public class
EqnArrayHandler

Handles the eqnarray* environment.

public class
GetVarHandler

Handles the \\getvar macro.

public class
HrefHandler

Handles the SnuggleTeX-specific \\href command for easily creating web links.

public class
HSpaceHandler

Handles the \\hspace and \\hspace* commands.

public class
InsertUnicodeHandler

Handles the non-standard \\ux command to insert a Unicode character into the output.

public class
InterpretableSimpleMathHandler

This builder calls back directly to the DOMBuilder to handle mathematical tokens with certain types of simple semantic interpretations.

public class
LineBreakHandler

Handles instances of \\\\, which forces a line break at the given point.

public class
ListEnvironmentHandler

This handles LaTeX list environments (i.e. itemize and enumerate).

public class
LiteralHandler

Handler for the custom \\literal command, which allows literal input to be entered, similar to \\verb with output without changing style.

public class
MathComplexCommandHandler

Handles complex Math commands (i.e. ones taking arguments) that map very easily onto MathML elements where each argument becomes a child element of the resulting MathML container.

public class
MathEnvironmentHandler

Builds LaTeX math environments.

public class
MathFenceHandler

Handles matched parentheses encapsulated within CorePackageDefinitions#ENV_BRACKETED environments.

public class
MathLimitsHandler

Handles the mathematical "limit" tokens like CorePackageDefinitions#CMD_MSUB_OR_MUNDER, generating either msub or munder as appropriate, with analogous results for CorePackageDefinitions#CMD_MSUP_OR_MOVER and CorePackageDefinitions#CMD_MSUBSUP_OR_MUNDEROVER.

public class
MathNotHandler

Handles the \\not combiner command.

public class
MathRootHandler

Handles the LaTeX \\sqrt command, which generates either a msqrt or mroot depending on whether an optional argument has been passed or not.

public class
MathUnderOrOverHandler

Handles the \\stackrel, \\overset and \\underset commands.

public class
MathVariantMapHandler

This handles changes to the current "mathvariant" caused by things like \\mathcal and friends.

public class
MatrixHandler

Handles the AMSLaTeX cases and the various matrix environments.

public class
ModeDelegatingHandler

Trivial "meta"-builder that delegates to a CommandHandler depending on whether we are in MATH or TEXT mode.

public class
MrowHandler

Builds MathML mrows.

public class
ParagraphHandler

This builds the content of a (fixed) CorePackageDefinitions#CMD_PARAGRAPH token.

public class
SetVarHandler

Handles the \\setvar macro.

public class
SimpleXHTMLContainerBuildingHandler

This trivial handler takes an Environment or 1-argument Command and simply maps it to an XHTML element with the given name and CSS class.

public class
SpaceHandler

Creates preset spacing elements in MATH and/or TEXT modes.

public class
StyleHandler

Handles the internal <style> environment delimiting a branch of content to be rendered in a different style.

public class
TabularHandler

Handles the (rather complex) tabular environment.

public class
TextClassHandler

Handles things like the \\underline command, which are simpler than the classic LaTeX style controls.

public class
TextSafeInterpretableMathIdentifierHandler

Used for things like \\ldots, which work in both Math and Text modes

public class
UnitsHandler

Handles \\units, generating an mi element of the form:

  <mi mathvariant="normal" class="MathML-Unit">...
public class
VerbatimHandler

Handles the verbatim environment and \\verb command.

public class
XMLAttrHandler

Handles lonely instances of \\xmlAttr, which results in CoreErrorCode#TDEX02 being emitted.

public class
XMLBlockElementHandler

Builds custom block XML elements.

public class
XMLInlineElementHandler

Builds custom inline XML elements.

public class
XMLNameOrIdHandler

Trivial handler for the \\xmlName and \\xmlId commands.

public class
XMLUnparseHandler

Handles the special xmlUnparsed command and environment.