Text.LaTeX.Base.Render

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

 Methodspretty :: Text -> Doc e #prettyList :: [Text] -> Doc e # Source # This instance escapes LaTeX reserved characters. Methods Source # Methodstexy :: LaTeXC l => Text -> l Source # Monad m => Stream Text m Char Methodsuncons :: Text -> m (Maybe (Char, Text)) # type Item Text 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

Methods

render :: a -> Text Source #

Instances

 Source # Render instance for Bool. It satisfies render True = "true" and render False = "false". Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # This instance escapes LaTeX reserved characters. Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Source # Methods Render a => Render [a] Source # Methodsrender :: [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.

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