module Text.LaTeX.LambdaTeX.Reference where
import Text.LaTeX.Base.Class
import Text.LaTeX.Base.Syntax
import qualified Text.LaTeX.Base.Commands as H (label, pageref,
ref)
import Text.LaTeX.LambdaTeX.Reference.Internal
import Text.LaTeX.LambdaTeX.Reference.Types
import Text.LaTeX.LambdaTeX.Types
label :: Monad m => Text -> ΛTeXT m ()
label l = do
fromLaTeX $ H.label $ TeXRaw l
addLabelMade l
ref :: Monad m => Text -> ΛTeXT m ()
ref l = do
fromLaTeX $ H.ref $ TeXRaw l
addLabelNeeded l
pageref :: Monad m => Text -> ΛTeXT m ()
pageref l = do
fromLaTeX $ H.pageref $ TeXRaw l
addLabelNeeded l
makeReference :: ReferenceType -> Text -> [(Text, Text)] -> Reference
makeReference = Reference
cite :: Monad m => Reference -> ΛTeXT m ()
cite ref = do
fromLaTeX $ comm1 "cite" $ TeXRaw $ referenceName ref
addReference ref
nocite :: Monad m => Reference -> ΛTeXT m ()
nocite ref = do
fromLaTeX $ comm1 "nocite" $ TeXRaw $ referenceName ref
addReference ref
unpublished :: ReferenceType
unpublished = "unpublished"
lectureSlides :: ReferenceType
lectureSlides = "unpublished"
online :: ReferenceType
online = "online"
article :: ReferenceType
article = "article"