{-# LANGUAGE OverloadedStrings #-}
module Text.LaTeX.Packages.LongTable
(
longtablep
, longtable
, endfirsthead
, endhead
, endfoot
, endlastfoot
) where
import Text.LaTeX.Base.Syntax (LaTeX(TeXEnv, TeXRaw, TeXComm), TeXArg(FixArg, OptArg))
import Text.LaTeX.Base.Class (LaTeXC, fromLaTeX, liftL)
import Text.LaTeX.Base.Render (render, renderAppend)
import Text.LaTeX.Base.Types (PackageName, Pos, TableSpec)
longtablep :: PackageName
longtablep :: PackageName
longtablep = PackageName
"longtable"
longtable :: LaTeXC l =>
Maybe Pos
-> [TableSpec]
-> l
-> l
longtable :: forall l. LaTeXC l => Maybe Pos -> [TableSpec] -> l -> l
longtable Maybe Pos
Nothing [TableSpec]
ts = (LaTeX -> LaTeX) -> l -> l
forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL ((LaTeX -> LaTeX) -> l -> l) -> (LaTeX -> LaTeX) -> l -> l
forall a b. (a -> b) -> a -> b
$ PackageName -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv PackageName
"longtable" [ LaTeX -> TeXArg
FixArg (LaTeX -> TeXArg) -> LaTeX -> TeXArg
forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw (Text -> LaTeX) -> Text -> LaTeX
forall a b. (a -> b) -> a -> b
$ [TableSpec] -> Text
forall a. Render a => [a] -> Text
renderAppend [TableSpec]
ts ]
longtable (Just Pos
p) [TableSpec]
ts = (LaTeX -> LaTeX) -> l -> l
forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL ((LaTeX -> LaTeX) -> l -> l) -> (LaTeX -> LaTeX) -> l -> l
forall a b. (a -> b) -> a -> b
$ PackageName -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv PackageName
"longtable" [ LaTeX -> TeXArg
OptArg (LaTeX -> TeXArg) -> LaTeX -> TeXArg
forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw (Text -> LaTeX) -> Text -> LaTeX
forall a b. (a -> b) -> a -> b
$ Pos -> Text
forall a. Render a => a -> Text
render Pos
p , LaTeX -> TeXArg
FixArg (LaTeX -> TeXArg) -> LaTeX -> TeXArg
forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw (Text -> LaTeX) -> Text -> LaTeX
forall a b. (a -> b) -> a -> b
$ [TableSpec] -> Text
forall a. Render a => [a] -> Text
renderAppend [TableSpec]
ts ]
endfirsthead :: LaTeXC l => l
endfirsthead :: forall l. LaTeXC l => l
endfirsthead = LaTeX -> l
forall l. LaTeXC l => LaTeX -> l
fromLaTeX (LaTeX -> l) -> LaTeX -> l
forall a b. (a -> b) -> a -> b
$ PackageName -> [TeXArg] -> LaTeX
TeXComm PackageName
"endfirsthead" []
endhead :: LaTeXC l => l
endhead :: forall l. LaTeXC l => l
endhead = LaTeX -> l
forall l. LaTeXC l => LaTeX -> l
fromLaTeX (LaTeX -> l) -> LaTeX -> l
forall a b. (a -> b) -> a -> b
$ PackageName -> [TeXArg] -> LaTeX
TeXComm PackageName
"endhead" []
endfoot :: LaTeXC l => l
= LaTeX -> l
forall l. LaTeXC l => LaTeX -> l
fromLaTeX (LaTeX -> l) -> LaTeX -> l
forall a b. (a -> b) -> a -> b
$ PackageName -> [TeXArg] -> LaTeX
TeXComm PackageName
"endfoot" []
endlastfoot :: LaTeXC l => l
= LaTeX -> l
forall l. LaTeXC l => LaTeX -> l
fromLaTeX (LaTeX -> l) -> LaTeX -> l
forall a b. (a -> b) -> a -> b
$ PackageName -> [TeXArg] -> LaTeX
TeXComm PackageName
"endlastfoot" []