-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Library for generate LaTeX code. -- -- You can write LaTeX files using this package. See Text.LaTeX for a -- brief introduction. -- -- You can test the library and report me any bug or suggestion at: -- -- lazy.ddiaz@gmail.com -- -- Also, if you have an example where you use HaTeX, you could send it to -- my email. Thank you. -- -- Changes from last version: -- -- @package HaTeX @version 1.0.1 module Text.LaTeX.Result type Result = DString toResult :: String -> Result fromResult :: Result -> String resCharsStr :: [(Char, Result)] module Text.LaTeX.Monad -- | LaTeXM is the monad that represents LaTeX code. Bind operator -- plays as concatenator. -- -- Instances of LaTeXM a: -- -- type LaTeXM a = WriterT Result IO a type LaTeX = LaTeXM () -- | Write a result. lx :: Result -> LaTeX -- | Write anything of Show class. lxany :: (Show a) => a -> LaTeX -- | Like lx, but returns an undefined value. lxw :: Result -> LaTeXM a -- | Like lxany, but returns an undefined value. lxanyw :: (Show b) => b -> LaTeXM a -- | Run a LaTeXM computation, returning his result. nlx :: LaTeXM a -> IO Result -- | Performs an IO computation, returning his value in the -- LaTeXM monad. iolx :: IO a -> LaTeXM a -- | Transform a Result modifier in a LaTeXM modifier. reslx :: (Result -> Result) -> (LaTeXM a -> LaTeXM a) genlx :: LaTeX -> LaTeXM a ungenlx :: LaTeXM a -> LaTeX instance Monoid (LaTeXM a) instance Eq (LaTeXM a) instance Show (LaTeXM a) instance IsString (LaTeXM a) module Text.LaTeX.Define comm0_ :: LaTeX -> LaTeX comm0 :: LaTeX -> LaTeX comm1 :: LaTeX -> LaTeX -> LaTeX comm2 :: LaTeX -> LaTeX -> [LaTeX] -> LaTeX comm3 :: LaTeX -> [LaTeX] -> LaTeX comm4 :: LaTeX -> [LaTeX] -> LaTeX -> LaTeX comm5 :: LaTeX -> LaTeX -> LaTeX -> LaTeX comm6 :: LaTeX -> LaTeX -> [LaTeX] -> LaTeX -> LaTeX comm7 :: LaTeX -> LaTeX -> [LaTeX] -> LaTeX -> LaTeX -> LaTeX comm8 :: LaTeX -> LaTeX -> LaTeX comm9 :: LaTeX -> [LaTeX] -> LaTeX -> LaTeX -> LaTeX comm10 :: LaTeX -> [LaTeX] -> [LaTeX] -> LaTeX -> LaTeX comm11 :: LaTeX -> LaTeX -> [LaTeX] -> [LaTeX] -> LaTeX -> LaTeX comm12 :: LaTeX -> LaTeX -> LaTeX -> LaTeX -> LaTeX env :: LaTeX -> LaTeX -> LaTeX env2 :: LaTeX -> [LaTeX] -> LaTeX -> LaTeX env3 :: LaTeX -> [LaTeX] -> LaTeX -> LaTeX -> LaTeX module Text.LaTeX.Arguments type Language = LaTeX type Encoding = LaTeX type URL = LaTeX type Color = LaTeX type Name = LaTeX type Title = LaTeX type Date = LaTeX type Word = LaTeX type Marker = LaTeX type Text = LaTeX type ItemOption = LaTeX type PlacementSpecifier = LaTeX type Class = LaTeX article :: Class proc :: Class minimal :: Class report :: Class book :: Class slides :: Class type ClassOption = LaTeX letterpaper :: ClassOption a4paper :: ClassOption a5paper :: ClassOption b5paper :: ClassOption executivepaper :: ClassOption legalpaper :: ClassOption fleqn :: ClassOption leqno :: ClassOption titlepage :: ClassOption notitlepage :: ClassOption onecolumn :: ClassOption twocolumn :: ClassOption twoside :: ClassOption oneside :: ClassOption landscape :: ClassOption openright :: ClassOption openany :: ClassOption type Style = LaTeX plain :: Style headings :: Style empty :: Style type Width = LaTeX type Lift = LaTeX type Extend = LaTeX width :: LaTeX height :: LaTeX depth :: LaTeX totalheight :: LaTeX mm :: Float -> LaTeX cm :: Float -> LaTeX inch :: Float -> LaTeX pt :: Int -> LaTeX em :: Float -> LaTeX ex :: Float -> LaTeX module Text.LaTeX.Packages type Package = LaTeX type PackageOption = LaTeX doc :: Package exscale :: Package ifthen :: Package latexsym :: Package makeidx :: Package fontenc :: Package oT1 :: Encoding t1 :: Encoding t2A :: Encoding t2B :: Encoding t2C :: Encoding x2 :: Encoding lgr :: Encoding syntonly :: Package syntaxonly :: LaTeX inputenc :: Package applemac :: Encoding macukr :: Encoding latin1 :: Encoding koi8_ru :: Encoding ansinew :: Encoding cp1251 :: Encoding cp850 :: Encoding cp866nav :: Encoding ucs :: Package utf8x :: Encoding textcomp :: Package textdegree :: LaTeX textcelsius :: LaTeX texteuro :: LaTeX eurosym :: Package euro :: LaTeX babel :: Package selectlanguage :: Language -> LaTeX hyperref :: Package pdftex :: PackageOption href :: URL -> Text -> LaTeX colorpkg :: Package monochrome :: PackageOption dvipsnames :: PackageOption nodvipsnames :: PackageOption usenames :: PackageOption rgb :: Float -> Float -> Float -> Color pagecolor :: Color -> LaTeX color :: Color -> LaTeX normalcolor :: LaTeX type MathTerm = LaTeX amsmath :: Package math :: MathTerm -> LaTeX equation :: MathTerm -> LaTeX equation_ :: MathTerm -> LaTeX smash :: LaTeX -> LaTeX lim :: MathTerm (->>) :: MathTerm -> MathTerm -> MathTerm sums :: MathTerm sums_ :: MathTerm summ :: MathTerm -> MathTerm -> MathTerm sqroot :: [MathTerm] -> MathTerm -> MathTerm cdot :: MathTerm cdots :: MathTerm vdots :: MathTerm ddots :: MathTerm overline :: MathTerm -> MathTerm overbrace :: MathTerm -> MathTerm underbrace :: MathTerm -> MathTerm (==:) :: MathTerm -> MathTerm -> MathTerm (/=:) :: MathTerm -> MathTerm -> MathTerm (<=:) :: MathTerm -> MathTerm -> MathTerm (>=:) :: MathTerm -> MathTerm -> MathTerm (===) :: MathTerm -> MathTerm -> MathTerm (~~) :: MathTerm -> MathTerm -> MathTerm (~=) :: MathTerm -> MathTerm -> MathTerm (<@) :: MathTerm -> MathTerm -> MathTerm (>@) :: MathTerm -> MathTerm -> MathTerm (<=@) :: MathTerm -> MathTerm -> MathTerm (>=@) :: MathTerm -> MathTerm -> MathTerm (-|) :: MathTerm -> MathTerm -> MathTerm (|-) :: MathTerm -> MathTerm -> MathTerm (-/) :: MathTerm -> MathTerm -> MathTerm (/@) :: MathTerm -> MathTerm -> MathTerm (|.|) :: MathTerm -> MathTerm -> MathTerm (+-) :: MathTerm -> MathTerm -> MathTerm (-+) :: MathTerm -> MathTerm -> MathTerm (<*>) :: MathTerm -> MathTerm -> MathTerm (*:) :: MathTerm -> MathTerm -> MathTerm (^:) :: MathTerm -> MathTerm -> MathTerm (!:) :: MathTerm -> MathTerm -> MathTerm hat :: LaTeX -> LaTeX widehat :: LaTeX -> LaTeX tilde :: LaTeX -> LaTeX widetilde :: LaTeX -> LaTeX grave :: LaTeX -> LaTeX bar :: LaTeX -> LaTeX acute :: LaTeX -> LaTeX mathring :: LaTeX -> LaTeX check :: LaTeX -> LaTeX dot :: LaTeX -> LaTeX vec :: LaTeX -> LaTeX breve :: LaTeX -> LaTeX ddot :: LaTeX -> LaTeX alpha :: LaTeX beta :: LaTeX gamma :: LaTeX gamma_ :: LaTeX delta :: LaTeX delta_ :: LaTeX epsilon :: LaTeX varepsilon :: LaTeX zeta :: LaTeX eta :: LaTeX theta :: LaTeX vartheta :: LaTeX theta_ :: LaTeX iota :: LaTeX kappa :: LaTeX lambda :: LaTeX lambda_ :: LaTeX mu :: LaTeX nu :: LaTeX xi :: LaTeX xi_ :: LaTeX varpi :: LaTeX pi_ :: LaTeX rho :: LaTeX varrho :: LaTeX sigma :: LaTeX varsigma :: LaTeX sigma_ :: LaTeX tau :: LaTeX upsilon :: LaTeX upsilon_ :: LaTeX phi :: LaTeX varphi :: LaTeX phi_ :: LaTeX chi :: LaTeX psi :: LaTeX psi_ :: LaTeX omega :: LaTeX omega_ :: LaTeX dagger :: LaTeX ddagger :: LaTeX forall :: LaTeX binom :: MathTerm -> MathTerm -> MathTerm proof :: LaTeX -> LaTeX instance Floating (LaTeXM a) instance Fractional (LaTeXM a) instance Num (LaTeXM a) -- | Here, principal LaTeX commands and environments. module Text.LaTeX.Commands -- | In header, determines the document class. documentclass :: [ClassOption] -> Class -> LaTeX -- | In header, import a package. usepackage :: [PackageOption] -> Package -> LaTeX -- | In header, determines page style. pagestyle :: Style -> LaTeX -- | A local version of pagestyle, to use for any page. thispagestyle :: Style -> LaTeX -- | In header, especifies the document's author. author :: Name -> LaTeX -- | In header, especifies the document's title. title :: Title -> LaTeX document :: LaTeX -> LaTeX -- | Starts a new line. lnbk :: LaTeX lnbk_ :: LaTeX -- | Starts a new paragraph. pfbk :: LaTeX -- | Starts a new page. newpage :: LaTeX linebreak :: Int -> LaTeX nolinebreak :: Int -> LaTeX pagebreak :: Int -> LaTeX nopagebreak :: Int -> LaTeX fussy :: LaTeX sloppy :: LaTeX endsen :: LaTeX frenchspacing :: LaTeX par :: LaTeX include :: FilePath -> LaTeX includeonly :: [FilePath] -> LaTeX input :: FilePath -> LaTeX hyphenation :: [Word] -> LaTeX hyp :: LaTeX -- | Writes current date. today :: LaTeX -- | TeX nice word. tex :: LaTeX -- | LaTeX nice word. latex :: LaTeX -- | LaTeX2e nice word. latexe :: LaTeX section :: Title -> LaTeX section_ :: Title -> LaTeX sectiontab :: Title -> Title -> LaTeX subsection :: Title -> LaTeX subsection_ :: Title -> LaTeX subsectiontab :: Title -> Title -> LaTeX subsubsection :: Title -> LaTeX subsubsection_ :: Title -> LaTeX subsubsectiontab :: Title -> Title -> LaTeX paragraph :: Title -> LaTeX paragraph_ :: Title -> LaTeX paragraphtab :: Title -> Title -> LaTeX subparagraph :: Title -> LaTeX subparagraph_ :: Title -> LaTeX subparagraphtab :: Title -> Title -> LaTeX part :: Title -> LaTeX part_ :: Title -> LaTeX parttab :: Title -> Title -> LaTeX chapter :: Title -> LaTeX chapter_ :: Title -> LaTeX chaptertab :: Title -> Title -> LaTeX appendix :: LaTeX -- | Generates the title page. maketitle :: LaTeX -- | Generates the table of contents. tableofcontents :: LaTeX frontmatter :: LaTeX mainmatter :: LaTeX backmatter :: LaTeX label :: Marker -> LaTeX ref :: Marker -> LaTeX pageref :: Marker -> LaTeX -- | Adds a given text to the page's footnote. footnote :: Text -> LaTeX -- | Underlines a text. underline :: Text -> LaTeX -- | Emphasizes a text. emph :: Text -> LaTeX itemize :: LaTeX -> LaTeX enumerate :: LaTeX -> LaTeX description :: LaTeX -> LaTeX item :: [ItemOption] -> LaTeX -- | Left alignment. flushleft :: LaTeX -> LaTeX -- | Right alignment. flushright :: LaTeX -> LaTeX -- | Center alignment. center :: LaTeX -> LaTeX -- | Quote from a text. quote :: LaTeX -> LaTeX -- | Like quote, but indenting the first line of each paragraph. quotation :: LaTeX -> LaTeX verse :: LaTeX -> LaTeX -- | Use abstract to create an abstract, containing the argument's -- text. abstract :: LaTeX -> LaTeX -- | A text within the verbatim environment has monospaced font and -- no commands or environments will be executed. verbatim :: LaTeX -> LaTeX -- | Like verbatim, but it makes visible the spaces. verbatim_ :: LaTeX -> LaTeX -- | An inline version of verbatim. verb :: LaTeX -> LaTeX -- | An inline version of verbatim_. verb_ :: LaTeX -> LaTeX figure :: [PlacementSpecifier] -> LaTeX -> LaTeX table :: [PlacementSpecifier] -> LaTeX -> LaTeX caption :: Text -> LaTeX listoffigures :: LaTeX listoftables :: LaTeX clearpage :: LaTeX cleardoublepage :: LaTeX newcommand :: Name -> [Int] -> LaTeX -> LaTeX renewcommand :: Name -> [Int] -> LaTeX -> LaTeX providecommand :: Name -> [Int] -> LaTeX -> LaTeX newenvironment :: Name -> [Int] -> LaTeX -> LaTeX -> LaTeX ignorespaces :: LaTeX ignorespacesafterend :: LaTeX providesPackage :: Name -> LaTeX -- | Roman font textrm :: LaTeX -> LaTeX -- | Monospaced font texttt :: LaTeX -> LaTeX -- | Medium font textmd :: LaTeX -> LaTeX -- | Upright font textup :: LaTeX -> LaTeX -- | Slanted font textsl :: LaTeX -> LaTeX -- | Sans Serif font textsf :: LaTeX -> LaTeX -- | Bold font textbf :: LaTeX -> LaTeX -- | Italic font textit :: LaTeX -> LaTeX -- | Small Caps font textsc :: LaTeX -> LaTeX -- | Default font textnormal :: LaTeX -> LaTeX tiny :: LaTeX -> LaTeX scriptsize :: LaTeX -> LaTeX footnotesize :: LaTeX -> LaTeX small :: LaTeX -> LaTeX normalsize :: LaTeX -> LaTeX large :: LaTeX -> LaTeX large2 :: LaTeX -> LaTeX large3 :: LaTeX -> LaTeX huge :: LaTeX -> LaTeX huge2 :: LaTeX -> LaTeX linespread :: Float -> LaTeX -- | Creates an horizontal spaces with length specified by the argument. -- See Text.LaTeX.Arguments#Measures to create a correct argument. hspace :: LaTeX -> LaTeX -- | Same as hspace, but it ignores start or end of lines. hspace_ :: LaTeX -> LaTeX -- | Vertical version of hspace. Useful to separate two paragraphs. vspace :: LaTeX -> LaTeX -- | Same as vspace, but it ignores start or end of pages. vspace_ :: LaTeX -> LaTeX stretch :: Int -> LaTeX -- | Like vspace, but for lines of the same paragraph. -- bigskip and smallskip use skip with predefined -- arguments. skip :: LaTeX -> LaTeX bigskip :: LaTeX smallskip :: LaTeX mbox :: LaTeX -> LaTeX mbox_ :: LaTeX fbox :: LaTeX -> LaTeX parbox :: [Char] -> Width -> LaTeX -> LaTeX minipage :: [Char] -> Width -> LaTeX -> LaTeX makebox :: [Width] -> [Char] -> LaTeX -> LaTeX framebox :: [Width] -> [Char] -> LaTeX -> LaTeX raisebox :: Lift -> [Extend] -> [Extend] -> LaTeX -> LaTeX type Tabular = LaTeX cjustified :: Width -> LaTeX csep :: LaTeX -> LaTeX -- | The tabular environment can be used to creates tables. -- -- tabular :: [LaTeX] -> LaTeX -> LaTeX -> Tabular (&) :: LaTeX -> LaTeX -> LaTeX (//) :: LaTeX -> LaTeX -> LaTeX -- | Insert an horizontal line in a tabular. hline :: LaTeX -- | Insert a partial horizontal line in a tabular. cline :: Int -> Int -> LaTeX multicolumn :: Int -> LaTeX -> LaTeX -> LaTeX type LxMatrix = [[LaTeX]] -- | A matrix version of tabular. First and second arguments are -- equal. The generated tabular has the same rows and columns as -- the matrix. matrixTab :: [LaTeX] -> LaTeX -> LxMatrix -> Tabular protect :: LaTeX phantom :: LaTeX -> LaTeX -- | This module defines some macros to speed up writing documents. module Text.LaTeX.Macro m_simple :: [ClassOption] -> Class -> Name -> Title -> LaTeX -> LaTeX m_wpkgs :: [ClassOption] -> Class -> Name -> Title -> [([PackageOption], Package)] -> LaTeX -> LaTeX -- | Function m_article generate a LaTeX file with the following -- properties: -- -- m_article :: Name -> Title -> LaTeX -> LaTeX -- | Some IO computations on LaTeX monad. These functions are -- similar to those you can find in System.IO. module Text.LaTeX.IO readFileLx :: FilePath -> LaTeXM LaTeX writeFileLx :: FilePath -> LaTeXM a -> LaTeX appendFileLx :: FilePath -> LaTeXM a -> LaTeX hGetLineLx :: Handle -> LaTeXM LaTeX hGetContentsLx :: Handle -> LaTeXM LaTeX hPutStrLx :: Handle -> LaTeXM a -> LaTeX hPutStrLnLx :: Handle -> LaTeXM a -> LaTeX putStrLx :: LaTeXM a -> LaTeX putStrLnLx :: LaTeXM a -> LaTeX getLineLx :: LaTeXM LaTeX getContentsLx :: LaTeXM LaTeX module Text.LaTeX -- | HaTeX nice word. hatex :: LaTeX -- | Your HaTeX version. hatexVersion :: LaTeX -- | Export the Result of a LaTeX sequence in a .tex -- file. export :: LaTeX -> FilePath -> IO ()