HaTeX-1.0.0: Text/LaTeX/Macro.hs
-- | This module defines some macros to speed up writing documents.
module Text.LaTeX.Macro (
-- * Simple macros
m_simple
, m_wpkgs
-- * Article macros
, m_article
) where
import Text.LaTeX.Monad
import Text.LaTeX.Commands
import Text.LaTeX.Packages
import Text.LaTeX.Arguments
-- Simple macros
m_simple :: [ClassOption] -- ^ Class options
-> Class -- ^ Class
-> Name -- ^ Author's name
-> Title -- ^ Document's title
-> LaTeX -- ^ Document's content
-> LaTeX -- ^ Output
m_simple copts c a t cnt =
do documentclass copts c
author a
title t
document cnt
m_wpkgs
:: [ClassOption] -- ^ Class options
-> Class -- ^ Class
-> Name -- ^ Author's name
-> Title -- ^ Document's title
-> [([PackageOption]
, Package)] -- ^ A list of imported packages
-> LaTeX -- ^ Document's content
-> LaTeX -- ^ Output
m_wpkgs copts c a t pkgs cnt =
do documentclass copts c
mapM_ (uncurry usepackage) pkgs
author a
title t
document cnt
-- Various macros
-- | Function 'm_article' generate a LaTeX file with the following properties:
--
-- * Article class.
--
-- * Font Size: 11pt
--
-- * A title in the first page.
--
-- * A4 paper.
m_article
:: Name -- ^ Author's name
-> Title -- ^ Article's title
-> LaTeX -- ^ Article's content
-> LaTeX -- ^ Output
m_article a t cnt =
do documentclass [pt 11, titlepage, a4paper] article
author a
title t
document $ do maketitle
cnt