lambdatex-0.1.0.0: Type-Safe LaTeX EDSL

Safe HaskellNone
LanguageHaskell2010

Text.LaTeX.LambdaTeX

Contents

Description

TODO(kerckhove) big example here!

Synopsis

Building ΛTeX

buildLaTeXProject :: MonadIO m => ΛTeXT m a -> ProjectConfig -> m (Either [ΛError] ()) Source

Build all the files for a LaTeX project given by a ΛTeXT generator This either returns Left with an error or Right () to signify success.

This function takes care of some of the LaTeX tediousness:

  • LaTeX file generation
  • Automatic bibtex file generation
  • All safety provided by execLambdaTeXT (in the form of textual errors)
  • TODO(kerckhove) Automatic asynchronic resolution of figure dependencies on graphviz or tikz figures

execLambdaTeXT :: Monad m => ΛTeXT m a -> GenerationConfig -> m ([ΛError], (LaTeX, [Reference])) Source

Execute a ΛTeXT generation This either returns a tuple of the errors and a tuple of the resulting LaTeX value and a list of external references that need to be put into a bibtex file.

This function takes care of a lot of safety issues:

  • Subset selection. This allows you to build large documents in parts.
  • External dependency selection. No more ?? for external references in the output pdf.
  • Internal dependency safety. No more ?? for external references in the internal pdf.
  • Package dependency resolution, TODO(kerckhove) with packages in the right order
  • Dependency selection of figure dependencies on graphviz or tikz figures

Configuration

defaultProjectConfig :: ProjectConfig Source

Default project configuration.

Modify this instead of building your own ProjectConfig

data GenerationConfig Source

Configuration of ΛTeX generation

defaultGenerationConfig :: GenerationConfig Source

Default generation config.

Modify this instead of building your own GenerationConfig

Selections

References

Packages dependencies

Re-exports