HaTeX-3.17.0.0: The Haskell LaTeX library.

Safe HaskellSafe
LanguageHaskell2010

Text.LaTeX.Base.Render

Contents

Description

The final purpose of this module is to render a Text value from a LaTeX value. The interface is abstracted via a typeclass so you can cast to Text other types as well. Also, some other handy Text-related functions are defined.

Synopsis

Re-exports

data Text :: *

A space efficient, packed, unboxed Unicode text type.

Instances

Hashable Text 
Semigroup Text 
Pretty Text 
Render Text Source

This instance escapes LaTeX reserved characters.

Texy Text Source 
Monad m => Stream Text m Char 
type Item Text = Char 

Render class

class Show a => Render a where Source

Class of values that can be transformed to Text. You mainly will use this to obtain the Text output of a LaTeX value. If you are going to write the result in a file, consider to use renderFile.

Consider also to use rendertex to get Renderable values into LaTeX blocks.

If you want to make a type instance of Render and you already have a Show instance, you can use the default instance.

render = fromString . show

Minimal complete definition

Nothing

Methods

render :: a -> Text Source

renderAppend :: Render a => [a] -> Text Source

Render every element of a list and append results.

renderChars :: Render a => Char -> [a] -> Text Source

Render every element of a list and append results, separated by the given Char.

renderCommas :: Render a => [a] -> Text Source

Render every element of a list and append results, separated by commas.

renderFile :: Render a => FilePath -> a -> IO () Source

Use this function to render a LaTeX (or another one in the Render class) value directly in a file.

rendertex :: (Render a, LaTeXC l) => a -> l Source

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 reserved characters. Use protectText to escape them.

Reading files

readFileTex :: FilePath -> IO Text Source

If you are going to insert the content of a file in your LaTeX data, use this function to ensure your encoding is correct.

Util

showFloat :: RealFloat a => a -> String Source

Show a signed floating number using standard decimal notation using 5 decimals.