HaTeX-3.2.0.1: LaTeX code writer.

Safe HaskellNone

Text.LaTeX.Base.Syntax

Contents

Description

LaTeX syntax description in the definition of the LaTeX datatype. If you want to add new commands or environments not defined in the library, import this module and use LaTeX data constructors.

Synopsis

LaTeX datatype

data LaTeX Source

A LaTeX object represents some expression written in LaTeX.

Constructors

TeXRaw Text

Raw text.

TeXComm String [TeXArg]

Constructor for commands. First argument is the name of the command. Second, its arguments.

TeXCommS String

Constructor for commands with no arguments.

TeXEnv String [TeXArg] LaTeX

Constructor for environments. First argument is the name of the environment. Second, its arguments. Third, its content.

TeXMath LaTeX

Mathematical expressions.

TeXNewLine Bool

Newline character.

TeXOp String LaTeX LaTeX

Operators.

TeXBraces LaTeX 
TeXSeq LaTeX LaTeX

Sequencing of LaTeX expressions. Use <> preferably.

TeXEmpty

An empty expression. Neutral element of <>.

Instances

Eq LaTeX 
Num LaTeX

Methods abs and signum are undefined. Don't use them!

Show LaTeX 
IsString LaTeX

Method fromString escapes LaTeX reserved characters.

Monoid LaTeX

Method mappend is strict in both arguments (except in the case when the first argument is TeXEmpty).

Render LaTeX 

data TeXArg Source

An argument for a LaTeX command or environment.

Constructors

OptArg LaTeX

Optional argument.

FixArg LaTeX

Fixed argument.

MOptArg [LaTeX]

Multiple optional argument.

SymArg LaTeX

An argument enclosed between < and >.

MSymArg [LaTeX]

Version of SymArg with multiple options.

(<>) :: Monoid m => m -> m -> m

An infix synonym for mappend.

Utils

comm :: String -> LaTeXSource

A simple (without arguments) command generator, given the name of the command.