latex-formulae-image- A library for rendering LaTeX formulae as images using an actual LaTeX installation

Safe HaskellNone




Rendering Formulas

imageForFormula :: EnvironmentOptions -> FormulaOptions -> Formula -> IO (Either RenderError (Baseline, DynamicImage)) Source #

Convert a formula into a JuicyPixels DynamicImage, also detecting where the typesetting baseline of the image is.

type Formula = String Source #

A LaTeX formula, e.g x=frac{-bpmsqrt{b^2-4ac}}{2a} for the quadratic formula. Do not include any $s to denote the environment, just specify the environment in the FormulaOptions instead.

type Baseline = Int Source #

Number of pixels from the bottom of the image to the typesetting baseline. Useful for setting your formulae inline with text.


data RenderError Source #

This type contains all possible errors than can happen while rendering an equation. It includes all IO errors that can happen as well as more specific errors.



The equation produced an empty image


The baseline marker could not be found

LaTeXFailure String

latex returned a nonzero error code

DVIPSFailure String

dvips returned a nonzero error code

IMConvertFailure String

convert returned a nonzero error code

IOException IOException

An IOException occurred while managing the temporary files used to convert the equation

ImageReadError String

The PNG image from ImageMagick could not be read by JuicyPixels.


Environment Options

data EnvironmentOptions Source #




defaultEnv :: EnvironmentOptions Source #

Sensible defaults for system environments. Works if dvips, convert, and latex are recent enough and in your $PATH.

Formula Options

data FormulaOptions Source #




  • preamble :: String

    LaTeX preamble to use. Put your usepackage commands here.@ commands here.

  • environment :: String

    LaTeX environment in which the equation will be typeset, usually math or displaymath

  • dpi :: Int

    DPI for the image to be rendered at. ~200 is good for retina displays, ~100 works OK for non-retina displays.

displaymath :: FormulaOptions Source #

Use the amsmath package, the displaymath environment, and 200dpi.

math :: FormulaOptions Source #

Use the amsmath package, the math environment, and 200dpi.