packages feed

HaTeX 2.1.3 → 3.0.0

raw patch · 34 files changed

+3322/−2129 lines, 34 filesdep +bytestringdep +textdep −dstringdep −filepathdep −string-combinatorsdep ~basedep ~mtlsetup-changedPVP ok

version bump matches the API change (PVP)

Dependencies added: bytestring, text

Dependencies removed: dstring, filepath, string-combinators

Dependency ranges changed: base, mtl

API changes (from Hackage documentation)

- Text.LaTeX: export :: MonadIO m => LaTeX m -> FilePath -> m ()
- Text.LaTeX: hatex :: Monad m => LaTeX m
- Text.LaTeX: hatexVersion :: Monad m => LaTeX m
- Text.LaTeX: render :: Monad m => LaTeX m -> m String
- Text.LaTeX.Arguments: a4paper :: Monad m => ClassOption m
- Text.LaTeX.Arguments: a5paper :: Monad m => ClassOption m
- Text.LaTeX.Arguments: article :: Monad m => Class m
- Text.LaTeX.Arguments: b5paper :: Monad m => ClassOption m
- Text.LaTeX.Arguments: book :: Monad m => Class m
- Text.LaTeX.Arguments: cm :: Monad m => Float -> LaTeX m
- Text.LaTeX.Arguments: depth :: Monad m => LaTeX m
- Text.LaTeX.Arguments: em :: Monad m => Float -> LaTeX m
- Text.LaTeX.Arguments: empty :: Monad m => Style m
- Text.LaTeX.Arguments: ex :: Monad m => Float -> LaTeX m
- Text.LaTeX.Arguments: executivepaper :: Monad m => ClassOption m
- Text.LaTeX.Arguments: fleqn :: Monad m => ClassOption m
- Text.LaTeX.Arguments: headings :: Monad m => Style m
- Text.LaTeX.Arguments: height :: Monad m => LaTeX m
- Text.LaTeX.Arguments: inch :: Monad m => Float -> LaTeX m
- Text.LaTeX.Arguments: landscape :: Monad m => ClassOption m
- Text.LaTeX.Arguments: legalpaper :: Monad m => ClassOption m
- Text.LaTeX.Arguments: leqno :: Monad m => ClassOption m
- Text.LaTeX.Arguments: letterpaper :: Monad m => ClassOption m
- Text.LaTeX.Arguments: minimal :: Monad m => Class m
- Text.LaTeX.Arguments: mm :: Monad m => Float -> LaTeX m
- Text.LaTeX.Arguments: notitlepage :: Monad m => ClassOption m
- Text.LaTeX.Arguments: onecolumn :: Monad m => ClassOption m
- Text.LaTeX.Arguments: oneside :: Monad m => ClassOption m
- Text.LaTeX.Arguments: openany :: Monad m => ClassOption m
- Text.LaTeX.Arguments: openright :: Monad m => ClassOption m
- Text.LaTeX.Arguments: plain :: Monad m => Style m
- Text.LaTeX.Arguments: proc :: Monad m => Class m
- Text.LaTeX.Arguments: pt :: Monad m => Int -> LaTeX m
- Text.LaTeX.Arguments: report :: Monad m => Class m
- Text.LaTeX.Arguments: slides :: Monad m => Class m
- Text.LaTeX.Arguments: titlepage :: Monad m => ClassOption m
- Text.LaTeX.Arguments: totalheight :: Monad m => LaTeX m
- Text.LaTeX.Arguments: twocolumn :: Monad m => ClassOption m
- Text.LaTeX.Arguments: twoside :: Monad m => ClassOption m
- Text.LaTeX.Arguments: type Class m = LaTeX m
- Text.LaTeX.Arguments: type ClassOption m = LaTeX m
- Text.LaTeX.Arguments: type Color m = LaTeX m
- Text.LaTeX.Arguments: type Date m = LaTeX m
- Text.LaTeX.Arguments: type Encoding m = LaTeX m
- Text.LaTeX.Arguments: type Extend m = LaTeX m
- Text.LaTeX.Arguments: type Height m = LaTeX m
- Text.LaTeX.Arguments: type ItemOption m = LaTeX m
- Text.LaTeX.Arguments: type Language m = LaTeX m
- Text.LaTeX.Arguments: type Lift m = LaTeX m
- Text.LaTeX.Arguments: type Marker m = LaTeX m
- Text.LaTeX.Arguments: type Name m = LaTeX m
- Text.LaTeX.Arguments: type PlacementSpecifier m = LaTeX m
- Text.LaTeX.Arguments: type Style m = LaTeX m
- Text.LaTeX.Arguments: type Text m = LaTeX m
- Text.LaTeX.Arguments: type Title m = LaTeX m
- Text.LaTeX.Arguments: type URL m = LaTeX m
- Text.LaTeX.Arguments: type Width m = LaTeX m
- Text.LaTeX.Arguments: type Word m = LaTeX m
- Text.LaTeX.Arguments: width :: Monad m => LaTeX m
- Text.LaTeX.Commands: (&) :: Monad m => LaTeX m -> LaTeX m -> LaTeX m
- Text.LaTeX.Commands: (//) :: Monad m => LaTeX m -> LaTeX m -> LaTeX m
- Text.LaTeX.Commands: abstract :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: appendix :: Monad m => LaTeX m
- Text.LaTeX.Commands: author :: Monad m => Name m -> LaTeX m
- Text.LaTeX.Commands: backmatter :: Monad m => LaTeX m
- Text.LaTeX.Commands: bigskip :: Monad m => LaTeX m
- Text.LaTeX.Commands: caption :: Monad m => Text m -> LaTeX m
- Text.LaTeX.Commands: center :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: chapter :: Monad m => Title m -> LaTeX m
- Text.LaTeX.Commands: chapter_ :: Monad m => Title m -> LaTeX m
- Text.LaTeX.Commands: chaptertab :: Monad m => Title m -> Title m -> LaTeX m
- Text.LaTeX.Commands: cjustified :: Monad m => Width m -> LaTeX m
- Text.LaTeX.Commands: cleardoublepage :: Monad m => LaTeX m
- Text.LaTeX.Commands: clearpage :: Monad m => LaTeX m
- Text.LaTeX.Commands: cline :: Monad m => Int -> Int -> LaTeX m
- Text.LaTeX.Commands: csep :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: date :: Monad m => Date m -> LaTeX m
- Text.LaTeX.Commands: description :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: document :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: documentclass :: Monad m => [ClassOption m] -> Class m -> LaTeX m
- Text.LaTeX.Commands: emph :: Monad m => Text m -> LaTeX m
- Text.LaTeX.Commands: endsen :: Monad m => LaTeX m
- Text.LaTeX.Commands: enumerate :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: fbox :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: figure :: Monad m => [PlacementSpecifier m] -> LaTeX m -> LaTeX m
- Text.LaTeX.Commands: flushleft :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: flushright :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: footnote :: Monad m => Text m -> LaTeX m
- Text.LaTeX.Commands: footnotesize :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: framebox :: Monad m => [Width m] -> [Char] -> LaTeX m -> LaTeX m
- Text.LaTeX.Commands: frenchspacing :: Monad m => LaTeX m
- Text.LaTeX.Commands: frontmatter :: Monad m => LaTeX m
- Text.LaTeX.Commands: fussy :: Monad m => LaTeX m
- Text.LaTeX.Commands: hline :: Monad m => LaTeX m
- Text.LaTeX.Commands: hspace :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: hspace_ :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: huge :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: huge2 :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: hyp :: Monad m => LaTeX m
- Text.LaTeX.Commands: hyphenation :: Monad m => [Word m] -> LaTeX m
- Text.LaTeX.Commands: ignorespaces :: Monad m => LaTeX m
- Text.LaTeX.Commands: ignorespacesafterend :: Monad m => LaTeX m
- Text.LaTeX.Commands: include :: Monad m => FilePath -> LaTeX m
- Text.LaTeX.Commands: includeonly :: Monad m => [FilePath] -> LaTeX m
- Text.LaTeX.Commands: input :: Monad m => FilePath -> LaTeX m
- Text.LaTeX.Commands: item :: Monad m => [ItemOption m] -> LaTeX m
- Text.LaTeX.Commands: itemize :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: label :: Monad m => Marker m -> LaTeX m
- Text.LaTeX.Commands: large :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: large2 :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: large3 :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: latex :: Monad m => LaTeX m
- Text.LaTeX.Commands: latexe :: Monad m => LaTeX m
- Text.LaTeX.Commands: ldots :: Monad m => LaTeX m
- Text.LaTeX.Commands: linebreak :: Monad m => Int -> LaTeX m
- Text.LaTeX.Commands: linespread :: Monad m => Float -> LaTeX m
- Text.LaTeX.Commands: listoffigures :: Monad m => LaTeX m
- Text.LaTeX.Commands: listoftables :: Monad m => LaTeX m
- Text.LaTeX.Commands: lnbk :: Monad m => LaTeX m
- Text.LaTeX.Commands: lnbk_ :: Monad m => LaTeX m
- Text.LaTeX.Commands: mainmatter :: Monad m => LaTeX m
- Text.LaTeX.Commands: makebox :: Monad m => [Width m] -> [Char] -> LaTeX m -> LaTeX m
- Text.LaTeX.Commands: maketitle :: Monad m => LaTeX m
- Text.LaTeX.Commands: matrixTab :: Monad m => [LaTeX m] -> LaTeX m -> LxMatrix m -> Tabular m
- Text.LaTeX.Commands: mbox :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: mbox_ :: Monad m => LaTeX m
- Text.LaTeX.Commands: minipage :: Monad m => [Char] -> Width m -> LaTeX m -> LaTeX m
- Text.LaTeX.Commands: multicolumn :: Monad m => Int -> LaTeX m -> LaTeX m -> LaTeX m
- Text.LaTeX.Commands: newcommand :: Monad m => Name m -> [Int] -> LaTeX m -> LaTeX m
- Text.LaTeX.Commands: newenvironment :: Monad m => Name m -> [Int] -> LaTeX m -> LaTeX m -> LaTeX m
- Text.LaTeX.Commands: newpage :: Monad m => LaTeX m
- Text.LaTeX.Commands: nolinebreak :: Monad m => Int -> LaTeX m
- Text.LaTeX.Commands: nopagebreak :: Monad m => Int -> LaTeX m
- Text.LaTeX.Commands: normalsize :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: pagebreak :: Monad m => Int -> LaTeX m
- Text.LaTeX.Commands: pageref :: Monad m => Marker m -> LaTeX m
- Text.LaTeX.Commands: pagestyle :: Monad m => Style m -> LaTeX m
- Text.LaTeX.Commands: par :: Monad m => LaTeX m
- Text.LaTeX.Commands: paragraph :: Monad m => Title m -> LaTeX m
- Text.LaTeX.Commands: paragraph_ :: Monad m => Title m -> LaTeX m
- Text.LaTeX.Commands: paragraphtab :: Monad m => Title m -> Title m -> LaTeX m
- Text.LaTeX.Commands: parbox :: Monad m => [Char] -> Width m -> LaTeX m -> LaTeX m
- Text.LaTeX.Commands: part :: Monad m => Title m -> LaTeX m
- Text.LaTeX.Commands: part_ :: Monad m => Title m -> LaTeX m
- Text.LaTeX.Commands: parttab :: Monad m => Title m -> Title m -> LaTeX m
- Text.LaTeX.Commands: pfbk :: Monad m => LaTeX m
- Text.LaTeX.Commands: phantom :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: protect :: Monad m => LaTeX m
- Text.LaTeX.Commands: providecommand :: Monad m => Name m -> [Int] -> LaTeX m -> LaTeX m
- Text.LaTeX.Commands: providesPackage :: Monad m => Name m -> LaTeX m
- Text.LaTeX.Commands: qts :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: quotation :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: quote :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: raisebox :: Monad m => Lift m -> [Extend m] -> [Extend m] -> LaTeX m -> LaTeX m
- Text.LaTeX.Commands: ref :: Monad m => Marker m -> LaTeX m
- Text.LaTeX.Commands: renewcommand :: Monad m => Name m -> [Int] -> LaTeX m -> LaTeX m
- Text.LaTeX.Commands: rule :: Monad m => [Lift m] -> Width m -> Height m -> LaTeX m
- Text.LaTeX.Commands: scriptsize :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: section :: Monad m => Title m -> LaTeX m
- Text.LaTeX.Commands: section_ :: Monad m => Title m -> LaTeX m
- Text.LaTeX.Commands: sectiontab :: Monad m => Title m -> Title m -> LaTeX m
- Text.LaTeX.Commands: skip :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: sloppy :: Monad m => LaTeX m
- Text.LaTeX.Commands: small :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: smallskip :: Monad m => LaTeX m
- Text.LaTeX.Commands: stretch :: Monad m => Int -> LaTeX m
- Text.LaTeX.Commands: string :: Monad m => String -> LaTeX m
- Text.LaTeX.Commands: subparagraph :: Monad m => Title m -> LaTeX m
- Text.LaTeX.Commands: subparagraph_ :: Monad m => Title m -> LaTeX m
- Text.LaTeX.Commands: subparagraphtab :: Monad m => Title m -> Title m -> LaTeX m
- Text.LaTeX.Commands: subsection :: Monad m => Title m -> LaTeX m
- Text.LaTeX.Commands: subsection_ :: Monad m => Title m -> LaTeX m
- Text.LaTeX.Commands: subsectiontab :: Monad m => Title m -> Title m -> LaTeX m
- Text.LaTeX.Commands: subsubsection :: Monad m => Title m -> LaTeX m
- Text.LaTeX.Commands: subsubsection_ :: Monad m => Title m -> LaTeX m
- Text.LaTeX.Commands: subsubsectiontab :: Monad m => Title m -> Title m -> LaTeX m
- Text.LaTeX.Commands: table :: Monad m => [PlacementSpecifier m] -> LaTeX m -> LaTeX m
- Text.LaTeX.Commands: tableofcontents :: Monad m => LaTeX m
- Text.LaTeX.Commands: tabular :: Monad m => [LaTeX m] -> LaTeX m -> LaTeX m -> Tabular m
- Text.LaTeX.Commands: tex :: Monad m => LaTeX m
- Text.LaTeX.Commands: textbf :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: textit :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: textmd :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: textnormal :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: textrm :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: textsc :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: textsf :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: textsl :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: texttt :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: textup :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: thispagestyle :: Monad m => Style m -> LaTeX m
- Text.LaTeX.Commands: tiny :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: title :: Monad m => Title m -> LaTeX m
- Text.LaTeX.Commands: today :: Monad m => LaTeX m
- Text.LaTeX.Commands: type LxMatrix m = [[LaTeX m]]
- Text.LaTeX.Commands: type Tabular m = LaTeX m
- Text.LaTeX.Commands: underline :: Monad m => Text m -> LaTeX m
- Text.LaTeX.Commands: usepackage :: Monad m => [PackageOption m] -> Package m -> LaTeX m
- Text.LaTeX.Commands: verb :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: verb_ :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: verbatim :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: verbatim_ :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: verse :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: vspace :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Commands: vspace_ :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Define: comm0 :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Define: comm0_ :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Define: comm1 :: Monad m => LaTeX m -> LaTeX m -> LaTeX m
- Text.LaTeX.Define: comm10 :: Monad m => LaTeX m -> [LaTeX m] -> [LaTeX m] -> LaTeX m -> LaTeX m
- Text.LaTeX.Define: comm11 :: Monad m => LaTeX m -> LaTeX m -> [LaTeX m] -> [LaTeX m] -> LaTeX m -> LaTeX m
- Text.LaTeX.Define: comm12 :: Monad m => LaTeX m -> LaTeX m -> LaTeX m -> LaTeX m -> LaTeX m
- Text.LaTeX.Define: comm2 :: Monad m => LaTeX m -> LaTeX m -> [LaTeX m] -> LaTeX m
- Text.LaTeX.Define: comm3 :: Monad m => LaTeX m -> [LaTeX m] -> LaTeX m
- Text.LaTeX.Define: comm4 :: Monad m => LaTeX m -> [LaTeX m] -> LaTeX m -> LaTeX m
- Text.LaTeX.Define: comm5 :: Monad m => LaTeX m -> LaTeX m -> LaTeX m -> LaTeX m
- Text.LaTeX.Define: comm6 :: Monad m => LaTeX m -> LaTeX m -> [LaTeX m] -> LaTeX m -> LaTeX m
- Text.LaTeX.Define: comm7 :: Monad m => LaTeX m -> LaTeX m -> [LaTeX m] -> LaTeX m -> LaTeX m -> LaTeX m
- Text.LaTeX.Define: comm8 :: Monad m => LaTeX m -> LaTeX m -> LaTeX m
- Text.LaTeX.Define: comm9 :: Monad m => LaTeX m -> [LaTeX m] -> LaTeX m -> LaTeX m -> LaTeX m
- Text.LaTeX.Define: env :: Monad m => LaTeX m -> LaTeX m -> LaTeX m
- Text.LaTeX.Define: env2 :: Monad m => LaTeX m -> [LaTeX m] -> LaTeX m -> LaTeX m
- Text.LaTeX.Define: env3 :: Monad m => LaTeX m -> [LaTeX m] -> LaTeX m -> LaTeX m -> LaTeX m
- Text.LaTeX.Macro: m_article :: Monad m => Name m -> Title m -> LaTeX m -> LaTeX m
- Text.LaTeX.Macro: m_articlep :: Monad m => Name m -> Title m -> [([PackageOption m], Package m)] -> LaTeX m -> LaTeX m
- Text.LaTeX.Macro: m_math :: Monad m => Name m -> Title m -> LaTeX m -> LaTeX m
- Text.LaTeX.Macro: m_simple :: Monad m => [ClassOption m] -> Class m -> Name m -> Title m -> LaTeX m -> LaTeX m
- Text.LaTeX.Macro: m_wpkgs :: Monad m => [ClassOption m] -> Class m -> Name m -> Title m -> [([PackageOption m], Package m)] -> LaTeX m -> LaTeX m
- Text.LaTeX.Monad: genlx :: Monad m => LaTeX m -> LaTeXT m a
- Text.LaTeX.Monad: instance Monad m => Eq (LaTeXT m a)
- Text.LaTeX.Monad: instance Monad m => IsString (LaTeXT m a)
- Text.LaTeX.Monad: instance Monad m => Monoid (LaTeXT m a)
- Text.LaTeX.Monad: instance Monad m => Show (LaTeXT m a)
- Text.LaTeX.Monad: lx :: Monad m => Result -> LaTeX m
- Text.LaTeX.Monad: lxany :: (Monad m, Show a) => a -> LaTeX m
- Text.LaTeX.Monad: lxanyw :: (Monad m, Show b) => b -> LaTeXT m a
- Text.LaTeX.Monad: lxw :: Monad m => Result -> LaTeXT m a
- Text.LaTeX.Monad: mlx :: Monad m => m a -> LaTeXT m a
- Text.LaTeX.Monad: nlx :: Monad m => LaTeXT m a -> m Result
- Text.LaTeX.Monad: reslx :: Monad m => (Result -> Result) -> (LaTeXT m a -> LaTeXT m a)
- Text.LaTeX.Monad: type LaTeX m = LaTeXT m ()
- Text.LaTeX.Monad: type LaTeXT m a = WriterT Result m a
- Text.LaTeX.Monad: ungenlx :: Monad m => LaTeXT m a -> LaTeX m
- Text.LaTeX.Packages: (!:) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: (*:) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: (+-) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: (-+) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: (-/) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: (->>) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: (-|) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: (/=:) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: (/@) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: (<*>) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: (<=:) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: (<=@) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: (<@) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: (==:) :: Monad m => LaTeXT m a -> LaTeXT m a -> LaTeXT m a
- Text.LaTeX.Packages: (===) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: (>=:) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: (>=@) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: (>@) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: (^:) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: (|-) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: (|.|) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: (~=) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: (~~) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: acute :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Packages: alpha :: Monad m => LaTeX m
- Text.LaTeX.Packages: amsmath :: Monad m => Package m
- Text.LaTeX.Packages: ansinew :: Monad m => Encoding m
- Text.LaTeX.Packages: applemac :: Monad m => Encoding m
- Text.LaTeX.Packages: babel :: Monad m => Package m
- Text.LaTeX.Packages: bar :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Packages: beta :: Monad m => LaTeX m
- Text.LaTeX.Packages: binom :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: breve :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Packages: cdot :: Monad m => MathTerm m
- Text.LaTeX.Packages: cdots :: Monad m => MathTerm m
- Text.LaTeX.Packages: check :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Packages: chi :: Monad m => LaTeX m
- Text.LaTeX.Packages: color :: Monad m => Color m -> LaTeX m
- Text.LaTeX.Packages: colorpkg :: Monad m => Package m
- Text.LaTeX.Packages: cp1251 :: Monad m => Encoding m
- Text.LaTeX.Packages: cp850 :: Monad m => Encoding m
- Text.LaTeX.Packages: cp866nav :: Monad m => Encoding m
- Text.LaTeX.Packages: dagger :: Monad m => LaTeX m
- Text.LaTeX.Packages: ddagger :: Monad m => LaTeX m
- Text.LaTeX.Packages: ddot :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Packages: ddots :: Monad m => MathTerm m
- Text.LaTeX.Packages: delta :: Monad m => LaTeX m
- Text.LaTeX.Packages: delta_ :: Monad m => LaTeX m
- Text.LaTeX.Packages: doc :: Monad m => Package m
- Text.LaTeX.Packages: dot :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Packages: dvipsnames :: Monad m => PackageOption m
- Text.LaTeX.Packages: epsilon :: Monad m => LaTeX m
- Text.LaTeX.Packages: equation :: Monad m => MathTerm m -> LaTeX m
- Text.LaTeX.Packages: equation_ :: Monad m => MathTerm m -> LaTeX m
- Text.LaTeX.Packages: eta :: Monad m => LaTeX m
- Text.LaTeX.Packages: euro :: Monad m => LaTeX m
- Text.LaTeX.Packages: eurosym :: Monad m => Package m
- Text.LaTeX.Packages: exscale :: Monad m => Package m
- Text.LaTeX.Packages: fancy :: Monad m => Style m
- Text.LaTeX.Packages: fancyhdr :: Monad m => Package m
- Text.LaTeX.Packages: fontenc :: Monad m => Package m
- Text.LaTeX.Packages: forall :: Monad m => LaTeX m
- Text.LaTeX.Packages: gamma :: Monad m => LaTeX m
- Text.LaTeX.Packages: gamma_ :: Monad m => LaTeX m
- Text.LaTeX.Packages: grave :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Packages: hat :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Packages: href :: Monad m => URL m -> Text m -> LaTeX m
- Text.LaTeX.Packages: hyperref :: Monad m => Package m
- Text.LaTeX.Packages: ifthen :: Monad m => Package m
- Text.LaTeX.Packages: inputenc :: Monad m => Package m
- Text.LaTeX.Packages: instance Monad m => Floating (LaTeXT m a)
- Text.LaTeX.Packages: instance Monad m => Fractional (LaTeXT m a)
- Text.LaTeX.Packages: instance Monad m => Num (LaTeXT m a)
- Text.LaTeX.Packages: iota :: Monad m => LaTeX m
- Text.LaTeX.Packages: kappa :: Monad m => LaTeX m
- Text.LaTeX.Packages: koi8_ru :: Monad m => Encoding m
- Text.LaTeX.Packages: lambda :: Monad m => LaTeX m
- Text.LaTeX.Packages: lambda_ :: Monad m => LaTeX m
- Text.LaTeX.Packages: latin1 :: Monad m => Encoding m
- Text.LaTeX.Packages: lgr :: Monad m => Encoding m
- Text.LaTeX.Packages: lim :: Monad m => MathTerm m
- Text.LaTeX.Packages: macukr :: Monad m => Encoding m
- Text.LaTeX.Packages: makeidx :: Monad m => Package m
- Text.LaTeX.Packages: math :: Monad m => MathTerm m -> LaTeX m
- Text.LaTeX.Packages: mathring :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Packages: monochrome :: Monad m => PackageOption m
- Text.LaTeX.Packages: msym :: Monad m => Package m
- Text.LaTeX.Packages: mu :: Monad m => LaTeX m
- Text.LaTeX.Packages: nodvipsnames :: Monad m => PackageOption m
- Text.LaTeX.Packages: normalcolor :: Monad m => LaTeX m
- Text.LaTeX.Packages: nu :: Monad m => LaTeX m
- Text.LaTeX.Packages: oT1 :: Monad m => Encoding m
- Text.LaTeX.Packages: omega :: Monad m => LaTeX m
- Text.LaTeX.Packages: omega_ :: Monad m => LaTeX m
- Text.LaTeX.Packages: overbrace :: Monad m => MathTerm m -> MathTerm m
- Text.LaTeX.Packages: overline :: Monad m => MathTerm m -> MathTerm m
- Text.LaTeX.Packages: pagecolor :: Monad m => Color m -> LaTeX m
- Text.LaTeX.Packages: pdftex :: Monad m => PackageOption m
- Text.LaTeX.Packages: phi :: Monad m => LaTeX m
- Text.LaTeX.Packages: phi_ :: Monad m => LaTeX m
- Text.LaTeX.Packages: pi_ :: Monad m => LaTeX m
- Text.LaTeX.Packages: proof :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Packages: psi :: Monad m => LaTeX m
- Text.LaTeX.Packages: psi_ :: Monad m => LaTeX m
- Text.LaTeX.Packages: rgb :: Monad m => Float -> Float -> Float -> Color m
- Text.LaTeX.Packages: rho :: Monad m => LaTeX m
- Text.LaTeX.Packages: selectlanguage :: Monad m => Language m -> LaTeX m
- Text.LaTeX.Packages: sigma :: Monad m => LaTeX m
- Text.LaTeX.Packages: sigma_ :: Monad m => LaTeX m
- Text.LaTeX.Packages: smash :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Packages: sqroot :: Monad m => [MathTerm m] -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: summ :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
- Text.LaTeX.Packages: sums :: Monad m => MathTerm m
- Text.LaTeX.Packages: sums_ :: Monad m => MathTerm m
- Text.LaTeX.Packages: syntaxonly :: Monad m => LaTeX m
- Text.LaTeX.Packages: syntonly :: Monad m => Package m
- Text.LaTeX.Packages: t1 :: Monad m => Encoding m
- Text.LaTeX.Packages: t2A :: Monad m => Encoding m
- Text.LaTeX.Packages: t2B :: Monad m => Encoding m
- Text.LaTeX.Packages: t2C :: Monad m => Encoding m
- Text.LaTeX.Packages: tau :: Monad m => LaTeX m
- Text.LaTeX.Packages: textcelsius :: Monad m => LaTeX m
- Text.LaTeX.Packages: textcomp :: Monad m => Package m
- Text.LaTeX.Packages: textdegree :: Monad m => LaTeX m
- Text.LaTeX.Packages: texteuro :: Monad m => LaTeX m
- Text.LaTeX.Packages: theta :: Monad m => LaTeX m
- Text.LaTeX.Packages: theta_ :: Monad m => LaTeX m
- Text.LaTeX.Packages: tilde :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Packages: type MathTerm m = LaTeX m
- Text.LaTeX.Packages: type Package m = LaTeX m
- Text.LaTeX.Packages: type PackageOption m = LaTeX m
- Text.LaTeX.Packages: ucs :: Monad m => Package m
- Text.LaTeX.Packages: underbrace :: Monad m => MathTerm m -> MathTerm m
- Text.LaTeX.Packages: upsilon :: Monad m => LaTeX m
- Text.LaTeX.Packages: upsilon_ :: Monad m => LaTeX m
- Text.LaTeX.Packages: usenames :: Monad m => PackageOption m
- Text.LaTeX.Packages: utf8x :: Monad m => Encoding m
- Text.LaTeX.Packages: varepsilon :: Monad m => LaTeX m
- Text.LaTeX.Packages: varphi :: Monad m => LaTeX m
- Text.LaTeX.Packages: varpi :: Monad m => LaTeX m
- Text.LaTeX.Packages: varrho :: Monad m => LaTeX m
- Text.LaTeX.Packages: varsigma :: Monad m => LaTeX m
- Text.LaTeX.Packages: vartheta :: Monad m => LaTeX m
- Text.LaTeX.Packages: vdots :: Monad m => MathTerm m
- Text.LaTeX.Packages: vec :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Packages: widehat :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Packages: widetilde :: Monad m => LaTeX m -> LaTeX m
- Text.LaTeX.Packages: x2 :: Monad m => Encoding m
- Text.LaTeX.Packages: xi :: Monad m => LaTeX m
- Text.LaTeX.Packages: xi_ :: Monad m => LaTeX m
- Text.LaTeX.Packages: zeta :: Monad m => LaTeX m
- Text.LaTeX.Result: fromResult :: Result -> String
- Text.LaTeX.Result: resCharsStr :: [(Char, Result)]
- Text.LaTeX.Result: toResult :: String -> Result
- Text.LaTeX.Result: type Result = DString
+ Text.LaTeX.Base: (<>) :: Monoid a => a -> a -> a
+ Text.LaTeX.Base: data LaTeX
+ Text.LaTeX.Base.Commands: (&) :: LaTeX -> LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: a0paper :: LaTeX
+ Text.LaTeX.Base.Commands: a1paper :: LaTeX
+ Text.LaTeX.Base.Commands: a2paper :: LaTeX
+ Text.LaTeX.Base.Commands: a3paper :: LaTeX
+ Text.LaTeX.Base.Commands: a4paper :: LaTeX
+ Text.LaTeX.Base.Commands: a5paper :: LaTeX
+ Text.LaTeX.Base.Commands: a6paper :: LaTeX
+ Text.LaTeX.Base.Commands: abstract :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: alph :: LaTeX
+ Text.LaTeX.Base.Commands: alph_ :: LaTeX
+ Text.LaTeX.Base.Commands: appendix :: LaTeX
+ Text.LaTeX.Base.Commands: arabic :: LaTeX
+ Text.LaTeX.Base.Commands: article :: LaTeX
+ Text.LaTeX.Base.Commands: author :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: b0paper :: LaTeX
+ Text.LaTeX.Base.Commands: b1paper :: LaTeX
+ Text.LaTeX.Base.Commands: b2paper :: LaTeX
+ Text.LaTeX.Base.Commands: b3paper :: LaTeX
+ Text.LaTeX.Base.Commands: b4paper :: LaTeX
+ Text.LaTeX.Base.Commands: b5paper :: LaTeX
+ Text.LaTeX.Base.Commands: b6paper :: LaTeX
+ Text.LaTeX.Base.Commands: bigskip :: LaTeX
+ Text.LaTeX.Base.Commands: book :: LaTeX
+ Text.LaTeX.Base.Commands: center :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: chapter :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: cite :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: cleardoublepage :: LaTeX
+ Text.LaTeX.Base.Commands: clearpage :: LaTeX
+ Text.LaTeX.Base.Commands: cline :: Int -> Int -> LaTeX
+ Text.LaTeX.Base.Commands: date :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: ddots :: LaTeX
+ Text.LaTeX.Base.Commands: description :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: document :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: documentclass :: [LaTeX] -> LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: draft :: LaTeX
+ Text.LaTeX.Base.Commands: emph :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: empty :: LaTeX
+ Text.LaTeX.Base.Commands: enumerate :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: equation :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: equation_ :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: executivepaper :: LaTeX
+ Text.LaTeX.Base.Commands: fbox :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: fleqn :: LaTeX
+ Text.LaTeX.Base.Commands: flushleft :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: flushright :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: footnote :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: footnotesize :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: framebox :: Maybe Measure -> Maybe Pos -> LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: hatex :: LaTeX
+ Text.LaTeX.Base.Commands: hatex3 :: LaTeX
+ Text.LaTeX.Base.Commands: hatex_meta :: LaTeX
+ Text.LaTeX.Base.Commands: hatex_version :: LaTeX
+ Text.LaTeX.Base.Commands: headings :: LaTeX
+ Text.LaTeX.Base.Commands: hline :: LaTeX
+ Text.LaTeX.Base.Commands: hspace :: Measure -> LaTeX
+ Text.LaTeX.Base.Commands: hspace_ :: Measure -> LaTeX
+ Text.LaTeX.Base.Commands: huge :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: huge2 :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: hyp :: LaTeX
+ Text.LaTeX.Base.Commands: hyphenation :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: indent :: LaTeX
+ Text.LaTeX.Base.Commands: institute :: Maybe LaTeX -> LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: item :: Maybe LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: itemize :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: laTeX2 :: LaTeX
+ Text.LaTeX.Base.Commands: laTeXe :: LaTeX
+ Text.LaTeX.Base.Commands: label :: Label -> LaTeX
+ Text.LaTeX.Base.Commands: landscape :: LaTeX
+ Text.LaTeX.Base.Commands: large :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: large2 :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: large3 :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: latex :: LaTeX
+ Text.LaTeX.Base.Commands: ldots :: LaTeX
+ Text.LaTeX.Base.Commands: legalpaper :: LaTeX
+ Text.LaTeX.Base.Commands: leqno :: LaTeX
+ Text.LaTeX.Base.Commands: letterpaper :: LaTeX
+ Text.LaTeX.Base.Commands: linebreak :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: linespread :: Float -> LaTeX
+ Text.LaTeX.Base.Commands: lnbk :: LaTeX
+ Text.LaTeX.Base.Commands: lnbk_ :: LaTeX
+ Text.LaTeX.Base.Commands: makebox :: Maybe Measure -> Maybe Pos -> LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: maketitle :: LaTeX
+ Text.LaTeX.Base.Commands: markboth :: LaTeX -> LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: markright :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: mbox :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: minimal :: LaTeX
+ Text.LaTeX.Base.Commands: myheadings :: LaTeX
+ Text.LaTeX.Base.Commands: newline :: LaTeX
+ Text.LaTeX.Base.Commands: newpage :: LaTeX
+ Text.LaTeX.Base.Commands: noindent :: LaTeX
+ Text.LaTeX.Base.Commands: nolinebreak :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: nopagebreak :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: normalsize :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: notitlepage :: LaTeX
+ Text.LaTeX.Base.Commands: onecolumn :: LaTeX
+ Text.LaTeX.Base.Commands: oneside :: LaTeX
+ Text.LaTeX.Base.Commands: openany :: LaTeX
+ Text.LaTeX.Base.Commands: openright :: LaTeX
+ Text.LaTeX.Base.Commands: pagebreak :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: pagenumbering :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: pageref :: Label -> LaTeX
+ Text.LaTeX.Base.Commands: pagestyle :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: paragraph :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: parbox :: Maybe Pos -> Measure -> LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: part :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: plain :: LaTeX
+ Text.LaTeX.Base.Commands: proc :: LaTeX
+ Text.LaTeX.Base.Commands: protect :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: qts :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: quote :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: raisebox :: Measure -> Maybe Measure -> Maybe Measure -> LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: raw :: Text -> LaTeX
+ Text.LaTeX.Base.Commands: ref :: Label -> LaTeX
+ Text.LaTeX.Base.Commands: report :: LaTeX
+ Text.LaTeX.Base.Commands: roman :: LaTeX
+ Text.LaTeX.Base.Commands: roman_ :: LaTeX
+ Text.LaTeX.Base.Commands: rule :: Maybe Measure -> Measure -> Measure -> LaTeX
+ Text.LaTeX.Base.Commands: scriptsize :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: section :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: slides :: LaTeX
+ Text.LaTeX.Base.Commands: small :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: smallskip :: LaTeX
+ Text.LaTeX.Base.Commands: stretch :: Int -> LaTeX
+ Text.LaTeX.Base.Commands: subparagraph :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: subsection :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: subsubsection :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: tableofcontents :: LaTeX
+ Text.LaTeX.Base.Commands: tabular :: Maybe Pos -> [TableSpec] -> LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: tex :: LaTeX
+ Text.LaTeX.Base.Commands: textbf :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: textit :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: textmd :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: textnormal :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: textrm :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: textsc :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: textsf :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: textsl :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: texttt :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: textup :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: thanks :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: thispagestyle :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: tiny :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: title :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: titlepage :: LaTeX
+ Text.LaTeX.Base.Commands: today :: LaTeX
+ Text.LaTeX.Base.Commands: twocolumn :: LaTeX
+ Text.LaTeX.Base.Commands: twoside :: LaTeX
+ Text.LaTeX.Base.Commands: underline :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: usepackage :: [LaTeX] -> String -> LaTeX
+ Text.LaTeX.Base.Commands: vdots :: LaTeX
+ Text.LaTeX.Base.Commands: verbatim :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: verse :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Commands: vspace :: Measure -> LaTeX
+ Text.LaTeX.Base.Commands.Monad: (&) :: Monad m => LaTeXT_ m -> LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: a0paper :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: a1paper :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: a2paper :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: a3paper :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: a4paper :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: a5paper :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: a6paper :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: abstract :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: alph :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: alph_ :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: appendix :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: arabic :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: article :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: author :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: b0paper :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: b1paper :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: b2paper :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: b3paper :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: b4paper :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: b5paper :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: b6paper :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: bigskip :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: book :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: center :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: chapter :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: cite :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: cleardoublepage :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: clearpage :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: cline :: Monad m => Int -> Int -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: date :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: ddots :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: description :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: document :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: documentclass :: Monad m => [LaTeXT_ m] -> LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: draft :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: emph :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: empty :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: enumerate :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: equation :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: equation_ :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: executivepaper :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: fbox :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: fleqn :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: flushleft :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: flushright :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: footnote :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: footnotesize :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: framebox :: Monad m => Maybe Measure -> Maybe Pos -> LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: hatex :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: hatex3 :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: hatex_meta :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: hatex_version :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: headings :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: hline :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: hspace :: Monad m => Measure -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: hspace_ :: Monad m => Measure -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: huge :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: huge2 :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: hyp :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: hyphenation :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: indent :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: institute :: Monad m => Maybe (LaTeXT_ m) -> LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: item :: Monad m => Maybe (LaTeXT_ m) -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: itemize :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: laTeX2 :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: laTeXe :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: label :: Monad m => Label -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: landscape :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: large :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: large2 :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: large3 :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: latex :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: ldots :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: legalpaper :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: leqno :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: letterpaper :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: linebreak :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: linespread :: Monad m => Float -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: lnbk :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: lnbk_ :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: makebox :: Monad m => Maybe Measure -> Maybe Pos -> LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: maketitle :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: markboth :: Monad m => LaTeXT_ m -> LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: markright :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: mbox :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: minimal :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: myheadings :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: newline :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: newpage :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: noindent :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: nolinebreak :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: nopagebreak :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: normalsize :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: notitlepage :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: onecolumn :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: oneside :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: openany :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: openright :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: pagebreak :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: pagenumbering :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: pageref :: Monad m => Label -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: pagestyle :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: paragraph :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: parbox :: Monad m => Maybe Pos -> Measure -> LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: part :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: plain :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: proc :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: protect :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: qts :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: quote :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: raisebox :: Monad m => Measure -> Maybe Measure -> Maybe Measure -> LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: raw :: Monad m => Text -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: ref :: Monad m => Label -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: report :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: roman :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: roman_ :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: rule :: Monad m => Maybe Measure -> Measure -> Measure -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: scriptsize :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: section :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: slides :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: small :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: smallskip :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: stretch :: Monad m => Int -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: subparagraph :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: subsection :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: subsubsection :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: tableofcontents :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: tabular :: Monad m => Maybe Pos -> [TableSpec] -> LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: tex :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: textbf :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: textit :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: textmd :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: textnormal :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: textrm :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: textsc :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: textsf :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: textsl :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: texttt :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: textup :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: thanks :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: thispagestyle :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: tiny :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: title :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: titlepage :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: today :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: twocolumn :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: twoside :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: underline :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: usepackage :: Monad m => [LaTeXT_ m] -> String -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: vdots :: Monad m => LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: verbatim :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: verse :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Base.Commands.Monad: vspace :: Monad m => Measure -> LaTeXT_ m
+ Text.LaTeX.Base.Monad: (<>) :: Monoid a => a -> a -> a
+ Text.LaTeX.Base.Monad: data LaTeX
+ Text.LaTeX.Base.Render: class Show a => Render a
+ Text.LaTeX.Base.Render: data Text :: *
+ Text.LaTeX.Base.Render: instance Render Float
+ Text.LaTeX.Base.Render: instance Render Int
+ Text.LaTeX.Base.Render: instance Render LaTeX
+ Text.LaTeX.Base.Render: instance Render TeXArg
+ Text.LaTeX.Base.Render: readFileTex :: FilePath -> IO Text
+ Text.LaTeX.Base.Render: render :: Render a => a -> Text
+ Text.LaTeX.Base.Render: renderAppend :: Render a => [a] -> Text
+ Text.LaTeX.Base.Render: renderCommas :: Render a => [a] -> Text
+ Text.LaTeX.Base.Render: renderFile :: Render a => FilePath -> a -> IO ()
+ Text.LaTeX.Base.Render: rendertex :: Render a => a -> LaTeX
+ Text.LaTeX.Base.Syntax: (<>) :: Monoid a => a -> a -> a
+ Text.LaTeX.Base.Syntax: FixArg :: LaTeX -> TeXArg
+ Text.LaTeX.Base.Syntax: MOptArg :: [LaTeX] -> TeXArg
+ Text.LaTeX.Base.Syntax: MSymArg :: [LaTeX] -> TeXArg
+ Text.LaTeX.Base.Syntax: OptArg :: LaTeX -> TeXArg
+ Text.LaTeX.Base.Syntax: SymArg :: LaTeX -> TeXArg
+ Text.LaTeX.Base.Syntax: TeXBraces :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Syntax: TeXComm :: String -> [TeXArg] -> LaTeX
+ Text.LaTeX.Base.Syntax: TeXCommS :: String -> LaTeX
+ Text.LaTeX.Base.Syntax: TeXEmpty :: LaTeX
+ Text.LaTeX.Base.Syntax: TeXEnv :: String -> [TeXArg] -> LaTeX -> LaTeX
+ Text.LaTeX.Base.Syntax: TeXMath :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Syntax: TeXNewLine :: Bool -> LaTeX
+ Text.LaTeX.Base.Syntax: TeXOp :: String -> LaTeX -> LaTeX -> LaTeX
+ Text.LaTeX.Base.Syntax: TeXRaw :: Text -> LaTeX
+ Text.LaTeX.Base.Syntax: TeXSeq :: LaTeX -> LaTeX -> LaTeX
+ Text.LaTeX.Base.Syntax: braces :: LaTeX -> LaTeX
+ Text.LaTeX.Base.Syntax: data LaTeX
+ Text.LaTeX.Base.Syntax: data TeXArg
+ Text.LaTeX.Base.Syntax: instance IsString LaTeX
+ Text.LaTeX.Base.Syntax: instance Monoid LaTeX
+ Text.LaTeX.Base.Syntax: instance Show LaTeX
+ Text.LaTeX.Base.Syntax: instance Show TeXArg
+ Text.LaTeX.Base.Types: Bottom :: Pos
+ Text.LaTeX.Base.Types: Center :: Pos
+ Text.LaTeX.Base.Types: CenterColumn :: TableSpec
+ Text.LaTeX.Base.Types: Cm :: Float -> Measure
+ Text.LaTeX.Base.Types: CustomMeasure :: LaTeX -> Measure
+ Text.LaTeX.Base.Types: DVerticalLine :: TableSpec
+ Text.LaTeX.Base.Types: Em :: Float -> Measure
+ Text.LaTeX.Base.Types: Ex :: Float -> Measure
+ Text.LaTeX.Base.Types: In :: Float -> Measure
+ Text.LaTeX.Base.Types: LeftColumn :: TableSpec
+ Text.LaTeX.Base.Types: Mm :: Float -> Measure
+ Text.LaTeX.Base.Types: ParColumnBot :: LaTeX -> TableSpec
+ Text.LaTeX.Base.Types: ParColumnMid :: LaTeX -> TableSpec
+ Text.LaTeX.Base.Types: ParColumnTop :: LaTeX -> TableSpec
+ Text.LaTeX.Base.Types: Pt :: Int -> Measure
+ Text.LaTeX.Base.Types: RightColumn :: TableSpec
+ Text.LaTeX.Base.Types: Top :: Pos
+ Text.LaTeX.Base.Types: VerticalLine :: TableSpec
+ Text.LaTeX.Base.Types: createLabel :: String -> Label
+ Text.LaTeX.Base.Types: data Label
+ Text.LaTeX.Base.Types: data Measure
+ Text.LaTeX.Base.Types: data Pos
+ Text.LaTeX.Base.Types: data TableSpec
+ Text.LaTeX.Base.Types: instance Render Label
+ Text.LaTeX.Base.Types: instance Render Measure
+ Text.LaTeX.Base.Types: instance Render Pos
+ Text.LaTeX.Base.Types: instance Render TableSpec
+ Text.LaTeX.Base.Types: instance Show Label
+ Text.LaTeX.Base.Types: instance Show Measure
+ Text.LaTeX.Base.Types: instance Show Pos
+ Text.LaTeX.Base.Types: instance Show TableSpec
+ Text.LaTeX.Base.Writer: data LaTeXT m a
+ Text.LaTeX.Base.Writer: execLaTeXT :: Functor m => LaTeXT m a -> m LaTeX
+ Text.LaTeX.Base.Writer: extractLaTeX :: Monad m => LaTeXT m a -> LaTeXT m (a, LaTeX)
+ Text.LaTeX.Base.Writer: extractLaTeX_ :: Monad m => LaTeXT m a -> LaTeXT m LaTeX
+ Text.LaTeX.Base.Writer: instance Applicative m => Applicative (LaTeXT m)
+ Text.LaTeX.Base.Writer: instance Functor m => Functor (LaTeXT m)
+ Text.LaTeX.Base.Writer: instance Monad m => IsString (LaTeXT m a)
+ Text.LaTeX.Base.Writer: instance Monad m => Monad (LaTeXT m)
+ Text.LaTeX.Base.Writer: instance MonadIO m => MonadIO (LaTeXT m)
+ Text.LaTeX.Base.Writer: runLaTeXT :: LaTeXT m a -> m (a, LaTeX)
+ Text.LaTeX.Base.Writer: textell :: Monad m => LaTeX -> LaTeXT m ()
+ Text.LaTeX.Base.Writer: type LaTeXT_ m = LaTeXT m ()
+ Text.LaTeX.Packages.AMSFonts: amsfonts :: String
+ Text.LaTeX.Packages.AMSFonts: mathbb :: LaTeX -> LaTeX
+ Text.LaTeX.Packages.AMSFonts.Monad: amsfonts :: String
+ Text.LaTeX.Packages.AMSFonts.Monad: mathbb :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Packages.AMSMath: (!:) :: LaTeX -> LaTeX -> LaTeX
+ Text.LaTeX.Packages.AMSMath: (^:) :: LaTeX -> LaTeX -> LaTeX
+ Text.LaTeX.Packages.AMSMath: amsmath :: String
+ Text.LaTeX.Packages.AMSMath: arccos :: LaTeX
+ Text.LaTeX.Packages.AMSMath: arcsin :: LaTeX
+ Text.LaTeX.Packages.AMSMath: arctan :: LaTeX
+ Text.LaTeX.Packages.AMSMath: ln :: LaTeX
+ Text.LaTeX.Packages.AMSMath: math :: LaTeX -> LaTeX
+ Text.LaTeX.Packages.AMSMath: mathbf :: LaTeX -> LaTeX
+ Text.LaTeX.Packages.AMSMath: mathcal :: LaTeX -> LaTeX
+ Text.LaTeX.Packages.AMSMath: mathit :: LaTeX -> LaTeX
+ Text.LaTeX.Packages.AMSMath: mathrm :: LaTeX -> LaTeX
+ Text.LaTeX.Packages.AMSMath: mathsf :: LaTeX -> LaTeX
+ Text.LaTeX.Packages.AMSMath: mathtt :: LaTeX -> LaTeX
+ Text.LaTeX.Packages.AMSMath: tcos :: LaTeX
+ Text.LaTeX.Packages.AMSMath: texp :: LaTeX
+ Text.LaTeX.Packages.AMSMath: tlog :: LaTeX
+ Text.LaTeX.Packages.AMSMath: to :: LaTeX
+ Text.LaTeX.Packages.AMSMath: tsin :: LaTeX
+ Text.LaTeX.Packages.AMSMath: ttan :: LaTeX
+ Text.LaTeX.Packages.AMSMath.Monad: (!:) :: Monad m => LaTeXT_ m -> LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Packages.AMSMath.Monad: (^:) :: Monad m => LaTeXT_ m -> LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Packages.AMSMath.Monad: amsmath :: String
+ Text.LaTeX.Packages.AMSMath.Monad: arccos :: Monad m => LaTeXT_ m
+ Text.LaTeX.Packages.AMSMath.Monad: arcsin :: Monad m => LaTeXT_ m
+ Text.LaTeX.Packages.AMSMath.Monad: arctan :: Monad m => LaTeXT_ m
+ Text.LaTeX.Packages.AMSMath.Monad: ln :: Monad m => LaTeXT_ m
+ Text.LaTeX.Packages.AMSMath.Monad: math :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Packages.AMSMath.Monad: mathbf :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Packages.AMSMath.Monad: mathcal :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Packages.AMSMath.Monad: mathit :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Packages.AMSMath.Monad: mathrm :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Packages.AMSMath.Monad: mathsf :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Packages.AMSMath.Monad: mathtt :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Packages.AMSMath.Monad: tcos :: Monad m => LaTeXT_ m
+ Text.LaTeX.Packages.AMSMath.Monad: texp :: Monad m => LaTeXT_ m
+ Text.LaTeX.Packages.AMSMath.Monad: tlog :: Monad m => LaTeXT_ m
+ Text.LaTeX.Packages.AMSMath.Monad: to :: Monad m => LaTeXT_ m
+ Text.LaTeX.Packages.AMSMath.Monad: tsin :: Monad m => LaTeXT_ m
+ Text.LaTeX.Packages.AMSMath.Monad: ttan :: Monad m => LaTeXT_ m
+ Text.LaTeX.Packages.Beamer: AnnArbor :: Theme
+ Text.LaTeX.Packages.Beamer: Antibes :: Theme
+ Text.LaTeX.Packages.Beamer: Bergen :: Theme
+ Text.LaTeX.Packages.Beamer: Berkeley :: Theme
+ Text.LaTeX.Packages.Beamer: Berlin :: Theme
+ Text.LaTeX.Packages.Beamer: Boadilla :: Theme
+ Text.LaTeX.Packages.Beamer: Boxes :: Theme
+ Text.LaTeX.Packages.Beamer: CambridgeUS :: Theme
+ Text.LaTeX.Packages.Beamer: Copenhagen :: Theme
+ Text.LaTeX.Packages.Beamer: CustomTheme :: String -> Theme
+ Text.LaTeX.Packages.Beamer: Darmstadt :: Theme
+ Text.LaTeX.Packages.Beamer: Default :: Theme
+ Text.LaTeX.Packages.Beamer: Dresden :: Theme
+ Text.LaTeX.Packages.Beamer: Frankfurt :: Theme
+ Text.LaTeX.Packages.Beamer: FromSlide :: Int -> OverlaySpec
+ Text.LaTeX.Packages.Beamer: FromToSlide :: Int -> Int -> OverlaySpec
+ Text.LaTeX.Packages.Beamer: Goettingen :: Theme
+ Text.LaTeX.Packages.Beamer: Hannover :: Theme
+ Text.LaTeX.Packages.Beamer: Ilmenau :: Theme
+ Text.LaTeX.Packages.Beamer: JuanLesPins :: Theme
+ Text.LaTeX.Packages.Beamer: Luebeck :: Theme
+ Text.LaTeX.Packages.Beamer: Madrid :: Theme
+ Text.LaTeX.Packages.Beamer: Malmoe :: Theme
+ Text.LaTeX.Packages.Beamer: Marburg :: Theme
+ Text.LaTeX.Packages.Beamer: Montpellier :: Theme
+ Text.LaTeX.Packages.Beamer: OneSlide :: Int -> OverlaySpec
+ Text.LaTeX.Packages.Beamer: PaloAlto :: Theme
+ Text.LaTeX.Packages.Beamer: Pittsburgh :: Theme
+ Text.LaTeX.Packages.Beamer: Rochester :: Theme
+ Text.LaTeX.Packages.Beamer: Singapore :: Theme
+ Text.LaTeX.Packages.Beamer: Szeged :: Theme
+ Text.LaTeX.Packages.Beamer: ToSlide :: Int -> OverlaySpec
+ Text.LaTeX.Packages.Beamer: Warsaw :: Theme
+ Text.LaTeX.Packages.Beamer: alert :: [OverlaySpec] -> LaTeX -> LaTeX
+ Text.LaTeX.Packages.Beamer: beamer :: LaTeX
+ Text.LaTeX.Packages.Beamer: beameritem :: [OverlaySpec] -> LaTeX
+ Text.LaTeX.Packages.Beamer: block :: LaTeX -> LaTeX -> LaTeX
+ Text.LaTeX.Packages.Beamer: data OverlaySpec
+ Text.LaTeX.Packages.Beamer: data Theme
+ Text.LaTeX.Packages.Beamer: frame :: LaTeX -> LaTeX
+ Text.LaTeX.Packages.Beamer: framesubtitle :: LaTeX -> LaTeX
+ Text.LaTeX.Packages.Beamer: frametitle :: LaTeX -> LaTeX
+ Text.LaTeX.Packages.Beamer: instance Render OverlaySpec
+ Text.LaTeX.Packages.Beamer: instance Render Theme
+ Text.LaTeX.Packages.Beamer: instance Show OverlaySpec
+ Text.LaTeX.Packages.Beamer: instance Show Theme
+ Text.LaTeX.Packages.Beamer: only :: [OverlaySpec] -> LaTeX -> LaTeX
+ Text.LaTeX.Packages.Beamer: pause :: LaTeX
+ Text.LaTeX.Packages.Beamer: uncover :: [OverlaySpec] -> LaTeX -> LaTeX
+ Text.LaTeX.Packages.Beamer: usetheme :: Theme -> LaTeX
+ Text.LaTeX.Packages.Beamer.Monad: AnnArbor :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: Antibes :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: Bergen :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: Berkeley :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: Berlin :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: Boadilla :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: Boxes :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: CambridgeUS :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: Copenhagen :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: CustomTheme :: String -> Theme
+ Text.LaTeX.Packages.Beamer.Monad: Darmstadt :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: Default :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: Dresden :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: Frankfurt :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: FromSlide :: Int -> OverlaySpec
+ Text.LaTeX.Packages.Beamer.Monad: FromToSlide :: Int -> Int -> OverlaySpec
+ Text.LaTeX.Packages.Beamer.Monad: Goettingen :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: Hannover :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: Ilmenau :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: JuanLesPins :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: Luebeck :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: Madrid :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: Malmoe :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: Marburg :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: Montpellier :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: OneSlide :: Int -> OverlaySpec
+ Text.LaTeX.Packages.Beamer.Monad: PaloAlto :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: Pittsburgh :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: Rochester :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: Singapore :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: Szeged :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: ToSlide :: Int -> OverlaySpec
+ Text.LaTeX.Packages.Beamer.Monad: Warsaw :: Theme
+ Text.LaTeX.Packages.Beamer.Monad: alert :: Monad m => [OverlaySpec] -> LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Packages.Beamer.Monad: beamer :: Monad m => LaTeXT_ m
+ Text.LaTeX.Packages.Beamer.Monad: beameritem :: Monad m => [OverlaySpec] -> LaTeXT_ m
+ Text.LaTeX.Packages.Beamer.Monad: block :: Monad m => LaTeXT_ m -> LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Packages.Beamer.Monad: data OverlaySpec
+ Text.LaTeX.Packages.Beamer.Monad: data Theme
+ Text.LaTeX.Packages.Beamer.Monad: frame :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Packages.Beamer.Monad: framesubtitle :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Packages.Beamer.Monad: frametitle :: Monad m => LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Packages.Beamer.Monad: only :: Monad m => [OverlaySpec] -> LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Packages.Beamer.Monad: pause :: Monad m => LaTeXT_ m
+ Text.LaTeX.Packages.Beamer.Monad: uncover :: Monad m => [OverlaySpec] -> LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Packages.Beamer.Monad: usetheme :: Monad m => Theme -> LaTeXT_ m
+ Text.LaTeX.Packages.Color: Apricot :: ColorName
+ Text.LaTeX.Packages.Color: Aquamarine :: ColorName
+ Text.LaTeX.Packages.Color: Bittersweet :: ColorName
+ Text.LaTeX.Packages.Color: Black :: Color
+ Text.LaTeX.Packages.Color: Blue :: Color
+ Text.LaTeX.Packages.Color: BlueGreen :: ColorName
+ Text.LaTeX.Packages.Color: BlueViolet :: ColorName
+ Text.LaTeX.Packages.Color: BrickRed :: ColorName
+ Text.LaTeX.Packages.Color: Brown :: ColorName
+ Text.LaTeX.Packages.Color: BurntOrange :: ColorName
+ Text.LaTeX.Packages.Color: CMYK :: Float -> Float -> Float -> Float -> ColorModel
+ Text.LaTeX.Packages.Color: CadetBlue :: ColorName
+ Text.LaTeX.Packages.Color: CarnationPink :: ColorName
+ Text.LaTeX.Packages.Color: Cerulean :: ColorName
+ Text.LaTeX.Packages.Color: CornflowerBlue :: ColorName
+ Text.LaTeX.Packages.Color: Cyan :: Color
+ Text.LaTeX.Packages.Color: Dandelion :: ColorName
+ Text.LaTeX.Packages.Color: DarkOrchid :: ColorName
+ Text.LaTeX.Packages.Color: DefColor :: Color -> ColSpec
+ Text.LaTeX.Packages.Color: DvipsColor :: ColorName -> ColSpec
+ Text.LaTeX.Packages.Color: Emerald :: ColorName
+ Text.LaTeX.Packages.Color: ForestGreen :: ColorName
+ Text.LaTeX.Packages.Color: Fuchsia :: ColorName
+ Text.LaTeX.Packages.Color: Goldenrod :: ColorName
+ Text.LaTeX.Packages.Color: Gray :: ColorName
+ Text.LaTeX.Packages.Color: GrayM :: Float -> ColorModel
+ Text.LaTeX.Packages.Color: Green :: Color
+ Text.LaTeX.Packages.Color: GreenYellow :: ColorName
+ Text.LaTeX.Packages.Color: HTML :: String -> ColorModel
+ Text.LaTeX.Packages.Color: JungleGreen :: ColorName
+ Text.LaTeX.Packages.Color: Lavender :: ColorName
+ Text.LaTeX.Packages.Color: LimeGreen :: ColorName
+ Text.LaTeX.Packages.Color: Magenta :: Color
+ Text.LaTeX.Packages.Color: Mahogany :: ColorName
+ Text.LaTeX.Packages.Color: Maroon :: ColorName
+ Text.LaTeX.Packages.Color: Melon :: ColorName
+ Text.LaTeX.Packages.Color: MidnightBlue :: ColorName
+ Text.LaTeX.Packages.Color: ModColor :: ColorModel -> ColSpec
+ Text.LaTeX.Packages.Color: Mulberry :: ColorName
+ Text.LaTeX.Packages.Color: NavyBlue :: ColorName
+ Text.LaTeX.Packages.Color: OliveGreen :: ColorName
+ Text.LaTeX.Packages.Color: Orange :: ColorName
+ Text.LaTeX.Packages.Color: OrangeRed :: ColorName
+ Text.LaTeX.Packages.Color: Orchid :: ColorName
+ Text.LaTeX.Packages.Color: Peach :: ColorName
+ Text.LaTeX.Packages.Color: Periwinkle :: ColorName
+ Text.LaTeX.Packages.Color: PineGreen :: ColorName
+ Text.LaTeX.Packages.Color: Plum :: ColorName
+ Text.LaTeX.Packages.Color: ProcessBlue :: ColorName
+ Text.LaTeX.Packages.Color: Purple :: ColorName
+ Text.LaTeX.Packages.Color: RGB :: Float -> Float -> Float -> ColorModel
+ Text.LaTeX.Packages.Color: RGB255 :: Int -> Int -> Int -> ColorModel
+ Text.LaTeX.Packages.Color: RawSienna :: ColorName
+ Text.LaTeX.Packages.Color: Red :: Color
+ Text.LaTeX.Packages.Color: RedOrange :: ColorName
+ Text.LaTeX.Packages.Color: RedViolet :: ColorName
+ Text.LaTeX.Packages.Color: Rhodamine :: ColorName
+ Text.LaTeX.Packages.Color: RoyalBlue :: ColorName
+ Text.LaTeX.Packages.Color: RubineRed :: ColorName
+ Text.LaTeX.Packages.Color: Salmon :: ColorName
+ Text.LaTeX.Packages.Color: SeaGreen :: ColorName
+ Text.LaTeX.Packages.Color: Sepia :: ColorName
+ Text.LaTeX.Packages.Color: SkyBlue :: ColorName
+ Text.LaTeX.Packages.Color: SpringGreen :: ColorName
+ Text.LaTeX.Packages.Color: Tan :: ColorName
+ Text.LaTeX.Packages.Color: TealBlue :: ColorName
+ Text.LaTeX.Packages.Color: Thistle :: ColorName
+ Text.LaTeX.Packages.Color: Turquoise :: ColorName
+ Text.LaTeX.Packages.Color: Violet :: ColorName
+ Text.LaTeX.Packages.Color: VioletRed :: ColorName
+ Text.LaTeX.Packages.Color: White :: Color
+ Text.LaTeX.Packages.Color: WildStrawberry :: ColorName
+ Text.LaTeX.Packages.Color: Yellow :: Color
+ Text.LaTeX.Packages.Color: YellowGreen :: ColorName
+ Text.LaTeX.Packages.Color: YellowOrange :: ColorName
+ Text.LaTeX.Packages.Color: color :: ColSpec -> LaTeX
+ Text.LaTeX.Packages.Color: colorbox :: ColSpec -> LaTeX -> LaTeX
+ Text.LaTeX.Packages.Color: data ColSpec
+ Text.LaTeX.Packages.Color: data Color
+ Text.LaTeX.Packages.Color: data ColorModel
+ Text.LaTeX.Packages.Color: data ColorName
+ Text.LaTeX.Packages.Color: dvipsnames :: LaTeX
+ Text.LaTeX.Packages.Color: fcolorbox :: ColSpec -> ColSpec -> LaTeX -> LaTeX
+ Text.LaTeX.Packages.Color: instance Render ColSpec
+ Text.LaTeX.Packages.Color: instance Render Color
+ Text.LaTeX.Packages.Color: instance Render ColorModel
+ Text.LaTeX.Packages.Color: instance Render ColorName
+ Text.LaTeX.Packages.Color: instance Show ColSpec
+ Text.LaTeX.Packages.Color: instance Show Color
+ Text.LaTeX.Packages.Color: instance Show ColorModel
+ Text.LaTeX.Packages.Color: instance Show ColorName
+ Text.LaTeX.Packages.Color: monochrome :: LaTeX
+ Text.LaTeX.Packages.Color: nodvipsnames :: LaTeX
+ Text.LaTeX.Packages.Color: normalcolor :: LaTeX
+ Text.LaTeX.Packages.Color: pagecolor :: ColSpec -> LaTeX
+ Text.LaTeX.Packages.Color: pcolor :: String
+ Text.LaTeX.Packages.Color: textcolor :: ColSpec -> LaTeX -> LaTeX
+ Text.LaTeX.Packages.Color: usenames :: LaTeX
+ Text.LaTeX.Packages.Color.Monad: Apricot :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Aquamarine :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Bittersweet :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Black :: Color
+ Text.LaTeX.Packages.Color.Monad: Blue :: Color
+ Text.LaTeX.Packages.Color.Monad: BlueGreen :: ColorName
+ Text.LaTeX.Packages.Color.Monad: BlueViolet :: ColorName
+ Text.LaTeX.Packages.Color.Monad: BrickRed :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Brown :: ColorName
+ Text.LaTeX.Packages.Color.Monad: BurntOrange :: ColorName
+ Text.LaTeX.Packages.Color.Monad: CMYK :: Float -> Float -> Float -> Float -> ColorModel
+ Text.LaTeX.Packages.Color.Monad: CadetBlue :: ColorName
+ Text.LaTeX.Packages.Color.Monad: CarnationPink :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Cerulean :: ColorName
+ Text.LaTeX.Packages.Color.Monad: CornflowerBlue :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Cyan :: Color
+ Text.LaTeX.Packages.Color.Monad: Dandelion :: ColorName
+ Text.LaTeX.Packages.Color.Monad: DarkOrchid :: ColorName
+ Text.LaTeX.Packages.Color.Monad: DefColor :: Color -> ColSpec
+ Text.LaTeX.Packages.Color.Monad: DvipsColor :: ColorName -> ColSpec
+ Text.LaTeX.Packages.Color.Monad: Emerald :: ColorName
+ Text.LaTeX.Packages.Color.Monad: ForestGreen :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Fuchsia :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Goldenrod :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Gray :: ColorName
+ Text.LaTeX.Packages.Color.Monad: GrayM :: Float -> ColorModel
+ Text.LaTeX.Packages.Color.Monad: Green :: Color
+ Text.LaTeX.Packages.Color.Monad: GreenYellow :: ColorName
+ Text.LaTeX.Packages.Color.Monad: HTML :: String -> ColorModel
+ Text.LaTeX.Packages.Color.Monad: JungleGreen :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Lavender :: ColorName
+ Text.LaTeX.Packages.Color.Monad: LimeGreen :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Magenta :: Color
+ Text.LaTeX.Packages.Color.Monad: Mahogany :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Maroon :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Melon :: ColorName
+ Text.LaTeX.Packages.Color.Monad: MidnightBlue :: ColorName
+ Text.LaTeX.Packages.Color.Monad: ModColor :: ColorModel -> ColSpec
+ Text.LaTeX.Packages.Color.Monad: Mulberry :: ColorName
+ Text.LaTeX.Packages.Color.Monad: NavyBlue :: ColorName
+ Text.LaTeX.Packages.Color.Monad: OliveGreen :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Orange :: ColorName
+ Text.LaTeX.Packages.Color.Monad: OrangeRed :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Orchid :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Peach :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Periwinkle :: ColorName
+ Text.LaTeX.Packages.Color.Monad: PineGreen :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Plum :: ColorName
+ Text.LaTeX.Packages.Color.Monad: ProcessBlue :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Purple :: ColorName
+ Text.LaTeX.Packages.Color.Monad: RGB :: Float -> Float -> Float -> ColorModel
+ Text.LaTeX.Packages.Color.Monad: RGB255 :: Int -> Int -> Int -> ColorModel
+ Text.LaTeX.Packages.Color.Monad: RawSienna :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Red :: Color
+ Text.LaTeX.Packages.Color.Monad: RedOrange :: ColorName
+ Text.LaTeX.Packages.Color.Monad: RedViolet :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Rhodamine :: ColorName
+ Text.LaTeX.Packages.Color.Monad: RoyalBlue :: ColorName
+ Text.LaTeX.Packages.Color.Monad: RubineRed :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Salmon :: ColorName
+ Text.LaTeX.Packages.Color.Monad: SeaGreen :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Sepia :: ColorName
+ Text.LaTeX.Packages.Color.Monad: SkyBlue :: ColorName
+ Text.LaTeX.Packages.Color.Monad: SpringGreen :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Tan :: ColorName
+ Text.LaTeX.Packages.Color.Monad: TealBlue :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Thistle :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Turquoise :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Violet :: ColorName
+ Text.LaTeX.Packages.Color.Monad: VioletRed :: ColorName
+ Text.LaTeX.Packages.Color.Monad: White :: Color
+ Text.LaTeX.Packages.Color.Monad: WildStrawberry :: ColorName
+ Text.LaTeX.Packages.Color.Monad: Yellow :: Color
+ Text.LaTeX.Packages.Color.Monad: YellowGreen :: ColorName
+ Text.LaTeX.Packages.Color.Monad: YellowOrange :: ColorName
+ Text.LaTeX.Packages.Color.Monad: color :: Monad m => ColSpec -> LaTeXT_ m
+ Text.LaTeX.Packages.Color.Monad: colorbox :: Monad m => ColSpec -> LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Packages.Color.Monad: data ColSpec
+ Text.LaTeX.Packages.Color.Monad: data Color
+ Text.LaTeX.Packages.Color.Monad: data ColorModel
+ Text.LaTeX.Packages.Color.Monad: data ColorName
+ Text.LaTeX.Packages.Color.Monad: dvipsnames :: Monad m => LaTeXT_ m
+ Text.LaTeX.Packages.Color.Monad: fcolorbox :: Monad m => ColSpec -> ColSpec -> LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Packages.Color.Monad: monochrome :: Monad m => LaTeXT_ m
+ Text.LaTeX.Packages.Color.Monad: nodvipsnames :: Monad m => LaTeXT_ m
+ Text.LaTeX.Packages.Color.Monad: normalcolor :: Monad m => LaTeXT_ m
+ Text.LaTeX.Packages.Color.Monad: pagecolor :: Monad m => ColSpec -> LaTeXT_ m
+ Text.LaTeX.Packages.Color.Monad: pcolor :: String
+ Text.LaTeX.Packages.Color.Monad: textcolor :: Monad m => ColSpec -> LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Packages.Color.Monad: usenames :: Monad m => LaTeXT_ m
+ Text.LaTeX.Packages.Hyperref: HRefPage :: Int -> HRefOption
+ Text.LaTeX.Packages.Hyperref: PDFNewWindow :: HRefOption
+ Text.LaTeX.Packages.Hyperref: PDFRemoteStartView :: HRefOption
+ Text.LaTeX.Packages.Hyperref: autoref :: Label -> LaTeX
+ Text.LaTeX.Packages.Hyperref: createURL :: String -> URL
+ Text.LaTeX.Packages.Hyperref: data HRefOption
+ Text.LaTeX.Packages.Hyperref: data URL
+ Text.LaTeX.Packages.Hyperref: href :: [HRefOption] -> URL -> LaTeX -> LaTeX
+ Text.LaTeX.Packages.Hyperref: hyperbaseurl :: URL -> LaTeX
+ Text.LaTeX.Packages.Hyperref: hyperimage :: URL -> LaTeX -> LaTeX
+ Text.LaTeX.Packages.Hyperref: hyperref :: String
+ Text.LaTeX.Packages.Hyperref: instance Render HRefOption
+ Text.LaTeX.Packages.Hyperref: instance Render URL
+ Text.LaTeX.Packages.Hyperref: instance Show HRefOption
+ Text.LaTeX.Packages.Hyperref: instance Show URL
+ Text.LaTeX.Packages.Hyperref: nolinkurl :: URL -> LaTeX
+ Text.LaTeX.Packages.Hyperref: url :: URL -> LaTeX
+ Text.LaTeX.Packages.Hyperref.Monad: HRefPage :: Int -> HRefOption
+ Text.LaTeX.Packages.Hyperref.Monad: PDFNewWindow :: HRefOption
+ Text.LaTeX.Packages.Hyperref.Monad: PDFRemoteStartView :: HRefOption
+ Text.LaTeX.Packages.Hyperref.Monad: autoref :: Monad m => Label -> LaTeXT_ m
+ Text.LaTeX.Packages.Hyperref.Monad: createURL :: String -> URL
+ Text.LaTeX.Packages.Hyperref.Monad: data HRefOption
+ Text.LaTeX.Packages.Hyperref.Monad: data URL
+ Text.LaTeX.Packages.Hyperref.Monad: href :: Monad m => [HRefOption] -> URL -> LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Packages.Hyperref.Monad: hyperbaseurl :: Monad m => URL -> LaTeXT_ m
+ Text.LaTeX.Packages.Hyperref.Monad: hyperimage :: Monad m => URL -> LaTeXT_ m -> LaTeXT_ m
+ Text.LaTeX.Packages.Hyperref.Monad: hyperref :: String
+ Text.LaTeX.Packages.Hyperref.Monad: nolinkurl :: Monad m => URL -> LaTeXT_ m
+ Text.LaTeX.Packages.Hyperref.Monad: url :: Monad m => URL -> LaTeXT_ m
+ Text.LaTeX.Packages.Inputenc: inputenc :: String
+ Text.LaTeX.Packages.Inputenc: latin1 :: LaTeX
+ Text.LaTeX.Packages.Inputenc: utf8 :: LaTeX
+ Text.LaTeX.Packages.Inputenc.Monad: inputenc :: String
+ Text.LaTeX.Packages.Inputenc.Monad: latin1 :: Monad m => LaTeXT_ m
+ Text.LaTeX.Packages.Inputenc.Monad: utf8 :: Monad m => LaTeXT_ m

Files

HaTeX.cabal view
@@ -1,38 +1,54 @@-Name:           HaTeX
-Version:        2.1.3
-Author:         Daniel Diaz
-Homepage:       http://ddiaz.asofilak.es/packages/HaTeX
-License:        BSD3
-License-file:   license
-Maintainer:     Daniel Diaz <danieldiaz@asofilak.es>
-Category:       Text
-Synopsis:       Monadic tool for write LaTeX files.
-Description:    
-         See <http://www.haskell.org/haskellwiki/HaTeX> for a brief introduction.
-         Also included in Text.LaTeX module API documentation.
-         .
-         More information in /HaTeX, a monadic perspective of LaTeX/, available in the package homepage.
-         .
-         Also, if you have an example where you use HaTeX, you could send it to the same email. Thanks in advance.
-         .
-         Changes from last version:
-         .
-         * Modified some documentation.
-         .
-         * Updated to some changes in dependencies.
-Extensions:     OverloadedStrings , FlexibleInstances , TypeSynonymInstances
-Build-type:     Simple
-Build-depends:  base == 4.*
-              , mtl
-              , dstring
-              , string-combinators
-              , filepath
-Cabal-version:  >= 1.6
-Exposed-modules: Text.LaTeX
-               , Text.LaTeX.Macro
-               , Text.LaTeX.Commands
-               , Text.LaTeX.Packages
-               , Text.LaTeX.Arguments
-               , Text.LaTeX.Define
-               , Text.LaTeX.Monad
-               , Text.LaTeX.Result+Name: HaTeX
+Version: 3.0.0+Author: Daniel Díaz
+Category: Text
+Build-type: Simple
+License: BSD3
+License-file: license
+Maintainer: Daniel Díaz {danieldiaz <at> dhelta <dot> net}
+Stability: Experimental
+Homepage: http://dhelta.net/hprojects/HaTeX+Bug-reports: danieldiaz <at> dhelta <dot> net
+Synopsis: LaTeX code writer.
+Description: HaTeX consists in a set of combinators which allow you to build LaTeX code,
+             following the LaTeX syntax in a type-safe manner.
+             .
+             This allows you to build programs which generates LaTeX code automatically
+             for any purpose you can figure out.+Cabal-version: >= 1.6
+Tested-with: GHC == 6.12.3 , GHC == 7.0.3+Extra-source-files: ReleaseNotes++Library+  Build-depends: base ==4.*
+               , bytestring
+               , mtl ==2.*
+               , text
+  Exposed-modules:
+    Text.LaTeX+      Text.LaTeX.Monad
+      Text.LaTeX.Base+        Text.LaTeX.Base.Monad+        Text.LaTeX.Base.Commands+          Text.LaTeX.Base.Commands.Monad+        Text.LaTeX.Base.Parser+        Text.LaTeX.Base.Render+        Text.LaTeX.Base.Syntax+        Text.LaTeX.Base.Types+        Text.LaTeX.Base.Writer+      Text.LaTeX.Packages+        Text.LaTeX.Packages.Monad+        Text.LaTeX.Packages.AMSFonts+          Text.LaTeX.Packages.AMSFonts.Monad+        Text.LaTeX.Packages.AMSMath+          Text.LaTeX.Packages.AMSMath.Monad+        Text.LaTeX.Packages.Beamer+          Text.LaTeX.Packages.Beamer.Monad+        Text.LaTeX.Packages.Hyperref+          Text.LaTeX.Packages.Hyperref.Monad+        Text.LaTeX.Packages.Inputenc+          Text.LaTeX.Packages.Inputenc.Monad+        Text.LaTeX.Packages.Color+          Text.LaTeX.Packages.Color.Monad
+  Extensions: GeneralizedNewtypeDeriving+            , OverloadedStrings
+ ReleaseNotes view
@@ -0,0 +1,6 @@+HaTeX Release Notes
+-- From version 3.0.0
+
+>>> 3.0.0
+
+* First release of the third version of HaTeX.
Setup.hs view
@@ -1,2 +1,3 @@ import Distribution.Simple
-main = defaultMain
+
+main = defaultMain
Text/LaTeX.hs view
@@ -1,211 +1,13 @@-
-{-# OPTIONS_GHC -XOverloadedStrings #-}
-
--- | This is the main module of the HaTeX library.
---   For a complete understanding of this package, read \"/HaTeX, a monadic perspective of LaTeX/\"
---   at the HaTeX home page: <http://ddiaz.asofilak.es/packages/HaTeX>.
-module Text.LaTeX 
-     ( -- * How to use HaTeX
-       -- ** About HaTeX
-       -- $guide0
-
-       -- ** Introduction
-       -- $guide1
-
-       -- ** LaTeX file structure
-       -- $guide2
-
-       -- ** A simple example
-       -- $guide3
-
-       -- ** Enriching your text
-       -- $guide4
-
-       -- ** Performing monadic computations
-       -- $guide5
-
-       -- ** Adding sections
-       -- $guide6
-
-       -- * HaTeX related functions
-       hatex
-     , hatexVersion
-       -- * Exporting to /.tex/
-     , render
-     , export
-       -- * Re-exports
-     , module Text.LaTeX.Result
-     , module Text.LaTeX.Monad
-     , module Text.LaTeX.Define
-     , module Text.LaTeX.Arguments
-     , module Text.LaTeX.Packages
-     , module Text.LaTeX.Commands
-     , module Text.LaTeX.Macro
-       -- * Data.String re-export
-     , module Data.String
-     ) where
-
-import Text.LaTeX.Monad hiding (genlx,ungenlx)
-import Text.LaTeX.Commands
-import Text.LaTeX.Arguments
-import Text.LaTeX.Define
-import Text.LaTeX.Packages
-import Text.LaTeX.Result
-import Text.LaTeX.Macro
---
-import Data.String
---
-import System.FilePath (takeExtension)
-import Control.Monad.Trans (MonadIO (..))
-
--- | HaTeX nice word.
-hatex :: Monad m => LaTeX m
-hatex = makebox [] [] $ do "H"
-                           raisebox (ex (-0.51)) [] [] $
-                             makebox [0.5 >> width] [] "A"
-                           tex
-
--- | Your HaTeX version.
-hatexVersion :: Monad m => LaTeX m
-hatexVersion = do textbf "2" ; ".1.2"
-
--- | Render 'LaTeX' to 'String'.
-render :: Monad m => LaTeX m -> m String
-render = (>>= return . fromResult) . nlx
-
--- | Export the 'Result' of a 'LaTeX' sequence in a /.tex/ file.
-export :: MonadIO m =>
-     LaTeX m  -- ^ 'LaTeX' to export.
-  -> FilePath -- ^ Path of export.
-  -> m ()
-export x fp = do y <- nlx x
-                 let z = fromResult y
-                 if takeExtension fp == ".tex" then liftIO $ writeFile fp z
-                                               else liftIO $ writeFile (fp ++ ".tex") z
-
------------------------------------------------------------------------------------------------------------
-
-{- $guide0
-HaTeX is a package which lets you to write LaTeX code from Haskell.
-
-HaTeX page: <http://ddiaz.asofilak.es/packages/HaTeX>
-
-Here a link to the package in Hackage: <http://hackage.haskell.org/package/HaTeX>
--}
-
--- Introduction
-
-{- $guide1
-If you know how to use LaTeX, you will easily understand how to use HaTeX.
-Otherwise, you will need to read well the documentation.
-
-A first step may be to know the LaTeX file structure.
--}
-
--- LaTeX file structure
-
-{- $guide2
-A LaTeX file has two parts:
-
-- A /preamble/ where you define general settings (document class, page style, use of extern packages, ...) of your document.
-
-- The document's content.
--}
-
--- A simple example
-
-{- $guide3
-We're going to write an example, the best for understanding.
-
-*  Function 'documentclass' is used for determining if our document is an 'article', a 'book', a 'report', etc.
-
-*  Function 'author' is used for specify document's authory.
-
-*  Function 'title' for document's title.
-
-Then, with this three functions, we will define a preamble in the 'LaTeX' monad.
-'LaTeX' is a writer monad that concatenates the text generated by the programmer.
-Usually, the text is generated simply writing it, or by functions.
-
-> example = do documentclass [] article
->              author "Daniel Diaz"
->              title "Example"
-
-The first argument of 'documentclass' is used for change certain settings of the class.
-For example, you can set the document's main font size to 12pt, writing:
-
-> documentclass [pt 12] article
-
-Or set paper size to A4:
-
-> documentclass [pt 12,a4paper] article
-
-Now, I will write a content:
-
-> hello = "Hello, world!"
-
-To insert the content into the document, we have the function 'document'. Completing our first example:
-
-> example = do documentclass [] article
->              author "Daniel Diaz"
->              title "Example"
->              document $ do maketitle
->                            hello
-
-/Note: /'maketitle'/ doesn't work in some document classes./
-
-At first glance, it seems that 'author', 'title' or 'document' receive a 'String' as argument.
-Really, they require a 'LaTeX' argument. 'LaTeX' is the type that represents texts in HaTeX.
-So, I recommend to use Overloaded Strings
-(See <http://www.haskell.org/ghc/docs/6.12.2/html/users_guide/type-class-extensions.html#overloaded-strings>).
--}
-
--- Enriching your text
-
-{- $guide4
-There are numerous functions to enrich your document.
-One feature is change your font format. For example, in:
-
-> texttt "Hello!"
-
-'texttt' sets as monospaced font his content. Or composing:
-
-> texttt $ textbf "Hello!"
-
-'textbf' sets as bold font the monospaced font of '"Hello!"'.
-
-If you only want '"ll"' with bold format:
-
-> texttt $ do "He"
->             textbf "ll"
->             "o!"
-
-Applying the function to only part of the text, we achieve modify just that part.
--}
-
--- Performing monadic computations
-
-{- $guide5
-All computations in HaTeX take place in the 'LaTeXT' monadic transformer.
-To includes a monadic computation, use 'mlx'.
-
-> gtime = do t <- mlx getClockTime
->            ...
-
--}
-
--- Adding sections
-
-{- $guide6
-Commands to adding sections are included in Text.LaTeX.Commands. Examples are 'section' or 'paragraph'. 
-
-If you want sections without number, use 'section_'. This also avoid showing the section into the table of contents. 
-
-If you want title of section to be different in the context than in the table of contents, use 'sectiontab'.
--}
-
-
-
-
-
++-- | This module is a re-export of the main modules.+--   Importing this will you give access to almost all+--   functionality of the library. It is recommended+--   to import the @Base@ module and, then, import only+--   packages you will need.
+module Text.LaTeX
+ ( module Text.LaTeX.Base
+ , module Text.LaTeX.Packages
+   ) where
 
+import Text.LaTeX.Base
+import Text.LaTeX.Packages
− Text/LaTeX/Arguments.hs
@@ -1,242 +0,0 @@-
-{-# LANGUAGE OverloadedStrings #-}
-
-module Text.LaTeX.Arguments (
-    -- * Renaming @LaTeX@
-    Language
-  , Encoding
-  , URL
-  , Color
-  , Name , Title , Date
-  , Word
-  , Marker, Text
-  , ItemOption
-  , PlacementSpecifier
-    -- * Classes
-  , Class
-  , article
-  , proc
-  , minimal
-  , report
-  , book
-  , slides
-    -- * Class Options
-  , ClassOption
-    -- ** Paper related
-  , letterpaper
-  , a4paper
-  , a5paper
-  , b5paper
-  , executivepaper
-  , legalpaper
-    -- ** @fleqn@,@leqno@
-  , fleqn , leqno
-    -- ** Title related
-  , titlepage
-  , notitlepage
-    -- ** Column related
-  , onecolumn
-  , twocolumn
-    -- ** Sides Related
-  , twoside , oneside
-    -- ** Landscape
-  , landscape
-    -- ** @Open@
-  , openright , openany
-    -- * Styles
-  , Style
-  , plain
-  , headings
-  , empty
-    -- * Meters
-    -- ** Width and Height
-  , Width, Lift, Extend, Height
-  , width, height, depth
-  , totalheight
-    -- $measures
-
-    -- ** Measures
-  , mm , cm , inch
-  , pt , em , ex
-  ) where
-
-import Text.LaTeX.Monad
-import Text.LaTeX.Define
-
-import Data.List
-
-type Language m = LaTeX m
-
-type Encoding m = LaTeX m
-
-type URL m = LaTeX m
-
-type Color m = LaTeX m
-
-type Name m = LaTeX m
-
-type Title m = LaTeX m
-
-type Date m = LaTeX m
-
-type Word m = LaTeX m
-
-type Marker m = LaTeX m
-
-type Text m = LaTeX m
-
-type ItemOption m = LaTeX m
-
-type PlacementSpecifier m = LaTeX m
-
---
-
-type ClassOption m = LaTeX m
-
-letterpaper :: Monad m => ClassOption m
-letterpaper = "letterpaper"
-
-a4paper :: Monad m => ClassOption m
-a4paper = "a4paper"
-
-a5paper :: Monad m => ClassOption m
-a5paper = "a5paper"
-
-b5paper :: Monad m => ClassOption m
-b5paper = "b5paper"
-
-executivepaper :: Monad m => ClassOption m
-executivepaper = "executivepaper"
-
-legalpaper :: Monad m => ClassOption m
-legalpaper = "legalpaper"
-
---
-
-fleqn :: Monad m => ClassOption m
-fleqn = "fleqn"
-
-leqno :: Monad m => ClassOption m
-leqno = "leqno"
-
---
-
-titlepage :: Monad m => ClassOption m
-titlepage = "titlepage"
-
-notitlepage :: Monad m => ClassOption m
-notitlepage = "notitlepage"
-
---
-
-onecolumn :: Monad m => ClassOption m
-onecolumn = "onecolumn"
-
-twocolumn :: Monad m => ClassOption m
-twocolumn = "twocolumn"
-
---
-
-twoside :: Monad m => ClassOption m
-twoside = "twoside"
-
-oneside :: Monad m => ClassOption m
-oneside = "oneside"
-
---
-
-landscape :: Monad m => ClassOption m
-landscape = "landscape"
-
---
-
-openright :: Monad m => ClassOption m
-openright = "openright"
-
-openany :: Monad m => ClassOption m
-openany = "openany"
-
---
-
-type Class m = LaTeX m
-
-article :: Monad m => Class m
-article = "article"
-
-proc :: Monad m => Class m
-proc = "proc"
-
-minimal :: Monad m => Class m
-minimal = "minimal"
-
-report :: Monad m => Class m
-report = "report"
-
-book :: Monad m => Class m
-book = "book"
-
-slides :: Monad m => Class m
-slides = "slides"
-
---
-
--- | Page style for a LaTeX document.
-type Style m = LaTeX m
-
--- | Page numbers on the bottom of the page, at the middle of the footer.
---   Default style.
-plain :: Monad m => Style m
-plain = "plain"
-
--- | Current chapter and page number at the top of the page.
-headings :: Monad m => Style m
-headings = "headings"
-
--- | Empty page style.
-empty :: Monad m => Style m
-empty = "empty"
-
--- Meters
-
-type Width m = LaTeX m
-
-type Lift m = LaTeX m
-
-type Extend m = LaTeX m
-
-type Height m = LaTeX m
-
-width :: Monad m => LaTeX m
-width = comm0_ "width"
-
-height :: Monad m => LaTeX m
-height = comm0_ "height"
-
-depth :: Monad m => LaTeX m
-depth = comm0_ "depth"
-
-totalheight :: Monad m => LaTeX m
-totalheight = comm0_ "totalheight"
-
--- $measures
--- #Measures#
-
-mm :: Monad m => Float -> LaTeX m
-mm = (>>"mm") . lxany
-
-cm :: Monad m => Float -> LaTeX m
-cm = (>>"cm") . lxany
-
-inch :: Monad m => Float -> LaTeX m
-inch = (>>"in") . lxany
-
-pt :: Monad m => Int -> LaTeX m
-pt = (>>"pt") . lxany
-
-em :: Monad m => Float -> LaTeX m
-em = (>>"em") . lxany
-
-ex :: Monad m => Float -> LaTeX m
-ex = (>>"ex") . lxany
-
-
+ Text/LaTeX/Base.hs view
@@ -0,0 +1,28 @@++{- |+This module exports those minimal things you need+to work with HaTeX. Those things are:++* The 'LaTeX' datatype.++* The '<>' operator, to append 'LaTeX' values.++* The "Text.LaTeX.Base.Render" module, to render a 'LaTeX' value into 'Text'.++* The "Text.LaTeX.Base.Types" module, which contains several types used by+  other modules.++* The "Text.LaTeX.Base.Commands" module, which exports the LaTeX standard commands+  and environments.+-}
+module Text.LaTeX.Base
+ ( LaTeX , (<>)
+ , module Text.LaTeX.Base.Render+ , module Text.LaTeX.Base.Types
+ , module Text.LaTeX.Base.Commands
+   ) where
+
+import Text.LaTeX.Base.Syntax (LaTeX,(<>))
+import Text.LaTeX.Base.Render+import Text.LaTeX.Base.Types
+import Text.LaTeX.Base.Commands
+ Text/LaTeX/Base/Commands.hs view
@@ -0,0 +1,730 @@+{-# LANGUAGE OverloadedStrings #-}++-- | LaTeX standard commands and environments.+module Text.LaTeX.Base.Commands+ ( raw+   -- * Preamble commands+ , title+ , author+ , date+ , institute+ , thanks+ , documentclass+ , usepackage+ , linespread+   -- ** Classes+   -- *** Document classes+ , article+ , proc+ , report+ , minimal+ , book+ , slides+   -- *** Class options+ , draft+ , titlepage+ , notitlepage+ , onecolumn+ , twocolumn+ , oneside+ , twoside+ , landscape+ , openright+ , openany+ , fleqn+ , leqno+   -- ** Paper sizes+ , a0paper+ , a1paper+ , a2paper+ , a3paper+ , a4paper+ , a5paper+ , a6paper+ , b0paper+ , b1paper+ , b2paper+ , b3paper+ , b4paper+ , b5paper+ , b6paper+ , letterpaper+ , executivepaper+ , legalpaper+   -- ** Page styles+ , pagestyle+ , thispagestyle+ , plain+ , headings+ , empty+ , myheadings+ , markboth+ , markright+   -- * Body commands+ , document+ , maketitle+   -- ** Document structure+ , tableofcontents+ , abstract+ , appendix+   -- *** Sections+ , part+ , chapter+ , section+ , subsection+ , subsubsection+ , paragraph+ , subparagraph+   -- ** Logos & symbols+ , today+ , tex+ , latex+ , laTeX2+ , laTeXe+ , ldots+ , vdots+ , ddots+ -- *** HaTeX specific+ , hatex+ , hatex3+ , hatex_meta+ , hatex_version+ -- ** Document layout+ , newline+ , lnbk+ , lnbk_+ , newpage+ , cleardoublepage+ , clearpage+ , linebreak+ , nolinebreak+ , pagebreak+ , nopagebreak+ , hspace+ , hspace_+ , vspace+ , stretch+ , smallskip+ , bigskip+ , indent+ , noindent+   -- ** Formatting text+ , verbatim+   -- *** Fonts+ , textbf+ , textit+ , texttt+ , textrm+ , textsf+ , textmd+ , textup+ , textsl+ , textsc+ , textnormal+ , underline+ , emph+   -- *** Sizes+ , tiny+ , scriptsize+ , footnotesize+ , small+ , normalsize+ , large+ , large2+ , large3+ , huge+ , huge2+   -- ** Environments+ , equation+ , equation_+ , enumerate+ , itemize+ , item+ , flushleft+ , flushright+ , center+ , quote+ , verse+ , cite+ , description+   -- ** Page numbering+ , pagenumbering+ , arabic+ , roman+ , roman_+ , alph+ , alph_+   -- ** Cross references+ , label+ , ref+ , pageref+   -- ** Boxes+ , mbox+ , fbox+ , parbox+ , framebox+ , makebox+ , raisebox+ , rule+   -- ** Tables+ , tabular+ , (&)+ , hline+ , cline+ -- ** Others+ , footnote+ , protect+ , hyphenation+ , hyp+ , qts+   ) where++import Data.String+import Data.Maybe (catMaybes)+import Text.LaTeX.Base.Syntax+import Text.LaTeX.Base.Render+import Text.LaTeX.Base.Types++-- | Insert a raw piece of 'Text'.+-- This functions doesn't care about @LaTeX@ reserved characters,+-- it insert the text just as it is received.+raw :: Text -> LaTeX+raw = TeXRaw++-- | Generate the title. It normally contains the 'title' name+-- of your document, the 'author'(s) and 'date'.+maketitle :: LaTeX+maketitle = TeXComm "maketitle" []++-- | Set the title of your document.+title :: LaTeX -> LaTeX+title t = TeXComm "title" [FixArg t]++-- | Set a date for your document.+date :: LaTeX -> LaTeX+date t = TeXComm "date" [FixArg t]++-- | Set the author(s) of the document.+author :: LaTeX -> LaTeX+author t = TeXComm "author" [FixArg t]++-- | Set either an institute or an organization+-- for the document.+institute :: Maybe LaTeX -> LaTeX -> LaTeX+institute  Nothing l = TeXComm "institute" [FixArg l]+institute (Just s) l = TeXComm "institute" [OptArg s,FixArg l]++thanks :: LaTeX -> LaTeX+thanks x = TeXComm "thanks" [FixArg x]++-- | Import a package. First argument is a list of options for+-- the package named in the second argument.+usepackage :: [LaTeX] -> String -> LaTeX+usepackage lopt str = TeXComm "usepackage" [MOptArg lopt ,FixArg $ fromString str]++-- | The @LaTeX@ logo.+latex :: LaTeX+latex = TeXComm "LaTeX" []++-- | Start a new line.+newline :: LaTeX+newline = TeXComm "newline" []++part :: LaTeX -> LaTeX+part p = TeXComm "part" [FixArg p]++chapter :: LaTeX -> LaTeX+chapter c = TeXComm "chapter" [FixArg c]++-- | Start a new section with a given title.+section :: LaTeX -> LaTeX+section s = TeXComm "section" [FixArg s]++subsection :: LaTeX -> LaTeX+subsection sub = TeXComm "subsection" [FixArg sub]++subsubsection :: LaTeX -> LaTeX+subsubsection sub = TeXComm "subsubsection" [FixArg sub]++paragraph :: LaTeX -> LaTeX+paragraph p = TeXComm "paragraph" [FixArg p]++subparagraph :: LaTeX -> LaTeX+subparagraph p = TeXComm "subparagraph" [FixArg p]++-- | Create the table of contents, automatically generated+-- from your 'section's, 'subsection's, and other related stuff.+tableofcontents :: LaTeX+tableofcontents = TeXComm "tableofcontents" []++appendix :: LaTeX+appendix = TeXComm "appendix" []++item :: Maybe LaTeX -> LaTeX+item Nothing    = TeXCommS "item "+item (Just opt) = TeXComm "item" [OptArg opt]++equation :: LaTeX -> LaTeX+equation = TeXEnv "equation" []++equation_ :: LaTeX -> LaTeX+equation_ = TeXEnv "equation*" []++enumerate :: LaTeX -> LaTeX+enumerate = TeXEnv "enumerate" []++itemize :: LaTeX -> LaTeX+itemize = TeXEnv "itemize" []++description :: LaTeX -> LaTeX+description = TeXEnv "description" []++flushleft :: LaTeX -> LaTeX+flushleft = TeXEnv "flushleft" []++flushright :: LaTeX -> LaTeX+flushright = TeXEnv "flushright" []++center :: LaTeX -> LaTeX+center = TeXEnv "center" []++quote :: LaTeX -> LaTeX+quote = TeXEnv "quote" []++verse :: LaTeX -> LaTeX+verse = TeXEnv "verse" []++abstract :: LaTeX -> LaTeX+abstract = TeXEnv "abstract" []++cite :: LaTeX -> LaTeX+cite l = TeXComm "cite" [FixArg l]++ref :: Label -> LaTeX+ref l = TeXComm "ref" [FixArg $ TeXRaw $ render l]++label :: Label -> LaTeX+label l = TeXComm "label" [FixArg $ TeXRaw $ render l]++pageref :: Label -> LaTeX+pageref l = TeXComm "pageref" [FixArg $ TeXRaw $ render l]++documentclass :: [LaTeX] -> LaTeX -> LaTeX+documentclass ls l = TeXComm "documentclass" [MOptArg ls , FixArg l]++article :: LaTeX+article = "article"++proc:: LaTeX+proc = "proc"++minimal:: LaTeX+minimal = "minimal"++report:: LaTeX+report = "report"++book:: LaTeX+book = "book"++slides:: LaTeX+slides = "slides"++a0paper:: LaTeX+a0paper = "a0paper"++a1paper:: LaTeX+a1paper = "a1paper"++a2paper:: LaTeX+a2paper = "a2paper"++a3paper:: LaTeX+a3paper = "a3paper"++a4paper:: LaTeX+a4paper = "a4paper"++a5paper:: LaTeX+a5paper = "a5paper"++a6paper:: LaTeX+a6paper = "a6paper"++b0paper:: LaTeX+b0paper = "b0paper"++b1paper:: LaTeX+b1paper = "b1paper"++b2paper:: LaTeX+b2paper = "b2paper"++b3paper:: LaTeX+b3paper = "b3paper"++b4paper:: LaTeX+b4paper = "b4paper"++b5paper:: LaTeX+b5paper = "b5paper"++b6paper:: LaTeX+b6paper = "b6paper"++letterpaper:: LaTeX+letterpaper = "letterpaper"++executivepaper:: LaTeX+executivepaper = "executivepaper"++legalpaper:: LaTeX+legalpaper = "legalpaper"++draft :: LaTeX+draft = "draft"++-- | Typesets displayed formulae left-aligned instead of centred.+fleqn:: LaTeX+fleqn = "fleqn"++-- | Places the numbering of formulae on the left hand side instead of the right.+leqno:: LaTeX+leqno = "leqno"++titlepage:: LaTeX+titlepage = "titlepage"++notitlepage:: LaTeX+notitlepage = "notitlepage"++onecolumn:: LaTeX+onecolumn = "onecolumn"++twocolumn:: LaTeX+twocolumn = "twocolumn"++oneside :: LaTeX+oneside = "oneside"++twoside:: LaTeX+twoside = "twoside"++-- | Changes the layout of the document to print in landscape mode+landscape:: LaTeX+landscape = "landscape"++-- | Makes chapters begin either only on right hand pages+openright:: LaTeX+openright = "openright"++-- | Makes chapters begin on the next page available.+openany:: LaTeX+openany = "openany"++document :: LaTeX -> LaTeX+document = TeXEnv "document" []++pagenumbering :: LaTeX -> LaTeX+pagenumbering l = TeXComm "pagenumbering" [FixArg l]++-- | Arabic numerals.+arabic :: LaTeX+arabic = "arabic"++-- | Lowercase roman numerals.+roman :: LaTeX+roman = "roman"++-- | Uppercase roman numerals.+roman_ :: LaTeX+roman_ = "Roman"++-- | Lowercase letters.+alph :: LaTeX+alph = "alph"++-- | Uppercase letters.+alph_ :: LaTeX+alph_ = "Alph"++pagestyle :: LaTeX -> LaTeX+pagestyle l = TeXComm "pagestyle" [FixArg l]++thispagestyle :: LaTeX -> LaTeX+thispagestyle l  = TeXComm "thispagestyle" [FixArg l]++plain :: LaTeX+plain = "plain"++headings :: LaTeX+headings = "headings"++empty :: LaTeX+empty = "empty"++myheadings :: LaTeX+myheadings = "myheadings"++-- | Used in conjunction with 'myheadings' for setting both the left and the right heading.+markboth :: LaTeX -> LaTeX -> LaTeX+markboth l1 l2 = TeXComm "markboth" [FixArg l1,FixArg l2]++-- | Used in conjunction with 'myheadings' for setting the right heading.+markright :: LaTeX -> LaTeX+markright l = TeXComm "markright" [FixArg l]++-- | Start a new line. In a 'tabular', it starts a new row, so use 'newline' instead.+lnbk  :: LaTeX+lnbk = TeXNewLine False++lnbk_ :: LaTeX+lnbk_ = TeXNewLine True++hyp :: LaTeX+hyp = TeXCommS "-"++cleardoublepage :: LaTeX+cleardoublepage = TeXComm "cleardoublepage" []++clearpage :: LaTeX+clearpage = TeXComm "clearpage" []++newpage :: LaTeX+newpage = TeXComm "newpage" []++linebreak :: LaTeX -> LaTeX+linebreak l = TeXComm "linebreak" [OptArg l]++nolinebreak :: LaTeX -> LaTeX+nolinebreak l = TeXComm "nolinebreak" [OptArg l]++nopagebreak :: LaTeX -> LaTeX+nopagebreak l = TeXComm "nopagebreak" [OptArg l]++pagebreak :: LaTeX -> LaTeX+pagebreak l = TeXComm "pagebreak" [OptArg l]++hyphenation :: LaTeX -> LaTeX+hyphenation l = TeXComm "hyphenation" [FixArg l]++mbox :: LaTeX -> LaTeX+mbox l = TeXComm "mbox" [FixArg l]++fbox :: LaTeX -> LaTeX+fbox l = TeXComm "fbox" [FixArg l]++today :: LaTeX+today = TeXComm "today" []++tex :: LaTeX+tex = TeXComm "TeX" []++laTeX2 :: LaTeX+laTeX2 = TeXComm "LaTeX" []++laTeXe :: LaTeX+laTeXe = TeXComm "LaTeXe" []++-- | Horizontal dots.+ldots :: LaTeX+ldots = TeXComm "ldots" []++-- | Vertical dots.+vdots :: LaTeX+vdots = TeXComm "vdots" []++-- | Diagonal dots.+ddots :: LaTeX+ddots = TeXComm "ddots" []++-- | Quotation marks.+qts :: LaTeX -> LaTeX+qts l = raw "``" <> l <> raw "''"++footnote :: LaTeX -> LaTeX+footnote l = TeXComm "footnote" [FixArg l]++linespread :: Float -> LaTeX+linespread f = TeXComm "linespread" [FixArg $ TeXRaw $ render f]++indent :: LaTeX+indent = TeXComm "indent" []++noindent :: LaTeX+noindent = TeXComm "noindent" []++hspace :: Measure -> LaTeX+hspace m = TeXComm "hspace" [FixArg $ TeXRaw $ render m]++hspace_ :: Measure -> LaTeX+hspace_ m = TeXComm "hspace*" [FixArg $ TeXRaw $ render m]++stretch :: Int -> LaTeX+stretch n = TeXComm "stretch" [FixArg $ TeXRaw $ render n]++vspace :: Measure -> LaTeX+vspace m = TeXComm "vspace" [FixArg $ TeXRaw $ render m]++protect :: LaTeX -> LaTeX+protect l = TeXCommS "protect" <> l++verbatim :: LaTeX -> LaTeX+verbatim = TeXEnv "verbatim" []++underline :: LaTeX -> LaTeX+underline l = TeXComm "underline" [FixArg l]++emph :: LaTeX -> LaTeX+emph l = TeXComm "emph" [FixArg l]++textrm :: LaTeX -> LaTeX+textrm l = TeXComm "textrm" [FixArg l]++textsf :: LaTeX -> LaTeX+textsf l = TeXComm "textsf" [FixArg l]++texttt :: LaTeX -> LaTeX+texttt l = TeXComm "texttt" [FixArg l]++textmd :: LaTeX -> LaTeX+textmd l = TeXComm "textmd" [FixArg l]++textbf :: LaTeX -> LaTeX+textbf l = TeXComm "textbf" [FixArg l]++textup :: LaTeX -> LaTeX+textup l = TeXComm "textup" [FixArg l]++textit :: LaTeX -> LaTeX+textit l = TeXComm "textit" [FixArg l]++textsl :: LaTeX -> LaTeX+textsl l = TeXComm "textsl" [FixArg l]++textsc :: LaTeX -> LaTeX+textsc l = TeXComm "textsc" [FixArg l]++textnormal :: LaTeX -> LaTeX+textnormal l = TeXComm "textnormal" [FixArg l]++tiny :: LaTeX -> LaTeX+tiny l = TeXComm "tiny" [FixArg l]++scriptsize :: LaTeX -> LaTeX+scriptsize l = TeXComm "scriptsize" [FixArg l]		++footnotesize :: LaTeX -> LaTeX+footnotesize l = TeXComm "footnotesize" [FixArg l]++small :: LaTeX -> LaTeX+small l = TeXComm "small" [FixArg l]++normalsize :: LaTeX -> LaTeX+normalsize l = TeXComm "normalsize" [FixArg l]++large :: LaTeX -> LaTeX+large l = TeXComm "large" [FixArg l]++large2 :: LaTeX -> LaTeX+large2 l = TeXComm "Large" [FixArg l]++large3 :: LaTeX -> LaTeX+large3 l = TeXComm "LARGE" [FixArg l]++huge :: LaTeX -> LaTeX+huge l = TeXComm "huge" [FixArg l]++huge2 :: LaTeX -> LaTeX+huge2 l = TeXComm "Huge" [FixArg l]++smallskip :: LaTeX+smallskip = TeXComm "smallskip" []++bigskip :: LaTeX+bigskip = TeXComm "bigskip" []++-- | The 'tabular' environment can be used to typeset tables with optional horizontal and vertical lines.+tabular :: Maybe Pos   -- ^ This optional parameter can be used to specify the vertical position of the table.+                       -- Defaulted to 'Center'.+        -> [TableSpec] -- ^ Table specification of columns and vertical lines.+        -> LaTeX       -- ^ Table content. See '&', 'lnbk', 'hline' and 'cline'.+        -> LaTeX       -- ^ Resulting table syntax.+tabular Nothing ts  = TeXEnv "tabular" [ FixArg $ TeXRaw $ renderAppend ts ]+tabular (Just p) ts = TeXEnv "tabular" [ OptArg $ TeXRaw $ render p , FixArg $ TeXRaw $ renderAppend ts ]++-- | Column separator.+(&) :: LaTeX -> LaTeX -> LaTeX+(&) = TeXOp "&"++-- | Horizontal line.+hline :: LaTeX+hline = TeXCommS "hline "++-- | @cline i j@ writes a partial horizontal line beginning in column i and ending in column j.+cline :: Int -> Int -> LaTeX+cline i j = TeXComm "cline" [ FixArg $ TeXRaw $ render i <> "-" <> render j ]++parbox :: Maybe Pos -> Measure -> LaTeX -> LaTeX+parbox Nothing w t  = TeXComm "parbox" [ FixArg $ TeXRaw $ render w+                                       , FixArg t]+parbox (Just p) w t = TeXComm "parbox" [ OptArg $ TeXRaw $ render p+                                       , FixArg $ TeXRaw $ render w+                                       , FixArg t]++makebox :: Maybe Measure -> Maybe Pos -> LaTeX -> LaTeX+makebox Nothing Nothing t  = TeXComm "makebox" [ FixArg t]+makebox Nothing (Just p) t  = TeXComm "makebox" [ OptArg $ TeXRaw $ render p, FixArg t]+makebox (Just w) Nothing t  = TeXComm "makebox" [ OptArg $ TeXRaw $ render w, FixArg t]+makebox (Just w) (Just p) t = TeXComm "makebox" [ OptArg $ TeXRaw $ render w+                                                , OptArg $ TeXRaw $ render p+                                                , FixArg t]	++framebox :: Maybe Measure -> Maybe Pos -> LaTeX -> LaTeX+framebox Nothing Nothing t  = TeXComm "framebox" [ FixArg t]+framebox Nothing (Just p) t  = TeXComm "framebox" [ OptArg $ TeXRaw $ render p, FixArg t]+framebox (Just w) Nothing t  = TeXComm "framebox" [ OptArg $ TeXRaw $ render w, FixArg t]+framebox (Just w) (Just p) t = TeXComm "framebox" [ OptArg $ TeXRaw $ render w+                                                  , OptArg $ TeXRaw $ render p+                                                  , FixArg t]++raisebox ::  Measure -> Maybe Measure -> Maybe Measure -> LaTeX -> LaTeX+raisebox l ma mb t = TeXComm "raisebox" $+    [ FixArg $ TeXRaw $ render l ]+ ++   fmap (OptArg . TeXRaw . render) (catMaybes [ma,mb])+ ++ [ FixArg t ]++-- | Produce a simple black box.+rule :: Maybe Measure -- ^ Optional lifting.+     -> Measure       -- ^ Width.+     -> Measure       -- ^ Height.+     -> LaTeX+rule Nothing w h  = TeXComm "rule" [ FixArg $ TeXRaw $ render w+                                   , FixArg $ TeXRaw $ render h ]+rule (Just l) w h = TeXComm "rule" [ OptArg $ TeXRaw $ render l+                                   , FixArg $ TeXRaw $ render w+                                   , FixArg $ TeXRaw $ render h ]++-- HaTeX specific symbols++-- | Print the HaTeX logo.+hatex :: LaTeX+hatex = "H"+     <> hspace (Ex $ negate 0.3)+     <> textsc "a"+     <> hspace (Ex $ negate 0.3)+     <> tex++-- | Print the HaTeX 3 logo.+hatex3 :: LaTeX+hatex3 = hatex <> emph (textbf "3")++-- | Print the HaTeX-meta logo.+hatex_meta :: LaTeX+hatex_meta = hatex <> emph (textsc "-meta")++-- | Print the HaTeX logo, beside the complete version number.+hatex_version :: LaTeX+hatex_version = hatex3+             <> hspace (Ex $ negate 0.3)+             <> emph ".0.0"
+ Text/LaTeX/Base/Commands/Monad.hs view
@@ -0,0 +1,1011 @@+{-# LANGUAGE OverloadedStrings #-}
+
+-- | LaTeX standard commands and environments.
+-- 
+-- /For contributors: This module was automatically generated by HaTeX-meta./
+-- /So, please, don't make any change here directly, because/
+-- /this is intended to be generated from/
+-- "Text.LaTeX.Base.Commands" /module via HaTeX-meta,/
+-- /and therefore, changes must to be done in these places./
+
+module Text.LaTeX.Base.Commands.Monad
+ ( raw
+   -- * Preamble commands
+ , title
+ , author
+ , date
+ , institute
+ , thanks
+ , documentclass
+ , usepackage
+ , linespread
+   -- ** Classes
+   -- *** Document classes
+ , article
+ , proc
+ , report
+ , minimal
+ , book
+ , slides
+   -- *** Class options
+ , draft
+ , titlepage
+ , notitlepage
+ , onecolumn
+ , twocolumn
+ , oneside
+ , twoside
+ , landscape
+ , openright
+ , openany
+ , fleqn
+ , leqno
+   -- ** Paper sizes
+ , a0paper
+ , a1paper
+ , a2paper
+ , a3paper
+ , a4paper
+ , a5paper
+ , a6paper
+ , b0paper
+ , b1paper
+ , b2paper
+ , b3paper
+ , b4paper
+ , b5paper
+ , b6paper
+ , letterpaper
+ , executivepaper
+ , legalpaper
+   -- ** Page styles
+ , pagestyle
+ , thispagestyle
+ , plain
+ , headings
+ , empty
+ , myheadings
+ , markboth
+ , markright
+   -- * Body commands
+ , document
+ , maketitle
+   -- ** Document structure
+ , tableofcontents
+ , abstract
+ , appendix
+   -- *** Sections
+ , part
+ , chapter
+ , section
+ , subsection
+ , subsubsection
+ , paragraph
+ , subparagraph
+   -- ** Logos & symbols
+ , today
+ , tex
+ , latex
+ , laTeX2
+ , laTeXe
+ , ldots
+ , vdots
+ , ddots
+ -- *** HaTeX specific
+ , hatex
+ , hatex3
+ , hatex_meta
+ , hatex_version
+ -- ** Document layout
+ , newline
+ , lnbk
+ , lnbk_
+ , newpage
+ , cleardoublepage
+ , clearpage
+ , linebreak
+ , nolinebreak
+ , pagebreak
+ , nopagebreak
+ , hspace
+ , hspace_
+ , vspace
+ , stretch
+ , smallskip
+ , bigskip
+ , indent
+ , noindent
+   -- ** Formatting text
+ , verbatim
+   -- *** Fonts
+ , textbf
+ , textit
+ , texttt
+ , textrm
+ , textsf
+ , textmd
+ , textup
+ , textsl
+ , textsc
+ , textnormal
+ , underline
+ , emph
+   -- *** Sizes
+ , tiny
+ , scriptsize
+ , footnotesize
+ , small
+ , normalsize
+ , large
+ , large2
+ , large3
+ , huge
+ , huge2
+   -- ** Environments
+ , equation
+ , equation_
+ , enumerate
+ , itemize
+ , item
+ , flushleft
+ , flushright
+ , center
+ , quote
+ , verse
+ , cite
+ , description
+   -- ** Page numbering
+ , pagenumbering
+ , arabic
+ , roman
+ , roman_
+ , alph
+ , alph_
+   -- ** Cross references
+ , label
+ , ref
+ , pageref
+   -- ** Boxes
+ , mbox
+ , fbox
+ , parbox
+ , framebox
+ , makebox
+ , raisebox
+ , rule
+   -- ** Tables
+ , tabular
+ , (&)
+ , hline
+ , cline
+ -- ** Others
+ , footnote
+ , protect
+ , hyphenation
+ , hyp
+ , qts
+   ) where
+
+import Text.LaTeX.Base.Writer
+import Text.LaTeX.Base.Render
+import Text.LaTeX.Base.Types
+import qualified Text.LaTeX.Base.Commands as App
+import Text.LaTeX.Base.Commands()
+
+{-|
+Insert a raw piece of 'Text'.
+ This functions doesn't care about @LaTeX@ reserved characters,
+ it insert the text just as it is received.
+-}
+raw ::   (Monad m) => Text -> LaTeXT_ m
+raw a1 = do textell ( App.raw a1)
+
+{-|
+Generate the title. It normally contains the 'title' name
+ of your document, the 'author'(s) and 'date'.
+-}
+maketitle ::   (Monad m) => LaTeXT_ m
+maketitle = do textell ( App.maketitle)
+
+-- | Set the title of your document.
+
+title ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+title a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.title a1)
+
+-- | Set a date for your document.
+
+date ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+date a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.date a1)
+
+-- | Set the author(s) of the document.
+
+author ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+author a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.author a1)
+
+{-|
+Set either an institute or an organization
+ for the document.
+-}
+institute ::   (Monad m) => Maybe (LaTeXT_ m) -> LaTeXT_ m -> LaTeXT_ m
+institute a1 a2
+  = do a1 <- maybe (return Nothing)
+               ((>>= return . Just) . extractLaTeX_)
+               a1
+       a2 <- extractLaTeX_ a2
+       textell ( App.institute a1 a2)
+
+
+thanks ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+thanks a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.thanks a1)
+
+{-|
+Import a package. First argument is a list of options for
+ the package named in the second argument.
+-}
+usepackage ::   (Monad m) => [LaTeXT_ m] -> String -> LaTeXT_ m
+usepackage a1 a2
+  = do a1 <- mapM extractLaTeX_ a1
+       textell ( App.usepackage a1 a2)
+
+-- | The @LaTeX@ logo.
+
+latex ::   (Monad m) => LaTeXT_ m
+latex = do textell ( App.latex)
+
+-- | Start a new line.
+
+newline ::   (Monad m) => LaTeXT_ m
+newline = do textell ( App.newline)
+
+
+part ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+part a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.part a1)
+
+
+chapter ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+chapter a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.chapter a1)
+
+-- | Start a new section with a given title.
+
+section ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+section a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.section a1)
+
+
+subsection ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+subsection a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.subsection a1)
+
+
+subsubsection ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+subsubsection a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.subsubsection a1)
+
+
+paragraph ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+paragraph a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.paragraph a1)
+
+
+subparagraph ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+subparagraph a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.subparagraph a1)
+
+{-|
+Create the table of contents, automatically generated
+ from your 'section's, 'subsection's, and other related stuff.
+-}
+tableofcontents ::   (Monad m) => LaTeXT_ m
+tableofcontents = do textell ( App.tableofcontents)
+
+
+appendix ::   (Monad m) => LaTeXT_ m
+appendix = do textell ( App.appendix)
+
+
+item ::   (Monad m) => Maybe (LaTeXT_ m) -> LaTeXT_ m
+item a1
+  = do a1 <- maybe (return Nothing)
+               ((>>= return . Just) . extractLaTeX_)
+               a1
+       textell ( App.item a1)
+
+
+equation ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+equation a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.equation a1)
+
+
+equation_ ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+equation_ a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.equation_ a1)
+
+
+enumerate ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+enumerate a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.enumerate a1)
+
+
+itemize ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+itemize a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.itemize a1)
+
+
+description ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+description a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.description a1)
+
+
+flushleft ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+flushleft a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.flushleft a1)
+
+
+flushright ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+flushright a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.flushright a1)
+
+
+center ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+center a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.center a1)
+
+
+quote ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+quote a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.quote a1)
+
+
+verse ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+verse a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.verse a1)
+
+
+abstract ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+abstract a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.abstract a1)
+
+
+cite ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+cite a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.cite a1)
+
+
+ref ::   (Monad m) => Label -> LaTeXT_ m
+ref a1 = do textell ( App.ref a1)
+
+
+label ::   (Monad m) => Label -> LaTeXT_ m
+label a1 = do textell ( App.label a1)
+
+
+pageref ::   (Monad m) => Label -> LaTeXT_ m
+pageref a1 = do textell ( App.pageref a1)
+
+
+documentclass ::   (Monad m) => [LaTeXT_ m] -> LaTeXT_ m -> LaTeXT_ m
+documentclass a1 a2
+  = do a1 <- mapM extractLaTeX_ a1
+       a2 <- extractLaTeX_ a2
+       textell ( App.documentclass a1 a2)
+
+
+article ::   (Monad m) => LaTeXT_ m
+article = do textell ( App.article)
+
+
+proc ::   (Monad m) => LaTeXT_ m
+proc = do textell ( App.proc)
+
+
+minimal ::   (Monad m) => LaTeXT_ m
+minimal = do textell ( App.minimal)
+
+
+report ::   (Monad m) => LaTeXT_ m
+report = do textell ( App.report)
+
+
+book ::   (Monad m) => LaTeXT_ m
+book = do textell ( App.book)
+
+
+slides ::   (Monad m) => LaTeXT_ m
+slides = do textell ( App.slides)
+
+
+a0paper ::   (Monad m) => LaTeXT_ m
+a0paper = do textell ( App.a0paper)
+
+
+a1paper ::   (Monad m) => LaTeXT_ m
+a1paper = do textell ( App.a1paper)
+
+
+a2paper ::   (Monad m) => LaTeXT_ m
+a2paper = do textell ( App.a2paper)
+
+
+a3paper ::   (Monad m) => LaTeXT_ m
+a3paper = do textell ( App.a3paper)
+
+
+a4paper ::   (Monad m) => LaTeXT_ m
+a4paper = do textell ( App.a4paper)
+
+
+a5paper ::   (Monad m) => LaTeXT_ m
+a5paper = do textell ( App.a5paper)
+
+
+a6paper ::   (Monad m) => LaTeXT_ m
+a6paper = do textell ( App.a6paper)
+
+
+b0paper ::   (Monad m) => LaTeXT_ m
+b0paper = do textell ( App.b0paper)
+
+
+b1paper ::   (Monad m) => LaTeXT_ m
+b1paper = do textell ( App.b1paper)
+
+
+b2paper ::   (Monad m) => LaTeXT_ m
+b2paper = do textell ( App.b2paper)
+
+
+b3paper ::   (Monad m) => LaTeXT_ m
+b3paper = do textell ( App.b3paper)
+
+
+b4paper ::   (Monad m) => LaTeXT_ m
+b4paper = do textell ( App.b4paper)
+
+
+b5paper ::   (Monad m) => LaTeXT_ m
+b5paper = do textell ( App.b5paper)
+
+
+b6paper ::   (Monad m) => LaTeXT_ m
+b6paper = do textell ( App.b6paper)
+
+
+letterpaper ::   (Monad m) => LaTeXT_ m
+letterpaper = do textell ( App.letterpaper)
+
+
+executivepaper ::   (Monad m) => LaTeXT_ m
+executivepaper = do textell ( App.executivepaper)
+
+
+legalpaper ::   (Monad m) => LaTeXT_ m
+legalpaper = do textell ( App.legalpaper)
+
+
+draft ::   (Monad m) => LaTeXT_ m
+draft = do textell ( App.draft)
+
+-- | Typesets displayed formulae left-aligned instead of centred.
+
+fleqn ::   (Monad m) => LaTeXT_ m
+fleqn = do textell ( App.fleqn)
+
+-- | Places the numbering of formulae on the left hand side instead of the right.
+
+leqno ::   (Monad m) => LaTeXT_ m
+leqno = do textell ( App.leqno)
+
+
+titlepage ::   (Monad m) => LaTeXT_ m
+titlepage = do textell ( App.titlepage)
+
+
+notitlepage ::   (Monad m) => LaTeXT_ m
+notitlepage = do textell ( App.notitlepage)
+
+
+onecolumn ::   (Monad m) => LaTeXT_ m
+onecolumn = do textell ( App.onecolumn)
+
+
+twocolumn ::   (Monad m) => LaTeXT_ m
+twocolumn = do textell ( App.twocolumn)
+
+
+oneside ::   (Monad m) => LaTeXT_ m
+oneside = do textell ( App.oneside)
+
+
+twoside ::   (Monad m) => LaTeXT_ m
+twoside = do textell ( App.twoside)
+
+-- | Changes the layout of the document to print in landscape mode
+
+landscape ::   (Monad m) => LaTeXT_ m
+landscape = do textell ( App.landscape)
+
+-- | Makes chapters begin either only on right hand pages
+
+openright ::   (Monad m) => LaTeXT_ m
+openright = do textell ( App.openright)
+
+-- | Makes chapters begin on the next page available.
+
+openany ::   (Monad m) => LaTeXT_ m
+openany = do textell ( App.openany)
+
+
+document ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+document a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.document a1)
+
+
+pagenumbering ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+pagenumbering a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.pagenumbering a1)
+
+-- | Arabic numerals.
+
+arabic ::   (Monad m) => LaTeXT_ m
+arabic = do textell ( App.arabic)
+
+-- | Lowercase roman numerals.
+
+roman ::   (Monad m) => LaTeXT_ m
+roman = do textell ( App.roman)
+
+-- | Uppercase roman numerals.
+
+roman_ ::   (Monad m) => LaTeXT_ m
+roman_ = do textell ( App.roman_)
+
+-- | Lowercase letters.
+
+alph ::   (Monad m) => LaTeXT_ m
+alph = do textell ( App.alph)
+
+-- | Uppercase letters.
+
+alph_ ::   (Monad m) => LaTeXT_ m
+alph_ = do textell ( App.alph_)
+
+
+pagestyle ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+pagestyle a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.pagestyle a1)
+
+
+thispagestyle ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+thispagestyle a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.thispagestyle a1)
+
+
+plain ::   (Monad m) => LaTeXT_ m
+plain = do textell ( App.plain)
+
+
+headings ::   (Monad m) => LaTeXT_ m
+headings = do textell ( App.headings)
+
+
+empty ::   (Monad m) => LaTeXT_ m
+empty = do textell ( App.empty)
+
+
+myheadings ::   (Monad m) => LaTeXT_ m
+myheadings = do textell ( App.myheadings)
+
+-- | Used in conjunction with 'myheadings' for setting both the left and the right heading.
+
+markboth ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m -> LaTeXT_ m
+markboth a1 a2
+  = do a1 <- extractLaTeX_ a1
+       a2 <- extractLaTeX_ a2
+       textell ( App.markboth a1 a2)
+
+-- | Used in conjunction with 'myheadings' for setting the right heading.
+
+markright ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+markright a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.markright a1)
+
+-- | Start a new line. In a 'tabular', it starts a new row, so use 'newline' instead.
+
+lnbk ::   (Monad m) => LaTeXT_ m
+lnbk = do textell ( App.lnbk)
+
+
+lnbk_ ::   (Monad m) => LaTeXT_ m
+lnbk_ = do textell ( App.lnbk_)
+
+
+hyp ::   (Monad m) => LaTeXT_ m
+hyp = do textell ( App.hyp)
+
+
+cleardoublepage ::   (Monad m) => LaTeXT_ m
+cleardoublepage = do textell ( App.cleardoublepage)
+
+
+clearpage ::   (Monad m) => LaTeXT_ m
+clearpage = do textell ( App.clearpage)
+
+
+newpage ::   (Monad m) => LaTeXT_ m
+newpage = do textell ( App.newpage)
+
+
+linebreak ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+linebreak a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.linebreak a1)
+
+
+nolinebreak ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+nolinebreak a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.nolinebreak a1)
+
+
+nopagebreak ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+nopagebreak a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.nopagebreak a1)
+
+
+pagebreak ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+pagebreak a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.pagebreak a1)
+
+
+hyphenation ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+hyphenation a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.hyphenation a1)
+
+
+mbox ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+mbox a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.mbox a1)
+
+
+fbox ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+fbox a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.fbox a1)
+
+
+today ::   (Monad m) => LaTeXT_ m
+today = do textell ( App.today)
+
+
+tex ::   (Monad m) => LaTeXT_ m
+tex = do textell ( App.tex)
+
+
+laTeX2 ::   (Monad m) => LaTeXT_ m
+laTeX2 = do textell ( App.laTeX2)
+
+
+laTeXe ::   (Monad m) => LaTeXT_ m
+laTeXe = do textell ( App.laTeXe)
+
+-- | Horizontal dots.
+
+ldots ::   (Monad m) => LaTeXT_ m
+ldots = do textell ( App.ldots)
+
+-- | Vertical dots.
+
+vdots ::   (Monad m) => LaTeXT_ m
+vdots = do textell ( App.vdots)
+
+-- | Diagonal dots.
+
+ddots ::   (Monad m) => LaTeXT_ m
+ddots = do textell ( App.ddots)
+
+-- | Quotation marks.
+
+qts ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+qts a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.qts a1)
+
+
+footnote ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+footnote a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.footnote a1)
+
+
+linespread ::   (Monad m) => Float -> LaTeXT_ m
+linespread a1 = do textell ( App.linespread a1)
+
+
+indent ::   (Monad m) => LaTeXT_ m
+indent = do textell ( App.indent)
+
+
+noindent ::   (Monad m) => LaTeXT_ m
+noindent = do textell ( App.noindent)
+
+
+hspace ::   (Monad m) => Measure -> LaTeXT_ m
+hspace a1 = do textell ( App.hspace a1)
+
+
+hspace_ ::   (Monad m) => Measure -> LaTeXT_ m
+hspace_ a1 = do textell ( App.hspace_ a1)
+
+
+stretch ::   (Monad m) => Int -> LaTeXT_ m
+stretch a1 = do textell ( App.stretch a1)
+
+
+vspace ::   (Monad m) => Measure -> LaTeXT_ m
+vspace a1 = do textell ( App.vspace a1)
+
+
+protect ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+protect a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.protect a1)
+
+
+verbatim ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+verbatim a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.verbatim a1)
+
+
+underline ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+underline a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.underline a1)
+
+
+emph ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+emph a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.emph a1)
+
+
+textrm ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+textrm a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.textrm a1)
+
+
+textsf ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+textsf a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.textsf a1)
+
+
+texttt ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+texttt a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.texttt a1)
+
+
+textmd ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+textmd a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.textmd a1)
+
+
+textbf ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+textbf a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.textbf a1)
+
+
+textup ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+textup a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.textup a1)
+
+
+textit ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+textit a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.textit a1)
+
+
+textsl ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+textsl a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.textsl a1)
+
+
+textsc ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+textsc a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.textsc a1)
+
+
+textnormal ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+textnormal a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.textnormal a1)
+
+
+tiny ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+tiny a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.tiny a1)
+
+
+scriptsize ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+scriptsize a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.scriptsize a1)
+
+
+footnotesize ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+footnotesize a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.footnotesize a1)
+
+
+small ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+small a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.small a1)
+
+
+normalsize ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+normalsize a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.normalsize a1)
+
+
+large ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+large a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.large a1)
+
+
+large2 ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+large2 a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.large2 a1)
+
+
+large3 ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+large3 a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.large3 a1)
+
+
+huge ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+huge a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.huge a1)
+
+
+huge2 ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+huge2 a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.huge2 a1)
+
+
+smallskip ::   (Monad m) => LaTeXT_ m
+smallskip = do textell ( App.smallskip)
+
+
+bigskip ::   (Monad m) => LaTeXT_ m
+bigskip = do textell ( App.bigskip)
+
+-- | The 'tabular' environment can be used to typeset tables with optional horizontal and vertical lines.
+
+tabular ::   (Monad m) => Maybe Pos -> [TableSpec] -> LaTeXT_ m -> LaTeXT_ m
+tabular a1 a2 a3
+  = do a3 <- extractLaTeX_ a3
+       textell ( App.tabular a1 a2 a3)
+
+
+(&) ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m -> LaTeXT_ m
+(&) a1 a2
+  = do a1 <- extractLaTeX_ a1
+       a2 <- extractLaTeX_ a2
+       textell ( (App.&) a1 a2)
+
+-- | Horizontal line.
+
+hline ::   (Monad m) => LaTeXT_ m
+hline = do textell ( App.hline)
+
+-- | @cline i j@ writes a partial horizontal line beginning in column i and ending in column j.
+
+cline ::   (Monad m) => Int -> Int -> LaTeXT_ m
+cline a1 a2 = do textell ( App.cline a1 a2)
+
+
+parbox ::   (Monad m) => Maybe Pos -> Measure -> LaTeXT_ m -> LaTeXT_ m
+parbox a1 a2 a3
+  = do a3 <- extractLaTeX_ a3
+       textell ( App.parbox a1 a2 a3)
+
+
+makebox ::   (Monad m) => Maybe Measure -> Maybe Pos -> LaTeXT_ m -> LaTeXT_ m
+makebox a1 a2 a3
+  = do a3 <- extractLaTeX_ a3
+       textell ( App.makebox a1 a2 a3)
+
+
+framebox ::   (Monad m) => Maybe Measure -> Maybe Pos -> LaTeXT_ m -> LaTeXT_ m
+framebox a1 a2 a3
+  = do a3 <- extractLaTeX_ a3
+       textell ( App.framebox a1 a2 a3)
+
+
+raisebox ::   (Monad m) =>
+  Measure -> Maybe Measure -> Maybe Measure -> LaTeXT_ m -> LaTeXT_ m
+raisebox a1 a2 a3 a4
+  = do a4 <- extractLaTeX_ a4
+       textell ( App.raisebox a1 a2 a3 a4)
+
+-- | Produce a simple black box.
+
+rule ::   (Monad m) => Maybe Measure -> Measure -> Measure -> LaTeXT_ m
+rule a1 a2 a3 = do textell ( App.rule a1 a2 a3)
+
+-- | Print the HaTeX logo.
+
+hatex ::   (Monad m) => LaTeXT_ m
+hatex = do textell ( App.hatex)
+
+-- | Print the HaTeX 3 logo.
+
+hatex3 ::   (Monad m) => LaTeXT_ m
+hatex3 = do textell ( App.hatex3)
+
+-- | Print the HaTeX-meta logo.
+
+hatex_meta ::   (Monad m) => LaTeXT_ m
+hatex_meta = do textell ( App.hatex_meta)
+
+-- | Print the HaTeX logo, beside the complete version number.
+
+hatex_version ::   (Monad m) => LaTeXT_ m
+hatex_version = do textell ( App.hatex_version)
+
+
+ Text/LaTeX/Base/Monad.hs view
@@ -0,0 +1,34 @@++{- |+This module exports those minimal things you need+to work with HaTeX. Those things are:++* The 'LaTeX' datatype.++* The '<>' operator, to append 'LaTeX' values.++* The "Text.LaTeX.Base.Render" module, to render a 'LaTeX' value into 'Text'.++* The "Text.LaTeX.Base.Types" module, which contains several types used by+  other modules.++* The "Text.LaTeX.Base.Writer" module, needed to run the 'LaTeXT' monad, and+  obtain a result of type 'LaTeX'.++* The "Text.LaTeX.Base.Commands.Monad" module, which exports the LaTeX standard commands+  and environments.+-}
+module Text.LaTeX.Base.Monad
+ ( LaTeX , (<>)
+ , module Text.LaTeX.Base.Render+ , module Text.LaTeX.Base.Types+ , module Text.LaTeX.Base.Writer
+ , module Text.LaTeX.Base.Commands.Monad
+   ) where
+
+import Text.LaTeX.Base.Syntax (LaTeX,(<>))
+import Text.LaTeX.Base.Render+import Text.LaTeX.Base.Types+import Text.LaTeX.Base.Writer
+import Text.LaTeX.Base.Commands.Monad+
+ Text/LaTeX/Base/Parser.hs view
@@ -0,0 +1,6 @@++-- | Parser is not yet implemented.
+module Text.LaTeX.Base.Parser
+ (
+   ) where
+
+ Text/LaTeX/Base/Render.hs view
@@ -0,0 +1,105 @@+
+{-# LANGUAGE OverloadedStrings #-}
+
+module Text.LaTeX.Base.Render
+ ( -- * Re-exports
+   Text
+ , module Data.String
+   -- * Render class
+ , Render (..)
+ , renderAppend
+ , renderCommas
+ , renderFile
+ , rendertex+   -- * Reading files+ , readFileTex
+   ) where
+
+import Data.Text (Text)
+import Text.LaTeX.Base.Syntax
+import Data.String
+import Data.Monoid (Monoid (..))
+import qualified Data.Text.IO as T
+import Data.Text.Encoding
+import Data.List (intersperse)
+import qualified Data.ByteString as B
++-- | Class of values that can be transformed to 'Text'.+-- You mainly will use this to obtain the 'Text' output+-- of a 'LaTeX' value.
+class Show a => Render a where
+ render :: a -> Text
+ --
+ render = fromString . show
++-- | Render every element of a list and append results.
+renderAppend :: Render a => [a] -> Text
+renderAppend = mconcat . fmap render
++-- | Render every element of a list and append results,+--   separated by commas.
+renderCommas :: Render a => [a] -> Text
+renderCommas = mconcat . intersperse "," . fmap render
++-- | Use this function to render a 'LaTeX' (or another+--   one in the 'Render' class) value directly+--   in a file.
+renderFile :: Render a => FilePath -> a -> IO ()
+renderFile f = B.writeFile f . encodeUtf8 . render
++-- | If you are going to insert the content of a file+-- in your 'LaTeX' data, use this function to ensure+-- your encoding is correct.+readFileTex :: FilePath -> IO Text+readFileTex = fmap decodeUtf8 . B.readFile++-- | If you can transform a value to 'Text', you can+--   insert that 'Text' in your 'LaTeX' code.+--   That is what this function does.+--+-- /Warning: /'rendertex'/ does not escape LaTeX reserver characters./
+rendertex :: Render a => a -> LaTeX
+rendertex = TeXRaw . render
+
+-- LaTeX instances
+
+instance Render LaTeX where
+ render (TeXRaw t) = t
+ render (TeXComm name []) = "\\" <> fromString name <> "{}"
+ render (TeXComm name args) =
+     "\\"
+  <> fromString name
+  <> renderAppend args
+ render (TeXCommS name) = "\\" <> fromString name
+ render (TeXEnv name args c) =
+     "\\begin{"
+  <> fromString name
+  <> "}"
+  <> renderAppend args
+  <> render c
+  <> "\\end{"
+  <> fromString name
+  <> "}"+ render (TeXMath l) = "$" <> render l <> "$"
+ render (TeXNewLine b) = " \\\\" <> ( if b then "*" else mempty ) <> " "
+ render (TeXOp sym l1 l2) = render l1 <> fromString sym <> render l2+ render (TeXBraces l) = "{" <> render l <> "}"
+ render (TeXSeq l1 l2) = render l1 <> render l2
+ render TeXEmpty = mempty
+
+instance Render TeXArg where
+ render (OptArg l) = "[" <> render l <> "]"
+ render (FixArg l) = "{" <> render l <> "}"
+ render (MOptArg []) = mempty
+ render (MOptArg ls) =
+     fromString "["
+  <> renderCommas ls
+  <> fromString "]"
+ render (SymArg l) = "<" <> render l <> ">"
+ render (MSymArg ls) = "<" <> renderCommas ls <> ">"
+
+-- Other instances
+
+instance Render Int where
+instance Render Float where
+
+ Text/LaTeX/Base/Syntax.hs view
@@ -0,0 +1,84 @@+
+-- | 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. 
+module Text.LaTeX.Base.Syntax
+ ( -- * @LaTeX@ datatype
+   LaTeX (..)+ , braces
+ , TeXArg (..)
+ , (<>)
+   ) where
+
+import Data.Text (Text)
+import Data.Monoid
+import Data.String
+
+-- | A 'LaTeX' object represents some expression written in LaTeX.
+data LaTeX =
+   TeXRaw Text -- ^ Raw text.
+ | TeXComm String [TeXArg] -- ^ Constructor for commands.+                           -- First argument is the name of the command.+                           -- Second, its arguments.
+ | TeXCommS String
+ | 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 -- A expression between braces.
+ | TeXSeq LaTeX LaTeX -- ^ Sequencing of 'LaTeX' expressions.+                      -- Use '<>' preferably.
+ | TeXEmpty -- ^ An empty expression.+            -- Neutral element of '<>'.
+   deriving Show++-- | Alias for 'TeXBraces'.+braces :: LaTeX -> LaTeX+braces = TeXBraces
+
+-- | An argument for a 'LaTeX' command or environment.
+data TeXArg =
+   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.
+   deriving Show
+
+-- Monoid instance for 'LaTeX'.
+
+-- | 'mappend' is strict in its first argument.
+instance Monoid LaTeX where
+ mempty = TeXEmpty
+ mappend TeXEmpty x = x
+ mappend x TeXEmpty = x
+ mappend x y = TeXSeq x y
+
+-- | Alias for 'mappend'.
+(<>) :: Monoid a => a -> a -> a
+(<>) = mappend
++-- | 'fromString' escapes LaTeX reserved characters.
+instance IsString LaTeX where
+ fromString = TeXRaw . fromString . protectString
++-- | Escape LaTeX reserved characters in a 'String'.
+protectString :: String -> String
+protectString = mconcat . fmap protectChar
+
+protectChar :: Char -> String
+protectChar '#'  = "\\#"
+protectChar '$'  = "\\$"
+protectChar '%'  = "\\%"
+protectChar '^'  = "\\^{}"
+protectChar '&'  = "\\&"
+protectChar '{'  = "\\{"
+protectChar '}'  = "\\}"
+protectChar '~'  = "\\~{}"
+protectChar '\\' = "\\textbackslash{}"+protectChar '_'  = "\\_{}"
+protectChar x = [x]
+
+ Text/LaTeX/Base/Types.hs view
@@ -0,0 +1,68 @@++{-# LANGUAGE OverloadedStrings #-}++module Text.LaTeX.Base.Types (+   Label+ , createLabel+ , Pos (..)+ , TableSpec (..)+ , Measure (..)+ ) where++import Text.LaTeX.Base.Syntax+import Text.LaTeX.Base.Render++newtype Label = Label String deriving Show++createLabel :: String -> Label+createLabel str = Label str++instance Render Label where+ render (Label str) = fromString str++data Pos = Bottom | Center | Top deriving Show++instance Render Pos where+ render Bottom = "b"+ render Center = "c"+ render Top    = "t"++data TableSpec =+   LeftColumn         -- ^ Left-justified column.+ | CenterColumn       -- ^ Centered column.+ | RightColumn        -- ^ Right-justified column.+ | ParColumnTop LaTeX -- ^ Paragraph column with text vertically aligned at the top.+ | ParColumnMid LaTeX -- ^ Paragraph column with text vertically aligned at the middle. Requires 'array' package.+ | ParColumnBot LaTeX -- ^ Paragraph column with text vertically aligned at the bottom. Requires 'array' package.+ | VerticalLine       -- ^ Vertical line between two columns.+ | DVerticalLine      -- ^ Double vertical line between two columns.+   deriving Show++instance Render TableSpec where+ render LeftColumn       = "l"+ render CenterColumn     = "c"+ render RightColumn      = "r"+ render (ParColumnTop l) = "p" <> render (FixArg l)+ render (ParColumnMid l) = "m" <> render (FixArg l)+ render (ParColumnBot l) = "b" <> render (FixArg l)+ render VerticalLine     = "|"+ render DVerticalLine    = "||"++data Measure =+   Pt Int   -- ^ A point is 1/72.27 inch, that means about 0.0138 inch or 0.3515 mm.+ | Mm Float -- ^ Millimeter.+ | Cm Float -- ^ Centimeter.+ | In Float -- ^ Inch.+ | Ex Float -- ^ The height of an \"x\" in the current font.+ | Em Float -- ^ The width of an \"M\" in the current font.+ | CustomMeasure LaTeX -- ^ You can introduce a 'LaTeX' expression as a measure.+   deriving Show++instance Render Measure where+ render (Pt x) = render x <> "pt"+ render (Mm x) = render x <> "mm"+ render (Cm x) = render x <> "cm"+ render (In x) = render x <> "in"+ render (Ex x) = render x <> "ex"+ render (Em x) = render x <> "em"+ render (CustomMeasure x) = render x
+ Text/LaTeX/Base/Writer.hs view
@@ -0,0 +1,54 @@+
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+
+module Text.LaTeX.Base.Writer
+ ( -- * @LaTeXT@ writer
+   LaTeXT+ , LaTeXT_
+ , runLaTeXT
+ , execLaTeXT
+ , extractLaTeX+ , extractLaTeX_+ , textell
+   ) where
+
+import Control.Monad.Writer
+import Control.Applicative+import Data.String
+--
+import Text.LaTeX.Base.Syntax
+import Text.LaTeX.Base.Render
+
+-- | Newtype wrapper over the 'WriterT' monad transformer, with 'LaTeX'
+--   as writer state.
+newtype LaTeXT m a =+ LaTeXT { unwrapLaTeXT :: WriterT LaTeX m a }+   deriving (Functor,Applicative,Monad,MonadIO)
++type LaTeXT_ m = LaTeXT m ()+
+runLaTeXT :: LaTeXT m a -> m (a,LaTeX)
+runLaTeXT = runWriterT . unwrapLaTeXT
++-- | This is the usual way to run the 'LaTeXT' monad+--   and obtain a 'LaTeX' value.
+execLaTeXT :: Functor m => LaTeXT m a -> m LaTeX
+execLaTeXT = fmap snd . runLaTeXT
++-- | This function run a 'LaTeXT' computation,+--   lifting the result again in the monad.
+extractLaTeX :: Monad m => LaTeXT m a -> LaTeXT m (a,LaTeX)
+extractLaTeX = LaTeXT . lift . runLaTeXT
++extractLaTeX_ :: Monad m => LaTeXT m a -> LaTeXT m LaTeX
+extractLaTeX_ = (>>= return . snd) . LaTeXT . lift . runLaTeXT++-- | With 'textell' you can append 'LaTeX' values to the+--   state of the 'LaTeXT' monad.
+textell :: Monad m => LaTeX -> LaTeXT m ()
+textell = LaTeXT . tell++-- Overloaded Strings++instance Monad m => IsString (LaTeXT m a) where+ fromString = (>> return undefined) . textell . fromString
− Text/LaTeX/Commands.hs
@@ -1,741 +0,0 @@-
-{-# LANGUAGE OverloadedStrings #-}
-
--- | Here, principal LaTeX /commands/ and /environments/.
-module Text.LaTeX.Commands (
-    -- * Document's Properties
-    documentclass
-  , usepackage
-  , pagestyle
-  , thispagestyle
-  , author
-  , title
-  , date
-    -- * Document Environment
-  , document
-    -- * Text Layout
-  , lnbk , lnbk_
-  , pfbk
-  , newpage
-  , linebreak , nolinebreak
-  , pagebreak , nopagebreak
-  , fussy , sloppy
-  , endsen
-  , frenchspacing
-  , par
-    -- * Importing
-  , include , includeonly
-  , input
-    -- * Hyphenation
-  , hyphenation , hyp
-    -- * Pre-made
-  , today
-  , tex , latex , latexe
-    -- * Sections
-  , section , section_ , sectiontab
-  , subsection , subsection_ , subsectiontab
-  , subsubsection , subsubsection_ , subsubsectiontab
-  , paragraph , paragraph_ , paragraphtab
-  , subparagraph , subparagraph_ , subparagraphtab
-  , part , part_ , parttab
-  , chapter , chapter_ , chaptertab
-  , appendix
-  , maketitle , tableofcontents
-  , frontmatter , mainmatter , backmatter
-    -- * Cross references
-  , label , ref , pageref
-    -- * Footnotes
-  , footnote
-    -- * Emphasized
-  , underline , emph
-    -- * Environments
-  , itemize
-  , enumerate
-  , description
-  , item
-  , flushleft
-  , flushright
-  , center
-  , quote , quotation
-  , verse
-  , abstract
-  , verbatim , verbatim_
-  , verb , verb_
-    -- * Floating Bodies
-  , figure
-  , table
-  , caption
-  , listoffigures , listoftables
-  , clearpage , cleardoublepage
-    -- * Customizing
-  , newcommand , renewcommand , providecommand
-  , newenvironment
-  , ignorespaces , ignorespacesafterend
-  , providesPackage
-    -- * Fonts
-    -- $fontslabel
-
-    -- ** Format
-  , textrm , texttt , textmd
-  , textup , textsl , textsf
-  , textbf , textit , textsc
-  , textnormal
-    -- ** Size
-    -- $fontsize
-  , tiny , scriptsize
-  , footnotesize , small
-  , normalsize
-  , large , large2 , large3
-  , huge , huge2
-    -- * Spacing
-  , linespread
-  , hspace , hspace_
-  , vspace , vspace_
-  , stretch
-  , skip , bigskip , smallskip
-    -- * Boxes
-  , mbox , mbox_
-  , fbox
-  , parbox
-  , minipage
-  , makebox
-  , framebox
-  , raisebox
-  , rule
-    -- * Tabular
-  , Tabular
-  , cjustified
-  , csep
-  , tabular
-  , (&) , (//)
-  , hline , cline
-  , multicolumn
-  , LxMatrix
-  , matrixTab
-    -- * Others
-  , protect
-  , phantom
-  , string
-  , qts
-  , ldots
-  ) where
-
-import Prelude hiding (unwords)
-import Data.List (intersperse)
-import GHC.Exts (fromString)
-import Data.Monoid (mappend)
-
-import Data.String.Combinators (braces,unwords,between
-                               ,mid   ,newline,brackets)
-
-import Text.LaTeX.Monad
-import Text.LaTeX.Define
-import Text.LaTeX.Arguments
-import Text.LaTeX.Packages
-import Text.LaTeX.Result
-
--- Special Characters
-
-char :: Monad m => Char -> LaTeX m
-char = chReplace resCharsStr
-   where
-     chReplace [] c = lx $ toResult [c]
-     chReplace ((x,y):xs) c = if x == c then lx y else chReplace xs c
-
--- | Like 'fromString', but taking care with reserved characters.
-string :: Monad m => String -> LaTeX m
-string = mapM_ char
-
--- | Delimite between quotes a text.
-qts :: Monad m => LaTeX m -> LaTeX m
-qts = between "``" "''"
-
--- | Write a ellipsis.
-ldots :: Monad m => LaTeX m
-ldots = comm0 "ldots"
-
---
-
--- | In preamble, determines the document class.
-documentclass :: Monad m => [ClassOption m] -> Class m -> LaTeX m
-documentclass = comm4 "documentclass"
-
--- | In preamble, import a package.
-usepackage :: Monad m => [PackageOption m] -> Package m -> LaTeX m
-usepackage = comm4 "usepackage"
-
--- | In preamble, determines page style.
-pagestyle :: Monad m => Style m -> LaTeX m
-pagestyle = comm1 "pagestyle"
-
--- | A local version of 'pagestyle', to use for any page.
-thispagestyle :: Monad m => Style m -> LaTeX m
-thispagestyle = comm1 "thispagestyle"
-
--- | In preamble, especifies the document's author.
-author :: Monad m => Name m -> LaTeX m
-author = comm1 "author"
-
--- | In preamble, especifies the document's title.
-title :: Monad m => Title m -> LaTeX m
-title = comm1 "title"
-
--- | In preamble, inserts a date of writing.
--- If you don't specify one, it takes the date of export.
-date :: Monad m => Date m -> LaTeX m
-date = comm1 "date"
-
--- Document environment
-
--- | After the preamble, insert document's content with 'document'.
-document :: Monad m => LaTeX m -> LaTeX m
-document = env "document"
-
--- Text m Order
-
--- | Starts a new line.
-lnbk :: Monad m => LaTeX m
-lnbk = comm0_ "\\ "
-
--- | Starts a new paragraph.
-pfbk :: Monad m => LaTeX m
-pfbk = newline >> newline
-
-lnbk_ :: Monad m => LaTeX m
-lnbk_ = comm0_ "\\* "
-
--- | Starts a new page.
-newpage :: Monad m => LaTeX m
-newpage = comm0 "newpage"
-
-linebreak :: Monad m => Int -> LaTeX m
-linebreak = comm3 "linebreak" . (:[]) . lxany
-
-nolinebreak :: Monad m => Int -> LaTeX m
-nolinebreak = comm3 "nolinebreak" . (:[]) . lxany
-
-pagebreak :: Monad m => Int -> LaTeX m
-pagebreak = comm3 "pagebreak" . (:[]) . lxany
-
-nopagebreak :: Monad m => Int -> LaTeX m
-nopagebreak = comm3 "nopagebreak" . (:[]) . lxany
-
-fussy :: Monad m => LaTeX m
-fussy = comm0 "fussy"
-
-sloppy :: Monad m => LaTeX m
-sloppy = comm0 "sloppy"
-
-endsen :: Monad m => LaTeX m
-endsen = comm0_ "@"
-
-frenchspacing :: Monad m => LaTeX m
-frenchspacing = comm0 "frenchspacing"
-
--- Importing
-
-include :: Monad m => FilePath -> LaTeX m
-include = comm1 "include" . fromString
-
-includeonly :: Monad m => [FilePath] -> LaTeX m
-includeonly = comm1 "includeonly" . mapM_ fromString . intersperse ","
-
-input :: Monad m => FilePath -> LaTeX m
-input = comm1 "input" . fromString
-
--- Hyphenation
-
-hyphenation :: Monad m => [Word m] -> LaTeX m
-hyphenation = comm1 "hyphenation" . unwords
-
-hyp :: Monad m => LaTeX m
-hyp = comm0 "-"
-
--- Ready-Made Strings
-
--- | Writes current date.
-today :: Monad m => LaTeX m
-today = comm0 "today"
-
--- | TeX nice word.
-tex :: Monad m => LaTeX m
-tex = comm0 "TeX"
-
--- | LaTeX nice word.
-latex :: Monad m => LaTeX m
-latex = comm0 "LaTeX"
-
--- | LaTeX2e nice word.
-latexe :: Monad m => LaTeX m
-latexe = comm0 "LaTeXe"
-
--- Sections (Article)
-
-section :: Monad m => Title m -> LaTeX m
-section = comm1 "section"
-
-section_ :: Monad m => Title m -> LaTeX m
-section_ = comm1 "section*"
-
-sectiontab :: Monad m => Title m -> Title m -> LaTeX m
-sectiontab t1 = comm4 "section" [t1]
-
-subsection :: Monad m => Title m -> LaTeX m
-subsection = comm1 "subsection"
-
-subsection_ :: Monad m => Title m -> LaTeX m
-subsection_ = comm1 "subsection*"
-
-subsectiontab :: Monad m => Title m -> Title m -> LaTeX m
-subsectiontab t1 = comm4 "subsection" [t1]
-
-subsubsection :: Monad m => Title m -> LaTeX m
-subsubsection = comm1 "subsubsection"
-
-subsubsection_ :: Monad m => Title m -> LaTeX m
-subsubsection_ = comm1 "subsubsection*"
-
-subsubsectiontab :: Monad m => Title m -> Title m -> LaTeX m
-subsubsectiontab t1 = comm4 "subsubsection" [t1]
-
-paragraph :: Monad m => Title m -> LaTeX m
-paragraph = comm1 "paragraph"
-
-paragraph_ :: Monad m => Title m -> LaTeX m
-paragraph_ = comm1 "paragraph*"
-
-paragraphtab :: Monad m => Title m -> Title m -> LaTeX m
-paragraphtab t1 = comm4 "paragraph" [t1]
-
-subparagraph :: Monad m => Title m -> LaTeX m
-subparagraph = comm1 "subparagraph"
-
-subparagraph_ :: Monad m => Title m -> LaTeX m
-subparagraph_ = comm1 "subparagraph*"
-
-subparagraphtab :: Monad m => Title m -> Title m -> LaTeX m
-subparagraphtab t1 = comm4 "subparagraph" [t1]
-
-part :: Monad m => Title m -> LaTeX m
-part = comm1 "part"
-
-part_ :: Monad m => Title m -> LaTeX m
-part_ = comm1 "part*"
-
-parttab :: Monad m => Title m -> Title m -> LaTeX m
-parttab t1 = comm4 "part" [t1]
-
--- Sections (Report or Book)
-
-chapter :: Monad m => Title m -> LaTeX m
-chapter = comm1 "chapter"
-
-chapter_ :: Monad m => Title m -> LaTeX m
-chapter_ = comm1 "chapter*"
-
-chaptertab :: Monad m => Title m -> Title m -> LaTeX m
-chaptertab t1 = comm4 "chapter" [t1]
-
--- Sections (Others)
-
--- | Generate the appendix.
-appendix :: Monad m => LaTeX m
-appendix = comm0 "appendix"
-
--- | Generate the title page.
-maketitle :: Monad m => LaTeX m
-maketitle = comm0 "maketitle"
-
--- | Generate the table of contents.
-tableofcontents :: Monad m => LaTeX m
-tableofcontents = comm0 "tableofcontents"
-
--- For Book Class
-
-frontmatter :: Monad m => LaTeX m
-frontmatter = comm0 "frontmatter"
-
-mainmatter :: Monad m => LaTeX m
-mainmatter = comm0 "mainmatter"
-
-backmatter :: Monad m => LaTeX m
-backmatter = comm0 "backmatter"
-
--- Cross References
-
-label :: Monad m => Marker m -> LaTeX m
-label = comm1 "label"
-
-ref :: Monad m => Marker m -> LaTeX m
-ref = comm1 "ref"
-
-pageref :: Monad m => Marker m -> LaTeX m
-pageref = comm1 "pageref"
-
--- Footnotes
-
--- | Adds a given text to the page's footnote.
-footnote :: Monad m => Text m -> LaTeX m
-footnote = comm1 "footnote"
-
--- Emphasized
-
--- | Underlines a text.
-underline :: Monad m => Text m -> LaTeX m
-underline = comm1 "underline"
-
--- | Emphasizes a text.
-emph :: Monad m => Text m -> LaTeX m
-emph = comm1 "emph"
-
--- Environments
-
--- | Environment for create simple lists. See 'item'.
-itemize :: Monad m => LaTeX m -> LaTeX m
-itemize = env "itemize"
-
--- | Environment for create enumerated lists. See 'item'.
-enumerate :: Monad m => LaTeX m -> LaTeX m
-enumerate = env "enumerate"
-
--- | Environment for create description lists. See 'item'.
-description :: Monad m => LaTeX m -> LaTeX m
-description = env "description"
-
--- | Create a list item. Optional argument is used to change its icon.
---
--- Example:
---
--- > do item ["-"] ; "Item content."
---
-item :: Monad m => [ItemOption m] -> LaTeX m
-item = comm3 "item"
-
--- | Left alignment.
-flushleft :: Monad m => LaTeX m -> LaTeX m
-flushleft = env "flushleft"
-
--- | Right alignment.
-flushright :: Monad m => LaTeX m -> LaTeX m
-flushright = env "flushright"
-
--- | Center alignment.
-center :: Monad m => LaTeX m -> LaTeX m
-center = env "center"
-
--- | Quote from a text.
-quote :: Monad m => LaTeX m -> LaTeX m
-quote = env "quote"
-
--- | Like 'quote', but indenting the first line of each paragraph.
-quotation :: Monad m => LaTeX m -> LaTeX m
-quotation = env "quotation"
-
-verse :: Monad m => LaTeX m -> LaTeX m
-verse = env "verse"
-
--- | Use 'abstract' to create an abstract, containing the argument's text.
-abstract :: Monad m => LaTeX m -> LaTeX m
-abstract = env "abstract"
-
--- | A text within the 'verbatim' environment has monospaced font
--- and no commands or environments will be executed.
-verbatim :: Monad m => LaTeX m -> LaTeX m
-verbatim = env "verbatim"
-
--- | Like 'verbatim', but it makes visible the spaces.
-verbatim_ :: Monad m => LaTeX m -> LaTeX m
-verbatim_ = env "verbatim*"
-
-sep :: Monad m => LaTeX m -> LaTeX m
-sep = between "|" "|"
-
--- | An inline version of 'verbatim'. Argument must be a single line.
-verb :: Monad m => LaTeX m -> LaTeX m
-verb = (comm0_ "verb" >>) . sep
-
--- | An inline version of 'verbatim_'. Argument must be a single line.
-verb_ :: Monad m => LaTeX m -> LaTeX m
-verb_ = (comm0_ "verb*" >>) . sep
-
--- Floating Bodies
-
-figure :: Monad m => [PlacementSpecifier m] -> LaTeX m -> LaTeX m
-figure = env2 "figure"
-
-table :: Monad m => [PlacementSpecifier m] -> LaTeX m -> LaTeX m
-table = env2 "table"
-
-caption :: Monad m => Text m -> LaTeX m
-caption = comm1 "caption"
-
-listoffigures :: Monad m => LaTeX m
-listoffigures = comm0 "listoffigures"
-
-listoftables :: Monad m => LaTeX m
-listoftables = comm0 "listoftables"
-
-clearpage :: Monad m => LaTeX m
-clearpage = comm0 "clearpage"
-
-cleardoublepage :: Monad m => LaTeX m
-cleardoublepage = "cleardoblepage"
-
--- Customizing
-
-newcommand :: Monad m => Name m -> [Int] -> LaTeX m -> LaTeX m
-newcommand n i = comm6 "newcommand" n (map lxany i)
-
-renewcommand :: Monad m => Name m -> [Int] -> LaTeX m -> LaTeX m
-renewcommand n i = comm6 "renewcommand" n (map lxany i)
-
-providecommand :: Monad m => Name m -> [Int] -> LaTeX m -> LaTeX m
-providecommand n i = comm6 "providecommand" n (map lxany i)
-
-newenvironment :: Monad m => Name m -> [Int] -> LaTeX m -> LaTeX m -> LaTeX m
-newenvironment n i = comm7 "newenvironment" n (map lxany i)
-
-ignorespaces :: Monad m => LaTeX m
-ignorespaces = comm0 "ignorespaces"
-
-ignorespacesafterend :: Monad m => LaTeX m
-ignorespacesafterend = comm0 "ignorespacesafterend"
-
-providesPackage :: Monad m => Name m -> LaTeX m
-providesPackage = comm1 "ProvidesPackage"
-
--- Fonts
-
--- $fontslabel
--- #Fonts#
-
--- | Roman font
-textrm :: Monad m => LaTeX m -> LaTeX m
-textrm = comm1 "textrm"
-
--- | Monospaced font
-texttt :: Monad m => LaTeX m -> LaTeX m
-texttt = comm1 "texttt"
-
--- | Medium font
-textmd :: Monad m => LaTeX m -> LaTeX m
-textmd = comm1 "textmd"
-
--- | Upright font
-textup :: Monad m => LaTeX m -> LaTeX m
-textup = comm1 "textup"
-
--- | Slanted font
-textsl :: Monad m => LaTeX m -> LaTeX m
-textsl = comm1 "textsl"
-
--- | Sans Serif font
-textsf :: Monad m => LaTeX m -> LaTeX m
-textsf = comm1 "textsf"
-
--- | Bold font
-textbf :: Monad m => LaTeX m -> LaTeX m
-textbf = comm1 "textbf"
-
--- | Italic font
-textit :: Monad m => LaTeX m -> LaTeX m
-textit = comm1 "textit"
-
--- | Small Caps font
-textsc :: Monad m => LaTeX m -> LaTeX m
-textsc = comm1 "textsc"
-
--- | Default font
-textnormal :: Monad m => LaTeX m -> LaTeX m
-textnormal = comm1 "textnormal"
-
--- Font Sizes
-
--- $fontsize
--- Differents fonts size are sorted from lowest to highest.
-
-tiny :: Monad m => LaTeX m -> LaTeX m
-tiny = comm8 "tiny"
-
-scriptsize :: Monad m => LaTeX m -> LaTeX m
-scriptsize = comm8 "scriptsize"
-
-footnotesize :: Monad m => LaTeX m -> LaTeX m
-footnotesize = comm8 "footnotesize"
-
-small :: Monad m => LaTeX m -> LaTeX m
-small = comm8 "small"
-
-normalsize :: Monad m => LaTeX m -> LaTeX m
-normalsize = comm8 "normalsize"
-
-large :: Monad m => LaTeX m -> LaTeX m
-large = comm8 "large"
-
-large2 :: Monad m => LaTeX m -> LaTeX m
-large2 = comm8 "Large"
-
-large3 :: Monad m => LaTeX m -> LaTeX m
-large3 = comm8 "LARGE"
-
-huge :: Monad m => LaTeX m -> LaTeX m
-huge = comm8 "huge"
-
-huge2 :: Monad m => LaTeX m -> LaTeX m
-huge2 = comm8 "Huge"
-
---
-
-par :: Monad m => LaTeX m
-par = comm0 "par"
-
--- Spacing
-
--- | In preamble, it sets the inter-line spacing. Default line spread factor: 1.
-linespread :: Monad m => Float -> LaTeX m
-linespread = comm1 "linespread" . lxany
-
--- | Creates an horizontal spaces with length specified by the argument.
--- See "Text.LaTeX.Arguments#Measures" to create a correct argument.
-hspace :: Monad m => LaTeX m -> LaTeX m
-hspace = comm1 "hspace"
-
--- | Same as 'hspace', but it ignores start or end of lines.
-hspace_ :: Monad m => LaTeX m -> LaTeX m
-hspace_ = comm1 "hspace*"
-
--- | Vertical version of 'hspace'. Useful to separate two paragraphs.
-vspace :: Monad m => LaTeX m -> LaTeX m
-vspace = comm1 "vspace"
-
--- | Same as 'vspace', but it ignores start or end of pages.
-vspace_ :: Monad m => LaTeX m -> LaTeX m
-vspace_ = comm1 "vspace*"
-
--- | Create a space filling the remaining space of the line.
--- If there are multiple occurences, stretch factor determines the proportion of each space.
-stretch :: Monad m => Int -> LaTeX m
-stretch = comm1 "stretch" . lxany
-
--- | Like 'vspace', but for lines of the same paragraph.
--- 'bigskip' and 'smallskip' use 'skip' with a predefined argument.
-skip :: Monad m => LaTeX m -> LaTeX m
-skip = mappend lnbk . brackets
-
-bigskip :: Monad m => LaTeX m
-bigskip = comm0 "bigskip"
-
-smallskip :: Monad m => LaTeX m
-smallskip = comm0 "smallskip"
-
--- Boxes
-
--- | @mbox@ creates a box containing its argument.
-mbox :: Monad m => LaTeX m -> LaTeX m
-mbox = comm1 "mbox"
-
--- | Create an empty box.
-mbox_ :: Monad m => LaTeX m
-mbox_ = mbox ""
-
-fbox :: Monad m => LaTeX m -> LaTeX m
-fbox = comm1 "fbox"
-
-parbox :: Monad m => [Char] -> Width m -> LaTeX m -> LaTeX m
-parbox c = comm9 "parbox" (if null c then [] else [fromString c])
-
-minipage :: Monad m => [Char] -> Width m -> LaTeX m -> LaTeX m
-minipage c = env3 "minipage" (if null c then [] else [fromString c])
-
-makebox :: Monad m => [Width m] -> [Char] -> LaTeX m -> LaTeX m
-makebox w c = comm10 "makebox" w (if null c then [] else [fromString c])
-
-framebox :: Monad m => [Width m] -> [Char] -> LaTeX m -> LaTeX m
-framebox w c = comm10 "framebox" w (if null c then [] else [fromString c])
-
-raisebox :: Monad m => Lift m -> [Extend m] -> [Extend m] -> LaTeX m -> LaTeX m
-raisebox = comm11 "raisebox"
-
--- | It produces a simple black box.
-rule :: Monad m => [Lift m] -> Width m -> Height m -> LaTeX m
-rule = comm9 "rule"
-
--- Others
-
-protect :: Monad m => LaTeX m
-protect = comm0_ "protect"
-
-phantom :: Monad m => LaTeX m -> LaTeX m
-phantom = comm1 "phantom"
-
--- Tabular m
-
-type Tabular m = LaTeX m
-
-cjustified :: Monad m => Width m -> LaTeX m
-cjustified = ("p">>) . braces
-
-csep :: Monad m => LaTeX m -> LaTeX m
-csep = ("@">>) . braces
-
--- | The 'tabular' environment can be used to creates tables.
---
--- * First argument specifies vertical position:
--- @\"c\"@ (center),
--- @\"t\"@ (top) and
--- @\"b\"@ (bottom).
--- Example: @[\"t\"]@
---
--- * Second argument specifies table's format:
--- @\"l\"@ (left-aligned text column),
--- @\"r\"@ (right-aligned text column),
--- @\"c\"@ (center text column),
--- 'cjustified' (justified text column) and
--- @\"|\"@ (vertical line).
--- Example: @\"|l|r|\"@
---
--- * Third argument refers to table's content:
--- 'hline' inserts an horizontal line,
--- 'cline' inserts a partial horizontal line,
--- ('&') separates columns and
--- ('//') separates rows.
-tabular :: Monad m => [LaTeX m] -> LaTeX m -> LaTeX m -> Tabular m
-tabular = env3 "tabular"
-
-(&) :: Monad m => LaTeX m -> LaTeX m -> LaTeX m
-(&) = mid " & "
-
-(//) :: Monad m => LaTeX m -> LaTeX m -> LaTeX m
-(//) = mid $ lnbk >> newline
-
--- | Insert an horizontal line in a 'tabular'.
-hline :: Monad m => LaTeX m
-hline = comm0 "hline"
-
--- | Insert a partial horizontal line in a 'tabular'.
-cline :: Monad m => Int -- ^ Start column
-      -> Int -- ^ End column
-      -> LaTeX m
-cline n m = comm1 "cline" $ lxany n - lxany m
-
-multicolumn :: Monad m => Int -> LaTeX m -> LaTeX m -> LaTeX m
-multicolumn n = comm12 "multicolumn" $ lxany n
-
-type LxMatrix m = [[LaTeX m]]
-
--- | A matrix version of 'tabular'.
--- First and second arguments have the same meaning.
--- The generated 'tabular' has the same rows and columns as the matrix.
-matrixTab :: Monad m => [LaTeX m] -> LaTeX m -> LxMatrix m -> Tabular m
-matrixTab p spec m = let f = tabular p spec . foldr1 (//) . map (foldr1 (&))
-                     in  if sum (map length m) == 0 then "" else f m
-
-
-
-
-
-
-
-
-
-
− Text/LaTeX/Define.hs
@@ -1,115 +0,0 @@-
-{-# LANGUAGE OverloadedStrings #-}
-
--- | This module allows you to add commands and environments of LaTeX which are not defined in HaTeX.
--- Usually, you don't need to use these functions.
---
--- If a desired command doesn't appear in HaTeX and you need it, use these functions and report the missing function to the maintainer.
-module Text.LaTeX.Define (
-    -- * Defining Commands
-    comm0_
-  , comm0
-  , comm1
-  , comm2
-  , comm3
-  , comm4
-  , comm5
-  , comm6
-  , comm7
-  , comm8
-  , comm9
-  , comm10
-  , comm11
-  , comm12
-    -- * Defining Environments
-  , env
-  , env2
-  , env3
-  ) where
-
-import Control.Monad.Writer
-import Data.List (intersperse)
-
-import Data.String.Combinators (braces,comma,brackets,between)
-
-import Text.LaTeX.Monad
-import Text.LaTeX.Result
-
-listOpts :: Monad m => [LaTeX m] -> LaTeX m
-listOpts [] = ""
-listOpts xs = brackets . sequence_ . intersperse comma $ xs
-
---
-
-comm0_ :: Monad m => LaTeX m -> LaTeX m
-comm0_ = mappend "\\"
-
-comm0 :: Monad m => LaTeX m -> LaTeX m
-comm0 n = do comm0_ n
-             braces ""
-
-
-comm1 :: Monad m => LaTeX m -> LaTeX m -> LaTeX m
-comm1 n x = do comm0_ n
-               braces x
-
-comm2 :: Monad m => LaTeX m -> LaTeX m -> [LaTeX m] -> LaTeX m
-comm2 n x opts = do comm1 n x
-                    listOpts opts
-
-comm3 :: Monad m => LaTeX m -> [LaTeX m] -> LaTeX m
-comm3 n opts = do comm0_ n
-                  listOpts opts
-
-comm4 :: Monad m => LaTeX m -> [LaTeX m] -> LaTeX m -> LaTeX m
-comm4 n opts x = do comm3 n opts
-                    braces x
-
-comm5 :: Monad m => LaTeX m -> LaTeX m -> LaTeX m -> LaTeX m
-comm5 n x y = do comm1 n x
-                 braces y
-
-comm6 :: Monad m => LaTeX m -> LaTeX m -> [LaTeX m] -> LaTeX m -> LaTeX m
-comm6 n x opts y = do comm2 n x opts
-                      braces y
-
-comm7 :: Monad m => LaTeX m -> LaTeX m -> [LaTeX m] -> LaTeX m -> LaTeX m -> LaTeX m
-comm7 n x opts y z = do comm6 n x opts y
-                        braces z
-
-comm8 :: Monad m => LaTeX m -> LaTeX m -> LaTeX m
-comm8 n x = braces $ do comm0 n
-                        x
-
-comm9 :: Monad m => LaTeX m -> [LaTeX m] -> LaTeX m -> LaTeX m -> LaTeX m
-comm9 n opts x y = do comm4 n opts x
-                      braces y
-
-comm10 :: Monad m => LaTeX m -> [LaTeX m] -> [LaTeX m] -> LaTeX m -> LaTeX m
-comm10 n opts1 opts2 x = do comm3 n opts1
-                            listOpts opts2
-                            braces x
-
-comm11 :: Monad m => LaTeX m -> LaTeX m -> [LaTeX m] -> [LaTeX m] -> LaTeX m -> LaTeX m
-comm11 n x opts1 opts2 y = do comm2 n x opts1
-                              listOpts opts2
-                              braces y
-
-comm12 :: Monad m => LaTeX m -> LaTeX m -> LaTeX m -> LaTeX m -> LaTeX m
-comm12 n x y z = do comm5 n x y
-                    braces z
-
-env :: Monad m => LaTeX m -> LaTeX m -> LaTeX m 
-env t x = do comm1 "begin" t
-             x
-             comm1 "end" t
-
-env2 :: Monad m => LaTeX m -> [LaTeX m] -> LaTeX m -> LaTeX m
-env2 t opts x = do comm2 "begin" t opts
-                   x
-                   comm1 "end" t
-
-env3 :: Monad m => LaTeX m -> [LaTeX m] -> LaTeX m -> LaTeX m -> LaTeX m
-env3 t opts x y = do comm6 "begin" t opts x
-                     y
-                     comm1 "end" t
− Text/LaTeX/Macro.hs
@@ -1,104 +0,0 @@-
--- | This module defines some macros to speed up writing documents.
---
--- Note: Have you an idea for a macro? Send your suggestions!
-module Text.LaTeX.Macro (
-       -- * Simple macros
-       m_simple
-     , m_wpkgs
-       -- * Article macros
-     , m_article
-     , m_articlep
-       -- * Math macros
-     , m_math
-       ) where
-
-import Text.LaTeX.Monad
-import Text.LaTeX.Commands
-import Text.LaTeX.Packages
-import Text.LaTeX.Arguments
-
--- Simple macros
-
-m_simple :: Monad m =>
-             [ClassOption m] -- ^ Class options
-         ->  Class m         -- ^ Class
-         ->  Name m          -- ^ Author's name
-         ->  Title m         -- ^ Document's title
-         ->  LaTeX m         -- ^ Document's content
-         ->  LaTeX m         -- ^ Output
-m_simple copts c a t cnt =
-   do documentclass copts c
-      author a
-      title t
-      document cnt
-
-m_wpkgs
-  :: Monad m =>
-     [ClassOption m]        -- ^ Class options
-     -> Class m             -- ^ Class
-     -> Name m              -- ^ Author's name
-     -> Title m             -- ^ Document's title
-     -> [([PackageOption m] 
-        ,  Package m)]      -- ^ A list of imported packages
-     -> LaTeX m             -- ^ Document's content
-     -> LaTeX m             -- ^ Output
-m_wpkgs copts c a t pkgs cnt =
-   do documentclass copts c
-      mapM_ (uncurry usepackage) pkgs
-      author a
-      title t
-      document cnt
-
--- Various macros
-
--- | Function 'm_article' generate a LaTeX file with the following properties:
---
--- * Article class.
---
--- * Font Size: 11pt
---
--- * A title in the first page.
---
--- * A4 paper.
-m_article
-  :: Monad m =>
-     Name m      -- ^ Author's name
-     -> Title m  -- ^ Article's title
-     -> LaTeX m  -- ^ Article's content
-     -> LaTeX m  -- ^ Output
-m_article a t cnt =
-   do documentclass [pt 11, titlepage, a4paper] article
-      author a
-      title t
-      document $ do maketitle
-                    cnt
-
--- | Like 'm_article', but it lets you import packages.
-m_articlep
-  :: Monad m =>
-     Name m                              -- ^ Author's name
-     -> Title m                          -- ^ Article's title
-     -> [([PackageOption m], Package m)] -- ^ A list of imported packages
-     -> LaTeX m                          -- ^ Document's content
-     -> LaTeX m                          -- ^ Output
-m_articlep a t pkgs cnt =
-   do documentclass [pt 11, titlepage, a4paper] article
-      mapM_ (uncurry usepackage) pkgs
-      author a ; title t
-      document $ do maketitle
-                    cnt
-
--- Math macros
-
--- | Macro for math articles. Like 'm_article', but importing 'amsmath' package.
-m_math
-  :: Monad m =>
-     Name m        -- ^ Author's name
-     -> Title m    -- ^ Article's title
-     -> LaTeX m    -- ^ Document's content
-        -> LaTeX m -- ^ Output
-m_math a t cnt = m_articlep a t [([],amsmath)] cnt
-
-
-
Text/LaTeX/Monad.hs view
@@ -1,106 +1,13 @@-
-{-# LANGUAGE OverloadedStrings,TypeSynonymInstances #-}
-
-module Text.LaTeX.Monad (
-    -- * @LaTeX@ Monad
-    LaTeXT
-  , LaTeX
-    -- * Basic functions over @LaTeX@ Monad
-  , lx
-  , lxany
-  , lxw
-  , lxanyw
-  , nlx
-  , mlx
-  , reslx
-    -- * Generalizing
-  , genlx , ungenlx
-  ) where
-
-import Control.Monad.Writer
-import Data.Monoid
-import Data.String
-import System.IO.Unsafe
-import Text.LaTeX.Result
-
-import Data.String.Combinators(fromShow)
-
-----------------------------
-
--- | 'LaTeXT' is the monadic transformer that represents LaTeX code.
--- Bind operator plays as concatenator.
---
--- Instances of 'LaTeXT':
---
--- * 'IsString'
---
--- * 'Num'
---
--- * 'Fractional'
---
--- * 'Floating'
---
--- * 'Monoid'
-type LaTeXT m a = WriterT Result m a
-
-type LaTeX m = LaTeXT m ()
-
-----------------------------
--- Running the Monad
-
--- | Run a 'LaTeXT' computation.
-nlx :: Monad m => LaTeXT m a -> m Result
-nlx = execWriterT
-
-----------------------------
-
--- | Write a result.
-lx :: Monad m => Result -> LaTeX m
-lx = tell
-
--- | Write anything of 'Show' class.
-lxany :: (Monad m , Show a) => a -> LaTeX m
-lxany = ungenlx . lxanyw
-
--- | Like 'lx', but returns an undefined value.
-lxw :: Monad m => Result -> LaTeXT m a
-lxw = genlx . lx
-
--- | Like 'lxany', but returns an undefined value.
-lxanyw :: (Monad m , Show b) => b -> LaTeXT m a
-lxanyw = fromShow
-
--- | Performs a monadic computation, returning his value in the 'LaTeXT' monad.
--- Is equivalent to 'lift'.
-mlx :: Monad m => m a -> LaTeXT m a
-mlx = lift
-
--- | Transform a 'Result' modifier in a 'LaTeXT' modifier.
-reslx :: Monad m => (Result -> Result) -> (LaTeXT m a -> LaTeXT m a)
-reslx = censor
-
-instance Monad m => IsString (LaTeXT m a) where
- fromString = lxw . toResult
-
-instance Monad m => Show (LaTeXT m a) where
- show _ = ""
-
-instance Monad m => Eq (LaTeXT m a) where
- _ == _ = error "(==): LaTeXT values can't be compared."
-
-instance Monad m => Monoid (LaTeXT m a) where
- mempty = ""
- mappend = (>>)
-
--- Generalizing
-
-genlx :: Monad m => LaTeX m -> LaTeXT m a
-genlx = (>> return undefined)
-
-ungenlx :: Monad m => LaTeXT m a -> LaTeX m
-ungenlx = (>> return ())
-
-
-
-
++-- | This module is a re-export of the main modules.+--   Importing this will you give access to almost all+--   functionality of the library. It is recommended+--   to import the @Base@ module and, then, import only+--   packages you will need.
+module Text.LaTeX.Monad
+ ( module Text.LaTeX.Base.Monad
+ , module Text.LaTeX.Packages.Monad
+   ) where
 
+import Text.LaTeX.Base.Monad
+import Text.LaTeX.Packages.Monad
Text/LaTeX/Packages.hs view
@@ -1,526 +1,21 @@ 
-{-# LANGUAGE OverloadedStrings,TypeSynonymInstances,NoMonomorphismRestriction #-} 
-
 module Text.LaTeX.Packages
-    ( -- * Packages
-      Package
-    , PackageOption
-      -- * List of Packages
-      -- ** @doc@
-    , doc
-      -- ** @exscale@
-    , exscale
-      -- ** @ifthen@
-    , ifthen
-      -- ** @msym@
-    , msym
-      -- ** @makeidx@
-    , makeidx
-      -- ** @fontenc@
-    , fontenc
-    , oT1 , t1
-    , t2A, t2B
-    , t2C, x2
-    , lgr
-      -- ** @syntonly@
-    , syntonly
-    , syntaxonly
-      -- ** @inputenc@
-    , inputenc
-    , applemac
-    , macukr
-    , latin1
-    , koi8_ru
-    , ansinew
-    , cp1251
-    , cp850
-    , cp866nav
-      -- ** @ucs@
-    , ucs
-    , utf8x
-      -- ** @textcomp@
-    , textcomp
-    , textdegree
-    , textcelsius
-    , texteuro
-      -- ** @eurosym@
-    , eurosym
-    , euro
-      -- ** @babel@
-    , babel
-    , selectlanguage
-      -- ** @hyperref@
-    , hyperref
-    , pdftex
-    , href
-      -- ** @color@
-    , colorpkg
-    , monochrome
-    , dvipsnames
-    , nodvipsnames
-    , usenames
-    , rgb
-    , pagecolor
-    , color
-    , normalcolor
-      -- ** @fancyhdr@
-    , fancyhdr
-    , fancy
-      -- * AMS-LaTeX
-    , MathTerm
-      -- ** @amsmath@
-    , amsmath
-    , math
-    , equation
-    , equation_
-    , smash
-    , lim , (->>)
-    , sums , sums_ , summ
-    , sqroot
-    , cdot , cdots , vdots , ddots
-    , overline
-    , overbrace, underbrace
-      -- *** Operators
-    , (==:) , (/=:)
-    , (<=:) , (>=:)
-    , (===)
-    , (~~) , (~=)
-    , (<@) , (>@) , (<=@) , (>=@)
-    , (-|) , (|-) , (-/)
-    , (/@)
-    , (|.|)
-    , (+-) , (-+)
-    , (<*>)
-    , (*:) , (^:) , (!:)
-      -- *** Math Mode Accents
-    , hat , widehat
-    , tilde , widetilde
-    , grave , bar
-    , acute , mathring
-    , check , dot
-    , vec , breve
-    , ddot
-      -- *** Greek Alphabet
-    , alpha
-    , beta
-    , gamma , gamma_
-    , delta , delta_
-    , epsilon , varepsilon
-    , zeta
-    , eta
-    , theta , vartheta , theta_
-    , iota
-    , kappa
-    , lambda , lambda_
-    , mu
-    , nu
-    , xi , xi_
-    , varpi , pi_
-    , rho , varrho
-    , sigma , varsigma , sigma_
-    , tau
-    , upsilon, upsilon_
-    , phi , varphi, phi_
-    , chi
-    , psi, psi_
-    , omega, omega_
-    -- *** Mathematical Functions
-    -- *** Symbols
-    , dagger , ddagger
-    , forall
-    -- *** Others
-    , binom
-    , proof
-    ) where
-
-import Data.List (intersperse)
-import Data.Monoid
-
-import Data.String.Combinators (braces,fromShow,between)
-
-import Text.LaTeX.Monad
-import Text.LaTeX.Define
-import Text.LaTeX.Arguments
-import Text.LaTeX.Result
-
-type Package m = LaTeX m
-
-type PackageOption m = LaTeX m
-
-doc :: Monad m => Package m
-doc = "doc"
-
-exscale :: Monad m => Package m
-exscale = "exscale"
-
-ifthen :: Monad m => Package m
-ifthen = "ifthen"
-
-msym :: Monad m => Package m
-msym = "LaTeX msym"
-
-makeidx :: Monad m => Package m
-makeidx = "makeidx"
-
-fontenc :: Monad m => Package m
-fontenc = "fontenc"
-
-oT1 :: Monad m => Encoding m
-oT1 = "0T1"
-
-t1 :: Monad m => Encoding m
-t1 = "T1"
-
-t2A :: Monad m => Encoding m
-t2A = "T2A"
-
-t2B :: Monad m => Encoding m
-t2B = "T2B"
-
-t2C :: Monad m => Encoding m
-t2C = "T2C"
-
-x2 :: Monad m => Encoding m
-x2 = "X2"
-
-lgr :: Monad m => Encoding m
-lgr = "LGR"
-
-syntonly :: Monad m => Package m
-syntonly = "syntonly"
-
-syntaxonly :: Monad m => LaTeX m
-syntaxonly = comm0 "syntaxonly"
-
-inputenc :: Monad m => Package m
-inputenc = "inputenc"
-
-applemac :: Monad m => Encoding m
-applemac = "applemac"
-
-macukr :: Monad m => Encoding m
-macukr = "macukr"
-
-latin1 :: Monad m => Encoding m
-latin1 = "latin1"
-
-koi8_ru :: Monad m => Encoding m
-koi8_ru = "koi8-ru"
-
-ansinew :: Monad m => Encoding m
-ansinew = "ansinew"
-
-cp1251 :: Monad m => Encoding m
-cp1251 = "cp1251"
-
-cp850 :: Monad m => Encoding m
-cp850 = "cp850"
-
-cp866nav :: Monad m => Encoding m
-cp866nav = "cp866nav"
-
-ucs :: Monad m => Package m
-ucs = "ucs"
-
-utf8x :: Monad m => Encoding m
-utf8x = "utf8x"
-
-textcomp :: Monad m => Package m
-textcomp = "textcomp"
-
-textdegree :: Monad m => LaTeX m
-textdegree = comm0 "textdegree"
-
-textcelsius :: Monad m => LaTeX m
-textcelsius = comm0 "textcelsius"
-
-texteuro :: Monad m => LaTeX m
-texteuro = comm0 "texteuro"
-
-eurosym :: Monad m => Package m
-eurosym = "eurosym"
-
-euro :: Monad m => LaTeX m
-euro = comm0 "euro"
-
-babel :: Monad m => Package m
-babel = "babel"
-
-selectlanguage :: Monad m => Language m -> LaTeX m
-selectlanguage = comm1 "selectlanguage"
-
-hyperref :: Monad m => Package m
-hyperref = "hyperref"
-
-pdftex :: Monad m => PackageOption m
-pdftex = "pdftex"
-
-href :: Monad m => URL m -> Text m -> LaTeX m
-href = comm5 "href"
-
-colorpkg :: Monad m => Package m
-colorpkg = "color"
-
-monochrome :: Monad m => PackageOption m
-monochrome = "monochrome"
-
-dvipsnames :: Monad m => PackageOption m
-dvipsnames = "dvipsnames"
-
-nodvipsnames :: Monad m => PackageOption m
-nodvipsnames = "nodvipsnames"
-
-usenames :: Monad m => PackageOption m
-usenames = "usenames"
-
--- | 'Color' from RGB components.
-rgb :: Monad m => Float -> Float -> Float -> Color m
-rgb r g b = do "[rgb]"
-               braces . lx . mconcat . intersperse (toResult ",") $ map fromShow [r,g,b]
-
--- | Set page color. 'pagecolor' in header defines the default page color of the document.
-pagecolor :: Monad m => Color m -> LaTeX m
-pagecolor = (comm0_ "pagecolor" >>)
-
--- | Set font color from current position. 'color' in header defines the default font color of the document.
-color :: Monad m => Color m -> LaTeX m
-color = (comm0_ "color" >>)
-
--- | Restore font color from current position.
-normalcolor :: Monad m => LaTeX m
-normalcolor = comm0 "normalcolor"
-
-fancyhdr :: Monad m => Package m
-fancyhdr = "fancyhdr"
-
-fancy :: Monad m => Style m
-fancy = "fancy"
-
-----------------------------------
----------- AMS-LaTeX m -------------
-
--- LaTeXT numeric instances.
-
-inOp :: Monad m => LaTeXT m a -> (LaTeXT m a -> LaTeXT m a -> LaTeXT m a)
-inOp op x y = do x ; op ; y
-
-inOpCom :: Monad m => LaTeX m -> (MathTerm m -> MathTerm m -> MathTerm m)
-inOpCom = inOp . comm0
-
-genOp :: Monad m => (LaTeX m -> LaTeX m -> LaTeX m) -> (LaTeXT m a -> LaTeXT m a -> LaTeXT m a)
-genOp op x y = genlx $ op (ungenlx x) (ungenlx y)
-
-(==:) = inOp "="
-(/=:) = inOpCom "neq"
-(<=:) = inOpCom "leq"
-(>=:) = inOpCom "geq"
-(===) = inOpCom "equiv"
-(~~)  = inOpCom "sim"
-(~=)  = inOpCom "simeq"
-
-(<@)  = inOpCom "subset"
-(>@)  = inOpCom "supset"
-(<=@) = inOpCom "subseteq"
-(>=@) = inOpCom "supseteq"
-(-|)  = inOpCom "in"
-(|-)  = inOpCom "ni"
-(-/)  = inOpCom "notin"
-(/@)  = inOpCom "setminus"
-
-(|.|) = inOpCom "parallel"
-
-(+-)  = inOpCom "pm"
-(-+)  = inOpCom "mp"
-
-(<*>) = inOpCom "star"
-
-instance (Monad m) => Num (LaTeXT m a) where
- (+) = inOp "+"
- (-) = inOp "-"
- (*) = (>>)
- negate = (comm0 "not" >>)
- fromInteger = lxanyw
-
-(*:) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
-(*:) = inOp cdot
-
-instance (Monad m) => Fractional (LaTeXT m a) where
- (/) = genOp $ comm5 "frac"
- fromRational = lxanyw . (fromRational :: Rational -> Float)
-
-instance (Monad m) => Floating (LaTeXT m a) where
- pi = genlx $ comm0 "pi"
- exp = (comm0 "exp" >>)
- log = (comm0 "log" >>)
- sqrt = genlx . sqroot [] . ungenlx
- (**) = genOp (^:)
- sin = (comm0 "sin" >>)
- cos = (comm0 "cos" >>)
- tan = (comm0 "tan" >>)
- asin = (comm0 "arcsin" >>)
- acos = (comm0 "arccos" >>)
- atan = (comm0 "arctan" >>)
- sinh = (comm0 "sinh" >>)
- cosh = (comm0 "cosh" >>)
- tanh = (comm0 "tanh" >>)
-
--- AMS-Math
-
-type MathTerm m = LaTeX m
-
--- | AMS-Math package. It allows you to write mathematical expressions.
-amsmath :: Monad m => Package m
-amsmath = "amsmath"
-
--- | Write a mathematical expression inline.
-math :: Monad m => MathTerm m -> LaTeX m
-math = between "$" "$"
-
--- | Mathematical expressions environment.
-equation :: Monad m => MathTerm m -> LaTeX m
-equation = env "equation"
-
--- | Like 'equation', but expressions are not numbered.
-equation_ :: Monad m => MathTerm m -> LaTeX m
-equation_ = env "equation*"
-
-smash :: Monad m => LaTeX m -> LaTeX m
-smash = comm1 "smash"
-
--- | Insert normal text in a mathematical expression.
-text :: Monad m => LaTeX m -> LaTeX m
-text = comm1 "text"
-
--- | Superscript.
-(^:) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
-x ^: y = do x ; "^" ; braces y
-
--- | Subscript.
-(!:) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
-x !: y = do x ; "_" ; braces y
-
-lim :: Monad m => MathTerm m
-lim = comm0 "lim"
-
-(->>) :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
-x ->> y = do x ; comm0 "to" ; y
-
-sums :: Monad m => MathTerm m
-sums = comm0 "sum"
-
-sums_ :: Monad m => MathTerm m
-sums_ = comm0_ "sum"
-
-summ :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
-summ x y = sums_ !: x ^: y
-
-sqroot :: Monad m => [MathTerm m] -> MathTerm m -> MathTerm m
-sqroot = comm4 "sqrt"
-
-cdot :: Monad m => MathTerm m
-cdot = comm0 "cdot"
-
-cdots :: Monad m => MathTerm m
-cdots = comm0 "cdots"
-
-vdots :: Monad m => MathTerm m
-vdots = comm0 "vdots"
-
-ddots :: Monad m => MathTerm m
-ddots = comm0 "ddots"
-
-overline :: Monad m => MathTerm m -> MathTerm m
-overline = comm1 "overline"
-
-overbrace :: Monad m => MathTerm m -> MathTerm m
-overbrace = comm1 "overbrace"
-
-underbrace :: Monad m => MathTerm m -> MathTerm m
-underbrace = comm1 "underbrace"
-
--- Math Mode Accents
-
-hat       = comm1 "hat"
-grave     = comm1 "grave"
-bar       = comm1 "bar"
-acute     = comm1 "acute"
-mathring  = comm1 "mathring"
-check     = comm1 "check"
-dot       = comm1 "dot"
-vec       = comm1 "vec"
-breve     = comm1 "breve"
-tilde     = comm1 "tilde"
-ddot      = comm1 "ddot"
-widehat   = comm1 "widehat"
-widetilde = comm1 "widetilde"
-
--- Greek Alphabet
-
-alpha = comm0 "alpha"
-beta = comm0 "beta"
-gamma = comm0 "gamma"
-gamma_ = comm0 "Gamma"
-delta = comm0 "delta"
-delta_ = comm0 "Delta"
-epsilon = comm0 "epsilon"
-varepsilon = comm0 "varepsilon"
-zeta = comm0 "zeta"
-eta = comm0 "eta"
-theta = comm0 "theta"
-vartheta = comm0 "vartheta"
-theta_ = comm0 "Theta"
-iota = comm0 "iota"
-kappa = comm0 "kappa"
-lambda = comm0 "lambda"
-lambda_ = comm0 "Lambda"
-mu = comm0 "mu"
-nu = comm0 "nu"
-xi = comm0 "xi"
-xi_ = comm0 "Xi"
-pi = comm0 "pi"
-varpi = comm0 "varpi"
-pi_ = comm0 "Pi"
-rho = comm0 "rho"
-varrho = comm0 "varrho"
-sigma = comm0 "sigma"
-varsigma = comm0 "varsigma"
-sigma_ = comm0 "Sigma"
-tau = comm0 "tau"
-upsilon = comm0 "upsilon"
-upsilon_ = comm0 "Upsilon"
-phi = comm0 "phi"
-varphi = comm0 "varphi"
-phi_ = comm0 "Phi"
-chi = comm0 "chi"
-psi = comm0 "psi"
-psi_ = comm0 "Psi"
-omega = comm0 "omega"
-omega_ = comm0 "Omega"
-
--- Some mathematical functions
-
--- Symbols
-
-dagger :: Monad m => LaTeX m
-dagger = comm0 "dag"
-
-ddagger :: Monad m => LaTeX m
-ddagger = comm0 "ddag"
-
--- | \"For all\" symbol.
-forall :: Monad m => LaTeX m
-forall = comm0 "forall"
-
--- Others
-
-binom :: Monad m => MathTerm m -> MathTerm m -> MathTerm m
-binom = comm5 "binom"
-
--- | Environment for a proof.
-proof :: Monad m => LaTeX m -> LaTeX m
-proof = env "proof"
-
-
-
-
+ ( -- * Encoding packages
+   module Text.LaTeX.Packages.Inputenc
+   -- * Cross-reference packages
+ , module Text.LaTeX.Packages.Hyperref
+   -- * Presentation packages
+ , module Text.LaTeX.Packages.Beamer+   -- * Mathematics packages+ , module Text.LaTeX.Packages.AMSMath+ , module Text.LaTeX.Packages.AMSFonts+   -- * Graphics packages+ , module Text.LaTeX.Packages.Color
+   ) where
 
+import Text.LaTeX.Packages.Inputenc
+import Text.LaTeX.Packages.Hyperref
+import Text.LaTeX.Packages.Beamer+import Text.LaTeX.Packages.AMSMath+import Text.LaTeX.Packages.AMSFonts+import Text.LaTeX.Packages.Color
+ Text/LaTeX/Packages/AMSFonts.hs view
@@ -0,0 +1,27 @@++module Text.LaTeX.Packages.AMSFonts+ ( -- * AMSFonts package+   amsfonts+   -- * Fonts+ , mathbb+   ) where++import Text.LaTeX.Base.Syntax++-- | AMSFonts package.+-- Example:+--+-- > usepackage [] amsfonts+amsfonts :: String+amsfonts = "amsfonts"++--++-- | This font is useful for representing sets like+--   R (real numbers) or Z (integers). For instance:+--+-- > "The set of real numbers are represented by " <> mathbb "R" <> "."+--+-- /Note the use of overloaded strings./+mathbb :: LaTeX -> LaTeX+mathbb l = TeXComm "mathbb" [FixArg l]
+ Text/LaTeX/Packages/AMSFonts/Monad.hs view
@@ -0,0 +1,46 @@+
+-- |
+-- 
+-- /For contributors: This module was automatically generated by HaTeX-meta./
+-- /So, please, don't make any change here directly, because/
+-- /this is intended to be generated from/
+-- "Text.LaTeX.Packages.AMSFonts" /module via HaTeX-meta,/
+-- /and therefore, changes must to be done in these places./
+
+module Text.LaTeX.Packages.AMSFonts.Monad
+ ( -- * AMSFonts package
+   amsfonts
+   -- * Fonts
+ , mathbb
+   ) where
+
+import Text.LaTeX.Base.Writer
+import Text.LaTeX.Base.Render
+import Text.LaTeX.Base.Types
+import qualified Text.LaTeX.Packages.AMSFonts as App
+import Text.LaTeX.Packages.AMSFonts()
+
+{-|
+AMSFonts package.
+ Example:
+
+>  usepackage [] amsfonts
+
+-}
+amsfonts :: String
+amsfonts = App.amsfonts
+
+{-|
+This font is useful for representing sets like
+   R (real numbers) or Z (integers). For instance:
+
+>  "The set of real numbers are represented by " <> mathbb "R" <> "."
+
+/Note the use of overloaded strings./
+-}
+mathbb ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+mathbb a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.mathbb a1)
+
+
+ Text/LaTeX/Packages/AMSMath.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE OverloadedStrings #-}++module Text.LaTeX.Packages.AMSMath+ ( -- * AMSMath package+   amsmath+   -- * AMSMath functions+ , math+   -- * Symbols and utilities+   -- ** Superscript and subscript+ , (^:) , (!:)+   -- ** Function symbols+ , tsin , arcsin+ , tcos , arccos+ , ttan , arctan+ , texp+ , tlog , ln+   -- ** Other symbols+ , to+   -- * Fonts+ , mathbf+ , mathrm+ , mathcal+ , mathsf+ , mathtt+ , mathit+   ) where++import Text.LaTeX.Base.Syntax+import Text.LaTeX.Base.Commands (raw)++-- | AMSMath package.+-- Example:+--+-- > usepackage [] amsmath+amsmath :: String+amsmath = "amsmath"++-- | Inline mathematical expressions.+math :: LaTeX -> LaTeX+math = TeXMath++-------------------------------------+------- Symbols and utilities -------++-- | Superscript.+(^:) :: LaTeX -> LaTeX -> LaTeX+x ^: y = x <> raw "^"  <> braces y++-- | Subscript.+(!:) :: LaTeX -> LaTeX -> LaTeX+x !: y = x <> raw "_" <> braces y++---- Function symbols++-- | Sine function symbol.+tsin :: LaTeX+tsin = TeXComm "sin" []++-- | Arcsine function symbol.+arcsin :: LaTeX+arcsin = TeXComm "arcsin" []++-- | Cosine function symbol.+tcos :: LaTeX+tcos = TeXComm "cos" []++-- | Arccosine function symbol.+arccos :: LaTeX+arccos = TeXComm "arccos" []++-- | Tangent function symbol.+ttan :: LaTeX+ttan = TeXComm "tan" []++arctan :: LaTeX+arctan = TeXComm "arctan" []++-- | Exponential function symbol.+texp :: LaTeX+texp = TeXComm "exp" []++-- | Logarithm function symbol.+tlog :: LaTeX+tlog = TeXComm "log" []++-- | Natural logarithm symbol.+ln :: LaTeX+ln = TeXComm "ln" []++---- Other symbols++-- | A right-arrow.+to :: LaTeX+to = TeXComm "to" []++-------------------------------------+------------ Math Fonts -------------++mathbf :: LaTeX -> LaTeX+mathbf l = TeXComm "mathbf" [FixArg l]++mathrm :: LaTeX -> LaTeX+mathrm l = TeXComm "mathrm" [FixArg l]++mathcal :: LaTeX -> LaTeX+mathcal l = TeXComm "mathcal" [FixArg l]++mathsf :: LaTeX -> LaTeX+mathsf l = TeXComm "mathsf" [FixArg l]++mathtt :: LaTeX -> LaTeX+mathtt l = TeXComm "mathtt" [FixArg l]++mathit :: LaTeX -> LaTeX+mathit l = TeXComm "mathit" [FixArg l]
+ Text/LaTeX/Packages/AMSMath/Monad.hs view
@@ -0,0 +1,158 @@+{-# LANGUAGE OverloadedStrings #-}
+
+-- |
+-- 
+-- /For contributors: This module was automatically generated by HaTeX-meta./
+-- /So, please, don't make any change here directly, because/
+-- /this is intended to be generated from/
+-- "Text.LaTeX.Packages.AMSMath" /module via HaTeX-meta,/
+-- /and therefore, changes must to be done in these places./
+
+module Text.LaTeX.Packages.AMSMath.Monad
+ ( -- * AMSMath package
+   amsmath
+   -- * AMSMath functions
+ , math
+   -- * Symbols and utilities
+   -- ** Superscript and subscript
+ , (^:) , (!:)
+   -- ** Function symbols
+ , tsin , arcsin
+ , tcos , arccos
+ , ttan , arctan
+ , texp
+ , tlog , ln
+   -- ** Other symbols
+ , to
+   -- * Fonts
+ , mathbf
+ , mathrm
+ , mathcal
+ , mathsf
+ , mathtt
+ , mathit
+   ) where
+
+import Text.LaTeX.Base.Writer
+import Text.LaTeX.Base.Render
+import Text.LaTeX.Base.Types
+import qualified Text.LaTeX.Packages.AMSMath as App
+import Text.LaTeX.Packages.AMSMath()
+
+{-|
+AMSMath package.
+ Example:
+
+>  usepackage [] amsmath
+
+-}
+amsmath :: String
+amsmath = App.amsmath
+
+-- | Inline mathematical expressions.
+
+math ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+math a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.math a1)
+
+
+(^:) ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m -> LaTeXT_ m
+(^:) a1 a2
+  = do a1 <- extractLaTeX_ a1
+       a2 <- extractLaTeX_ a2
+       textell ( (App.^:) a1 a2)
+
+
+(!:) ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m -> LaTeXT_ m
+(!:) a1 a2
+  = do a1 <- extractLaTeX_ a1
+       a2 <- extractLaTeX_ a2
+       textell ( (App.!:) a1 a2)
+
+-- | Sine function symbol.
+
+tsin ::   (Monad m) => LaTeXT_ m
+tsin = do textell ( App.tsin)
+
+-- | Arcsine function symbol.
+
+arcsin ::   (Monad m) => LaTeXT_ m
+arcsin = do textell ( App.arcsin)
+
+-- | Cosine function symbol.
+
+tcos ::   (Monad m) => LaTeXT_ m
+tcos = do textell ( App.tcos)
+
+-- | Arccosine function symbol.
+
+arccos ::   (Monad m) => LaTeXT_ m
+arccos = do textell ( App.arccos)
+
+-- | Tangent function symbol.
+
+ttan ::   (Monad m) => LaTeXT_ m
+ttan = do textell ( App.ttan)
+
+
+arctan ::   (Monad m) => LaTeXT_ m
+arctan = do textell ( App.arctan)
+
+-- | Exponential function symbol.
+
+texp ::   (Monad m) => LaTeXT_ m
+texp = do textell ( App.texp)
+
+-- | Logarithm function symbol.
+
+tlog ::   (Monad m) => LaTeXT_ m
+tlog = do textell ( App.tlog)
+
+-- | Natural logarithm symbol.
+
+ln ::   (Monad m) => LaTeXT_ m
+ln = do textell ( App.ln)
+
+-- | A right-arrow.
+
+to ::   (Monad m) => LaTeXT_ m
+to = do textell ( App.to)
+
+
+mathbf ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+mathbf a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.mathbf a1)
+
+
+mathrm ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+mathrm a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.mathrm a1)
+
+
+mathcal ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+mathcal a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.mathcal a1)
+
+
+mathsf ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+mathsf a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.mathsf a1)
+
+
+mathtt ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+mathtt a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.mathtt a1)
+
+
+mathit ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+mathit a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.mathit a1)
+
+
+ Text/LaTeX/Packages/Beamer.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE OverloadedStrings #-}
+
+module Text.LaTeX.Packages.Beamer
+ ( -- * Beamer package
+   beamer
+   -- * Beamer commands
+ , frame
+ , frametitle
+ , framesubtitle
+ , alert
+ , pause
+ , block
+   -- ** Overlay Specifications
+ , OverlaySpec (..)
+ , beameritem
+ , uncover
+ , only
+   -- ** Themes
+ , Theme (..)
+ , usetheme
+   ) where
+
+import Text.LaTeX.Base.Syntax
+import Text.LaTeX.Base.Render
+import Data.String
+
+-- | The 'beamer' document class. Importing a package is not required. Example:
+--
+-- > documentclass [] beamer
+beamer :: LaTeX
+beamer = "beamer"
+
+-- | A presentation is composed of a sequence of frames. Each frame is created with this function.
+frame :: LaTeX -> LaTeX
+frame = TeXEnv "frame" []
+
+-- | Set the title of the current frame. Use it within a 'frame'.
+frametitle :: LaTeX -> LaTeX
+frametitle l = TeXComm "frametitle" [FixArg l]
+
+-- | Set the subtitle of the current frame. Use it within a 'frame'.
+framesubtitle :: LaTeX -> LaTeX
+framesubtitle l = TeXComm "framesubtitle" [FixArg l]
+
+-- | Highlight in red a piece text. With the 'OverlaySpec's, you can specify the slides where
+-- the text will be highlighted.
+alert :: [OverlaySpec] -> LaTeX -> LaTeX
+alert os l = TeXComm "alert" [ MSymArg $ fmap (TeXRaw . render) os, FixArg l]
+
+-- | Introduces a pause in a slide.
+pause :: LaTeX
+pause = TeXComm "pause" []
+
+-- | 'beameritem' works like 'item', but allows you to specify the slides where
+-- the item will be displayed.
+beameritem :: [OverlaySpec] -> LaTeX
+beameritem os = TeXComm "item" [ MSymArg $ fmap (TeXRaw . render) os ]
+
+-- | With 'uncover', show a piece of text only in the slides you want.
+uncover :: [OverlaySpec] -> LaTeX -> LaTeX
+uncover os l = TeXComm "uncover" [ MSymArg $ fmap (TeXRaw . render) os , FixArg l ]
+
+-- | Similar to 'uncover'.
+only :: [OverlaySpec] -> LaTeX -> LaTeX
+only os l = TeXComm "only" [ MSymArg $ fmap (TeXRaw . render) os , FixArg l ]
+
+data OverlaySpec =
+   OneSlide Int
+ | FromSlide Int
+ | ToSlide Int
+ | FromToSlide Int Int
+   deriving Show
+
+instance Render OverlaySpec where
+ render (OneSlide n)      = render n
+ render (FromSlide n)     = render n <> "-"
+ render (ToSlide n)       = "-" <> render n
+ render (FromToSlide n m) = render n <> "-" <> render m
+
+-- | A 'block' will be displayed surrounding a text.
+block :: LaTeX -- ^ Title for the block
+      -> LaTeX -- ^ Content of the block
+      -> LaTeX -- ^ Result
+block tit = TeXEnv "block" [ FixArg tit ]
+
+-- THEMES --
+
+--TODO: Add a short description of each theme.
+
+-- | A 'Theme' of a presentation. See 'usetheme'.
+data Theme =
+   AnnArbor
+ | Antibes
+ | Bergen
+ | Berkeley
+ | Berlin
+ | Boadilla
+ | Boxes
+ | CambridgeUS
+ | Copenhagen
+ | Darmstadt
+ | Default
+ | Dresden
+ | Frankfurt
+ | Goettingen
+ | Hannover
+ | Ilmenau
+ | JuanLesPins
+ | Luebeck
+ | Madrid
+ | Malmoe
+ | Marburg
+ | Montpellier
+ | PaloAlto
+ | Pittsburgh
+ | Rochester
+ | Singapore
+ | Szeged
+ | Warsaw
+   --
+ | CustomTheme String
+  deriving Show
+
+instance Render Theme where
+ render (CustomTheme str) = fromString str
+ render x = fromString $ show x
+
+-- | Set the 'Theme' employed in your presentation (in the preamble).
+usetheme :: Theme -> LaTeX
+usetheme th = TeXComm "usetheme" [ FixArg $ TeXRaw $ render th ]
+
+ Text/LaTeX/Packages/Beamer/Monad.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE OverloadedStrings #-}
+
+-- |
+-- 
+-- /For contributors: This module was automatically generated by HaTeX-meta./
+-- /So, please, don't make any change here directly, because/
+-- /this is intended to be generated from/
+-- "Text.LaTeX.Packages.Beamer" /module via HaTeX-meta,/
+-- /and therefore, changes must to be done in these places./
+
+module Text.LaTeX.Packages.Beamer.Monad
+ ( -- * Beamer package
+   beamer
+   -- * Beamer commands
+ , frame
+ , frametitle
+ , framesubtitle
+ , alert
+ , pause
+ , block
+   -- ** Overlay Specifications
+ , OverlaySpec (..)
+ , beameritem
+ , uncover
+ , only
+   -- ** Themes
+ , Theme (..)
+ , usetheme
+   ) where
+
+import Text.LaTeX.Base.Writer
+import Text.LaTeX.Base.Render
+import Text.LaTeX.Base.Types
+import qualified Text.LaTeX.Packages.Beamer as App
+import Text.LaTeX.Packages.Beamer(OverlaySpec,Theme)
+
+{-|
+The 'beamer' document class. Importing a package is not required. Example:
+
+>  documentclass [] beamer
+
+-}
+beamer ::   (Monad m) => LaTeXT_ m
+beamer = do textell ( App.beamer)
+
+-- | A presentation is composed of a sequence of frames. Each frame is created with this function.
+
+frame ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+frame a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.frame a1)
+
+-- | Set the title of the current frame. Use it within a 'frame'.
+
+frametitle ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+frametitle a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.frametitle a1)
+
+-- | Set the subtitle of the current frame. Use it within a 'frame'.
+
+framesubtitle ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m
+framesubtitle a1
+  = do a1 <- extractLaTeX_ a1
+       textell ( App.framesubtitle a1)
+
+{-|
+Highlight in red a piece text. With the 'OverlaySpec's, you can specify the slides where
+ the text will be highlighted.
+-}
+alert ::   (Monad m) => [OverlaySpec] -> LaTeXT_ m -> LaTeXT_ m
+alert a1 a2
+  = do a2 <- extractLaTeX_ a2
+       textell ( App.alert a1 a2)
+
+-- | Introduces a pause in a slide.
+
+pause ::   (Monad m) => LaTeXT_ m
+pause = do textell ( App.pause)
+
+{-|
+'beameritem' works like @item@, but allows you to specify the slides where
+ the item will be displayed.
+-}
+beameritem ::   (Monad m) => [OverlaySpec] -> LaTeXT_ m
+beameritem a1 = do textell ( App.beameritem a1)
+
+-- | With 'uncover', show a piece of text only in the slides you want.
+
+uncover ::   (Monad m) => [OverlaySpec] -> LaTeXT_ m -> LaTeXT_ m
+uncover a1 a2
+  = do a2 <- extractLaTeX_ a2
+       textell ( App.uncover a1 a2)
+
+-- | Similar to 'uncover'.
+
+only ::   (Monad m) => [OverlaySpec] -> LaTeXT_ m -> LaTeXT_ m
+only a1 a2
+  = do a2 <- extractLaTeX_ a2
+       textell ( App.only a1 a2)
+
+-- | A 'block' will be displayed surrounding a text.
+
+block ::   (Monad m) => LaTeXT_ m -> LaTeXT_ m -> LaTeXT_ m
+block a1 a2
+  = do a1 <- extractLaTeX_ a1
+       a2 <- extractLaTeX_ a2
+       textell ( App.block a1 a2)
+
+-- | Set the 'Theme' employed in your presentation (in the preamble).
+
+usetheme ::   (Monad m) => Theme -> LaTeXT_ m
+usetheme a1 = do textell ( App.usetheme a1)
+
+
+ Text/LaTeX/Packages/Color.hs view
@@ -0,0 +1,150 @@++{-# LANGUAGE OverloadedStrings #-}++module Text.LaTeX.Packages.Color+ ( -- * Color package+   pcolor+   -- * Package options+ , monochrome+ , dvipsnames+ , nodvipsnames+ , usenames+   -- * Types+ , Color (..)+ , ColorName (..)+ , ColorModel (..)+ , ColSpec (..)+   -- * Commands+ , pagecolor+ , color+ , textcolor+ , colorbox , fcolorbox+ , normalcolor+   ) where++import Text.LaTeX.Base.Syntax+import Text.LaTeX.Base.Render+--+import Data.Monoid++-- | The 'color' package.
+--
+-- > usepackage [] pcolor+pcolor :: String+pcolor = "color"++-- | To convert all colour commands to black and white,+--   for previewers that cannot handle colour.+monochrome :: LaTeX+monochrome = "monochrome"++dvipsnames :: LaTeX+dvipsnames = "dvipsnames"++nodvipsnames :: LaTeX+nodvipsnames = "nodvipsnames"++usenames :: LaTeX+usenames = "usenames"++--++data ColSpec =+   DefColor Color+ | ModColor ColorModel+ | DvipsColor ColorName+   deriving Show++data Color =+   Red+ | Green+ | Blue+ | Yellow+ | Cyan+ | Magenta+ | Black+ | White+   deriving Show++data ColorModel =+   RGB Float Float Float+ | RGB255 Int Int Int+ | GrayM Float+ | HTML String+ | CMYK Float Float Float Float+   deriving Show++data ColorName =+   Apricot       | Aquamarine  | Bittersweet+ | BlueGreen     | BlueViolet  | BrickRed+ | Brown         | BurntOrange | CadetBlue+ | CarnationPink | Cerulean    | CornflowerBlue+ | Dandelion     | DarkOrchid  | Emerald+ | ForestGreen   | Fuchsia     | Goldenrod+ | Gray          | GreenYellow | JungleGreen+ | Lavender      | LimeGreen   | Mahogany+ | Maroon        | Melon       | MidnightBlue+ | Mulberry      | NavyBlue    | OliveGreen+ | Orange        | OrangeRed   | Orchid+ | Peach         | Periwinkle  | PineGreen+ | Plum          | ProcessBlue | Purple+ | RawSienna     | RedOrange   | RedViolet+ | Rhodamine     | RoyalBlue   | RubineRed+ | Salmon        | SeaGreen    | Sepia+ | SkyBlue       | SpringGreen | Tan+ | TealBlue      | Thistle     | Turquoise+ | Violet        | VioletRed   | WildStrawberry+ | YellowGreen   | YellowOrange+   deriving Show++instance Render Color where+ render = fromString . show++instance Render ColorModel where+ render (RGB r g b) = mconcat [ "[rgb]{" , renderCommas [r,g,b] , "}" ]+ render (RGB255 r g b) = mconcat [ "[RGB]{" , renderCommas [r,g,b] , "}" ]+ render (GrayM k) = mconcat [ "[gray]{" , render k , "}"]+ render (HTML str) = mconcat [ "[HTML]{" , fromString str , "}" ]+ render (CMYK c m y k) = mconcat [ "[cmyk]{" , renderCommas [c,m,y,k] , "}" ]++instance Render ColorName where+ render = fromString . show++instance Render ColSpec where+ render (DefColor c)   = mconcat [ "{" , render c , "}" ]+ render (ModColor cm)  = render cm+ render (DvipsColor c) = mconcat [ "{" , render c , "}" ]++-- Commands++-- | Set the background color fot the current and following pages.+pagecolor :: ColSpec -> LaTeX+pagecolor = (TeXCommS "pagecolor" <>) . rendertex++-- | Switch to a new text color.+color :: ColSpec -> LaTeX+color = (TeXCommS "color" <>) . rendertex++-- | Set the text of its argument in the given colour.+textcolor :: ColSpec -> LaTeX -> LaTeX+textcolor cs l = TeXCommS "textcolor" <> rendertex cs+              <> braces l++-- | Put its argument in a box with the given colour as background.+colorbox :: ColSpec -> LaTeX -> LaTeX+colorbox cs l = TeXCommS "colorbox" <> rendertex cs+             <> braces l++-- | Application of @fcolorbox cs1 cs2 l@ put @l@ in a framed box with+--   @cs1@ as frame color and @cs2@ as background color.+fcolorbox :: ColSpec -> ColSpec -> LaTeX -> LaTeX+fcolorbox cs1 cs2 l =+    TeXCommS "fcolorbox" <> rendertex cs1+                         <> rendertex cs2+ <> braces l++-- | Switch to the colour that was active at the end of the preamble.+--   Thus, placing a 'color' command in the preamble can change the+--   standard colour of the whole document.+normalcolor :: LaTeX+normalcolor = TeXComm "normalcolor" []
+ Text/LaTeX/Packages/Color/Monad.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE OverloadedStrings #-}
+
+-- |
+-- 
+-- /For contributors: This module was automatically generated by HaTeX-meta./
+-- /So, please, don't make any change here directly, because/
+-- /this is intended to be generated from/
+-- "Text.LaTeX.Packages.Color" /module via HaTeX-meta,/
+-- /and therefore, changes must to be done in these places./
+
+module Text.LaTeX.Packages.Color.Monad
+ ( -- * Color package
+   pcolor
+   -- * Package options
+ , monochrome
+ , dvipsnames
+ , nodvipsnames
+ , usenames
+   -- * Types
+ , Color (..)
+ , ColorName (..)
+ , ColorModel (..)
+ , ColSpec (..)
+   -- * Commands
+ , pagecolor
+ , color
+ , textcolor
+ , colorbox , fcolorbox
+ , normalcolor
+   ) where
+
+import Text.LaTeX.Base.Writer
+import Text.LaTeX.Base.Render
+import Text.LaTeX.Base.Types
+import qualified Text.LaTeX.Packages.Color as App
+import Text.LaTeX.Packages.Color(ColSpec,Color,ColorModel,ColorName)
+
+{-|
+The 'color' package.
+
+>  usepackage [] pcolor
+
+-}
+pcolor :: String
+pcolor = App.pcolor
+
+{-|
+To convert all colour commands to black and white,
+   for previewers that cannot handle colour.
+-}
+monochrome ::   (Monad m) => LaTeXT_ m
+monochrome = do textell ( App.monochrome)
+
+
+dvipsnames ::   (Monad m) => LaTeXT_ m
+dvipsnames = do textell ( App.dvipsnames)
+
+
+nodvipsnames ::   (Monad m) => LaTeXT_ m
+nodvipsnames = do textell ( App.nodvipsnames)
+
+
+usenames ::   (Monad m) => LaTeXT_ m
+usenames = do textell ( App.usenames)
+
+-- | Set the background color fot the current and following pages.
+
+pagecolor ::   (Monad m) => ColSpec -> LaTeXT_ m
+pagecolor a1 = do textell ( App.pagecolor a1)
+
+-- | Switch to a new text color.
+
+color ::   (Monad m) => ColSpec -> LaTeXT_ m
+color a1 = do textell ( App.color a1)
+
+-- | Set the text of its argument in the given colour.
+
+textcolor ::   (Monad m) => ColSpec -> LaTeXT_ m -> LaTeXT_ m
+textcolor a1 a2
+  = do a2 <- extractLaTeX_ a2
+       textell ( App.textcolor a1 a2)
+
+-- | Put its argument in a box with the given colour as background.
+
+colorbox ::   (Monad m) => ColSpec -> LaTeXT_ m -> LaTeXT_ m
+colorbox a1 a2
+  = do a2 <- extractLaTeX_ a2
+       textell ( App.colorbox a1 a2)
+
+{-|
+Application of @fcolorbox cs1 cs2 l@ put @l@ in a framed box with
+   @cs1@ as frame color and @cs2@ as background color.
+-}
+fcolorbox ::   (Monad m) => ColSpec -> ColSpec -> LaTeXT_ m -> LaTeXT_ m
+fcolorbox a1 a2 a3
+  = do a3 <- extractLaTeX_ a3
+       textell ( App.fcolorbox a1 a2 a3)
+
+{-|
+Switch to the colour that was active at the end of the preamble.
+   Thus, placing a 'color' command in the preamble can change the
+   standard colour of the whole document.
+-}
+normalcolor ::   (Monad m) => LaTeXT_ m
+normalcolor = do textell ( App.normalcolor)
+
+
+ Text/LaTeX/Packages/Hyperref.hs view
@@ -0,0 +1,74 @@++{-# LANGUAGE OverloadedStrings #-}+
+module Text.LaTeX.Packages.Hyperref
+ ( -- * Hyperref package
+   hyperref
+   -- * Hyperref commands
+ , HRefOption (..)
+ , URL+ , createURL
+ , href
+ , url
+ , nolinkurl
+ , hyperbaseurl
+ , hyperimage
+ , autoref
+   ) where
+
+import Text.LaTeX.Base.Syntax
+import Text.LaTeX.Base.Render
+import Text.LaTeX.Base.Types
+
+-- | The 'hyperref' package.
+--
+-- > usepackage [] hyperref
+hyperref :: String
+hyperref = "hyperref"
+
+data HRefOption =
+   PDFRemoteStartView
+ | PDFNewWindow
+ | HRefPage Int
+   deriving Show
+
+instance Render HRefOption where
+ render PDFRemoteStartView = "pdfremotestartview"
+ render PDFNewWindow = "pdfnewwindow"
+ render (HRefPage n) = "page=" <> render n
+
+newtype URL = URL String deriving Show
+
+instance Render URL where
+ render (URL str) = fromString str++createURL :: String -> URL+createURL = URL
+
+-- | Reference to an 'URL'.
+href :: [HRefOption] -> URL -> LaTeX -> LaTeX
+href options u t = TeXComm "href" [ MOptArg $ fmap (TeXRaw . render) options
+                                  , FixArg  $ TeXRaw $ render u
+                                  , FixArg t ]
+
+-- | Write an 'URL' hyperlinked.
+url :: URL -> LaTeX
+url u = TeXComm "url" [ FixArg $ TeXRaw $ render u ]
+
+-- | Write an 'URL' without creating a hyperlink.
+nolinkurl :: URL -> LaTeX
+nolinkurl u = TeXComm "nolinkurl" [ FixArg $ TeXRaw $ render u ]
+
+-- | Establish a base 'URL'.
+hyperbaseurl :: URL -> LaTeX
+hyperbaseurl u = TeXComm "hyperbaseurl" [ FixArg $ TeXRaw $ render u ]
+
+-- | @hyperimage imgURL t@:
+--  The link to the image referenced by the @imgURL@ is inserted, using @t@ as the anchor.
+hyperimage :: URL -> LaTeX -> LaTeX
+hyperimage u t = TeXComm "hyperimage" [ FixArg $ TeXRaw $ render u
+                                      , FixArg t ]
+
+-- | This is a replacement for the usual 'ref' command that places a contextual label in front of the reference.
+autoref :: Label -> LaTeX
+autoref l = TeXComm "autoref" [ FixArg $ TeXRaw $ render l ]
+ Text/LaTeX/Packages/Hyperref/Monad.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE OverloadedStrings #-}
+
+-- |
+-- 
+-- /For contributors: This module was automatically generated by HaTeX-meta./
+-- /So, please, don't make any change here directly, because/
+-- /this is intended to be generated from/
+-- "Text.LaTeX.Packages.Hyperref" /module via HaTeX-meta,/
+-- /and therefore, changes must to be done in these places./
+
+module Text.LaTeX.Packages.Hyperref.Monad
+ ( -- * Hyperref package
+   hyperref
+   -- * Hyperref commands
+ , HRefOption (..)
+ , URL
+ , createURL
+ , href
+ , url
+ , nolinkurl
+ , hyperbaseurl
+ , hyperimage
+ , autoref
+   ) where
+
+import Text.LaTeX.Base.Writer
+import Text.LaTeX.Base.Render
+import Text.LaTeX.Base.Types
+import qualified Text.LaTeX.Packages.Hyperref as App
+import Text.LaTeX.Packages.Hyperref(HRefOption,URL)
+
+{-|
+The 'hyperref' package.
+
+>  usepackage [] hyperref
+
+-}
+hyperref :: String
+hyperref = App.hyperref
+
+
+createURL :: String -> URL
+createURL = App.createURL
+
+-- | Reference to an 'URL'.
+
+href ::   (Monad m) => [HRefOption] -> URL -> LaTeXT_ m -> LaTeXT_ m
+href a1 a2 a3
+  = do a3 <- extractLaTeX_ a3
+       textell ( App.href a1 a2 a3)
+
+-- | Write an 'URL' hyperlinked.
+
+url ::   (Monad m) => URL -> LaTeXT_ m
+url a1 = do textell ( App.url a1)
+
+-- | Write an 'URL' without creating a hyperlink.
+
+nolinkurl ::   (Monad m) => URL -> LaTeXT_ m
+nolinkurl a1 = do textell ( App.nolinkurl a1)
+
+-- | Establish a base 'URL'.
+
+hyperbaseurl ::   (Monad m) => URL -> LaTeXT_ m
+hyperbaseurl a1 = do textell ( App.hyperbaseurl a1)
+
+{-|
+@hyperimage imgURL t@:
+  The link to the image referenced by the @imgURL@ is inserted, using @t@ as the anchor.
+-}
+hyperimage ::   (Monad m) => URL -> LaTeXT_ m -> LaTeXT_ m
+hyperimage a1 a2
+  = do a2 <- extractLaTeX_ a2
+       textell ( App.hyperimage a1 a2)
+
+-- | This is a replacement for the usual @ref@ command that places a contextual label in front of the reference.
+
+autoref ::   (Monad m) => Label -> LaTeXT_ m
+autoref a1 = do textell ( App.autoref a1)
+
+
+ Text/LaTeX/Packages/Inputenc.hs view
@@ -0,0 +1,27 @@++{-# LANGUAGE OverloadedStrings #-}+
+module Text.LaTeX.Packages.Inputenc
+ ( -- * Inputenc package
+   inputenc
+   -- * Encodings
+ , utf8
+ , latin1
+   ) where
+
+import Text.LaTeX.Base.Syntax
+
+-- | Inputenc package.
+-- Example:
+--
+-- > usepackage [utf8] inputenc
+inputenc :: String
+inputenc = "inputenc"
+
+-- | UTF-8 encoding.
+utf8 :: LaTeX
+utf8 = "utf8"
+
+-- | Latin-1 encoding.
+latin1 :: LaTeX
+latin1 = "latin1"
+ Text/LaTeX/Packages/Inputenc/Monad.hs view
@@ -0,0 +1,45 @@+{-# LANGUAGE OverloadedStrings #-}
+
+-- |
+-- 
+-- /For contributors: This module was automatically generated by HaTeX-meta./
+-- /So, please, don't make any change here directly, because/
+-- /this is intended to be generated from/
+-- "Text.LaTeX.Packages.Inputenc" /module via HaTeX-meta,/
+-- /and therefore, changes must to be done in these places./
+
+module Text.LaTeX.Packages.Inputenc.Monad
+ ( -- * Inputenc package
+   inputenc
+   -- * Encodings
+ , utf8
+ , latin1
+   ) where
+
+import Text.LaTeX.Base.Writer
+import Text.LaTeX.Base.Render
+import Text.LaTeX.Base.Types
+import qualified Text.LaTeX.Packages.Inputenc as App
+import Text.LaTeX.Packages.Inputenc()
+
+{-|
+Inputenc package.
+ Example:
+
+>  usepackage [utf8] inputenc
+
+-}
+inputenc :: String
+inputenc = App.inputenc
+
+-- | UTF-8 encoding.
+
+utf8 ::   (Monad m) => LaTeXT_ m
+utf8 = do textell ( App.utf8)
+
+-- | Latin-1 encoding.
+
+latin1 ::   (Monad m) => LaTeXT_ m
+latin1 = do textell ( App.latin1)
+
+
+ Text/LaTeX/Packages/Monad.hs view
@@ -0,0 +1,21 @@+
+module Text.LaTeX.Packages.Monad
+ ( -- * Encoding packages
+   module Text.LaTeX.Packages.Inputenc.Monad
+   -- * Cross-reference packages
+ , module Text.LaTeX.Packages.Hyperref.Monad
+   -- * Presentation packages
+ , module Text.LaTeX.Packages.Beamer.Monad+   -- * Mathematics packages+ , module Text.LaTeX.Packages.AMSMath.Monad+ , module Text.LaTeX.Packages.AMSFonts.Monad+   -- * Graphics packages+ , module Text.LaTeX.Packages.Color.Monad
+   ) where
+
+import Text.LaTeX.Packages.Inputenc.Monad
+import Text.LaTeX.Packages.Hyperref.Monad
+import Text.LaTeX.Packages.Beamer.Monad+import Text.LaTeX.Packages.AMSMath.Monad+import Text.LaTeX.Packages.AMSFonts.Monad+import Text.LaTeX.Packages.Color.Monad
− Text/LaTeX/Result.hs
@@ -1,49 +0,0 @@-
-{-# LANGUAGE OverloadedStrings #-}
-
-module Text.LaTeX.Result (
-     -- * Result Type
-     Result
-   , toResult
-   , fromResult
-     -- * Special Characters
-   , resCharsStr
-   ) where
-import Data.Monoid
-
-import Data.DString (DString,toString)
-import Data.String (fromString)
-
--- Result Type
---------------
--- Instances needed: Monoid, IsString, ToString
-
--- | The state of the @LaTeX@ monad. A 'Result' is represented by a 'DString'.
-type Result = DString
-
---
-
--- | Transform a 'String' to a 'Result'.
-toResult :: String -> Result
-toResult = fromString
-
--- | Transform a 'Result' to a 'String'.
-fromResult :: Result -> String
-fromResult = toString
-
-------------------------------------
-
--- | Set of LaTeX reserved characters, and their safe writings as 'Result's.
-resCharsStr :: [(Char,Result)]
-resCharsStr = [ ('#',"\\#")
-              , ('$',"\\$")
-              , ('%',"\\%")
-              , ('^',"\\^{}")
-              , ('&',"\\&")
-              , ('_',"\\_")
-              , ('{',"\\{")
-              , ('}',"\\}")
-              , ('~',"\\~{}")
-              , ('\\',"\\textbackslash{}") ]
-
-
license view
@@ -1,4 +1,4 @@-Copyright (c)2010, Daniel Díaz
+Copyright (c)2011, Daniel Díaz
 
 All rights reserved.