module Text.LaTeX.Packages.Hyperref
(
hyperref
, HRefOption (..)
, URL
, createURL
, href
, url
, nolinkurl
, hyperbaseurl
, hyperimage
, autoref
) where
import Text.LaTeX.Base.Syntax
import Text.LaTeX.Base.Render
import Text.LaTeX.Base.Types
hyperref :: PackageName
hyperref = "hyperref"
data HRefOption =
PDFRemoteStartView
| PDFNewWindow
| HRefPage Int
deriving Show
instance Render HRefOption where
render PDFRemoteStartView = "pdfremotestartview"
render PDFNewWindow = "pdfnewwindow"
render (HRefPage n) = "page=" <> render n
newtype URL = URL String deriving Show
instance Render URL where
render (URL str) = fromString str
createURL :: String -> URL
createURL = URL
href :: [HRefOption] -> URL -> LaTeX -> LaTeX
href options u t = TeXComm "href" [ MOptArg $ fmap (TeXRaw . render) options
, FixArg $ TeXRaw $ render u
, FixArg t ]
url :: URL -> LaTeX
url u = TeXComm "url" [ FixArg $ TeXRaw $ render u ]
nolinkurl :: URL -> LaTeX
nolinkurl u = TeXComm "nolinkurl" [ FixArg $ TeXRaw $ render u ]
hyperbaseurl :: URL -> LaTeX
hyperbaseurl u = TeXComm "hyperbaseurl" [ FixArg $ TeXRaw $ render u ]
hyperimage :: URL -> LaTeX -> LaTeX
hyperimage u t = TeXComm "hyperimage" [ FixArg $ TeXRaw $ render u
, FixArg t ]
autoref :: Label -> LaTeX
autoref l = TeXComm "autoref" [ FixArg $ TeXRaw $ render l ]