{-# LANGUAGE OverloadedStrings #-}
module Text.LaTeX.Packages.TabularX
(
tabularxp
, tabularx
) where
import Text.LaTeX.Base.Syntax (LaTeX(TeXEnv, TeXRaw), TeXArg(FixArg, OptArg))
import Text.LaTeX.Base.Class (LaTeXC, liftL)
import Text.LaTeX.Base.Render (render, renderAppend)
import Text.LaTeX.Base.Types (PackageName, Pos, TableSpec, Measure)
tabularxp :: PackageName
tabularxp = "tabularx"
tabularx :: LaTeXC l =>
Measure
-> Maybe Pos
-> [TableSpec]
-> l
-> l
tabularx width maybePos ts =
liftL $ TeXEnv "tabularx" args
where
width' = FixArg $ TeXRaw $ render width
ts' = FixArg $ TeXRaw $ renderAppend ts
args = case maybePos of
Nothing -> [width', ts']
Just p -> [width', p', ts']
where
p' = OptArg $ TeXRaw $ render p