Copyright | Copyright (C) 2015 Nikolay Yakimov |
---|---|
License | GNU GPL, version 2 or above |
Maintainer | Nikolay Yakimov <root@livid.pp.ru> |
Stability | alpha |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Public interface to pandoc-crossref library
Example of use:
import Text.Pandoc import Text.Pandoc.JSON import Text.Pandoc.CrossRef main :: IO () main = toJSONFilter go where go fmt p@(Pandoc meta _) = runCrossRefIO meta fmt action p where action (Pandoc _ bs) = do meta' <- crossRefMeta bs' <- crossRefBlocks bs return $ Pandoc meta' bs'
This module also exports utility functions for setting up meta-settings for
pandoc-crossref. Refer to documentation for a complete list of metadata field
names. All functions accept a single argument of type, returned by
Text.Pandoc.Builder functions, and return Meta
.
Example:
runCrossRefIO meta fmt crossRefBlocks blocks where meta = figureTitle (str "Figura") <> tableTitle (str "Tabla") <> figPrefix (str "fig.") <> eqnPrefix (str "ec.") <> tblPrefix (str "tbl.") <> loftitle (header 1 $ text "Lista de figuras") <> lotTitle (header 1 $ text "Lista de tablas") <> chaptersDepth (MetaString "2")
Synopsis
- crossRefBlocks :: [Block] -> CrossRefM [Block]
- crossRefMeta :: CrossRefM Meta
- defaultCrossRefAction :: Pandoc -> CrossRefM Pandoc
- runCrossRef :: forall a b. Meta -> Maybe Format -> (a -> CrossRefM b) -> a -> b
- runCrossRefIO :: forall a b. Meta -> Maybe Format -> (a -> CrossRefM b) -> a -> IO b
- nameInLink :: forall a. ToMetaValue a => a -> Meta
- linkReferences :: forall a. ToMetaValue a => a -> Meta
- subfigGrid :: forall a. ToMetaValue a => a -> Meta
- autoEqnLabels :: forall a. ToMetaValue a => a -> Meta
- tableEqns :: forall a. ToMetaValue a => a -> Meta
- ccsLabelSep :: forall a. ToMetaValue a => a -> Meta
- ccsDelim :: forall a. ToMetaValue a => a -> Meta
- customLabel :: forall a. ToMetaValue a => a -> Meta
- listingTemplate :: forall a. ToMetaValue a => a -> Meta
- tableTemplate :: forall a. ToMetaValue a => a -> Meta
- ccsTemplate :: forall a. ToMetaValue a => a -> Meta
- subfigureChildTemplate :: forall a. ToMetaValue a => a -> Meta
- subfigureTemplate :: forall a. ToMetaValue a => a -> Meta
- figureTemplate :: forall a. ToMetaValue a => a -> Meta
- outFormat :: forall a. ToMetaValue a => a -> Meta
- lolTitle :: forall a. ToMetaValue a => a -> Meta
- lotTitle :: forall a. ToMetaValue a => a -> Meta
- lofTitle :: forall a. ToMetaValue a => a -> Meta
- refDelim :: forall a. ToMetaValue a => a -> Meta
- lastDelim :: forall a. ToMetaValue a => a -> Meta
- pairDelim :: forall a. ToMetaValue a => a -> Meta
- rangeDelim :: forall a. ToMetaValue a => a -> Meta
- chapDelim :: forall a. ToMetaValue a => a -> Meta
- secHeaderTemplate :: forall a. ToMetaValue a => a -> Meta
- subfigureRefIndexTemplate :: forall a. ToMetaValue a => a -> Meta
- refIndexTemplate :: forall a. ToMetaValue a => a -> Meta
- secPrefixTemplate :: forall a. ToMetaValue a => a -> Meta
- lstPrefixTemplate :: forall a. ToMetaValue a => a -> Meta
- tblPrefixTemplate :: forall a. ToMetaValue a => a -> Meta
- eqnPrefixTemplate :: forall a. ToMetaValue a => a -> Meta
- figPrefixTemplate :: forall a. ToMetaValue a => a -> Meta
- secPrefix :: forall a. ToMetaValue a => a -> Meta
- lstPrefix :: forall a. ToMetaValue a => a -> Meta
- tblPrefix :: forall a. ToMetaValue a => a -> Meta
- eqnPrefix :: forall a. ToMetaValue a => a -> Meta
- figPrefix :: forall a. ToMetaValue a => a -> Meta
- sectionsDepth :: forall a. ToMetaValue a => a -> Meta
- numberSections :: forall a. ToMetaValue a => a -> Meta
- autoSectionLabels :: forall a. ToMetaValue a => a -> Meta
- codeBlockCaptions :: forall a. ToMetaValue a => a -> Meta
- listings :: forall a. ToMetaValue a => a -> Meta
- chaptersDepth :: forall a. ToMetaValue a => a -> Meta
- cref :: forall a. ToMetaValue a => a -> Meta
- secHeaderDelim :: forall a. ToMetaValue a => a -> Meta
- secLabels :: forall a. ToMetaValue a => a -> Meta
- lstLabels :: forall a. ToMetaValue a => a -> Meta
- tblLabels :: forall a. ToMetaValue a => a -> Meta
- eqLabels :: forall a. ToMetaValue a => a -> Meta
- figLabels :: forall a. ToMetaValue a => a -> Meta
- chapters :: forall a. ToMetaValue a => a -> Meta
- subfigLabels :: forall a. ToMetaValue a => a -> Meta
- crossrefYaml :: forall a. ToMetaValue a => a -> Meta
- titleDelim :: forall a. ToMetaValue a => a -> Meta
- listingTitle :: forall a. ToMetaValue a => a -> Meta
- tableTitle :: forall a. ToMetaValue a => a -> Meta
- figureTitle :: forall a. ToMetaValue a => a -> Meta
- getOptions :: Meta -> Maybe Format -> Options
- defaultMeta :: Meta
- type CrossRefM a = Reader CrossRefEnv a
- data CrossRefEnv = CrossRefEnv {
- creSettings :: Meta
- creOptions :: Options
Documentation
crossRefBlocks :: [Block] -> CrossRefM [Block] Source #
Walk over blocks, while inserting cross-references, list-of, etc.
Works in CrossRefM
monad.
crossRefMeta :: CrossRefM Meta Source #
Modifies metadata for LaTeX output, adding header-includes instructions to setup custom and builtin environments.
Note, that if output format is not "latex", this function does nothing.
Works in CrossRefM
monad.
defaultCrossRefAction :: Pandoc -> CrossRefM Pandoc Source #
Combines crossRefMeta
and crossRefBlocks
Works in CrossRefM
monad.
nameInLink :: forall a. ToMetaValue a => a -> Meta Source #
linkReferences :: forall a. ToMetaValue a => a -> Meta Source #
subfigGrid :: forall a. ToMetaValue a => a -> Meta Source #
autoEqnLabels :: forall a. ToMetaValue a => a -> Meta Source #
tableEqns :: forall a. ToMetaValue a => a -> Meta Source #
ccsLabelSep :: forall a. ToMetaValue a => a -> Meta Source #
ccsDelim :: forall a. ToMetaValue a => a -> Meta Source #
customLabel :: forall a. ToMetaValue a => a -> Meta Source #
listingTemplate :: forall a. ToMetaValue a => a -> Meta Source #
tableTemplate :: forall a. ToMetaValue a => a -> Meta Source #
ccsTemplate :: forall a. ToMetaValue a => a -> Meta Source #
subfigureChildTemplate :: forall a. ToMetaValue a => a -> Meta Source #
subfigureTemplate :: forall a. ToMetaValue a => a -> Meta Source #
figureTemplate :: forall a. ToMetaValue a => a -> Meta Source #
outFormat :: forall a. ToMetaValue a => a -> Meta Source #
lolTitle :: forall a. ToMetaValue a => a -> Meta Source #
lotTitle :: forall a. ToMetaValue a => a -> Meta Source #
lofTitle :: forall a. ToMetaValue a => a -> Meta Source #
refDelim :: forall a. ToMetaValue a => a -> Meta Source #
lastDelim :: forall a. ToMetaValue a => a -> Meta Source #
pairDelim :: forall a. ToMetaValue a => a -> Meta Source #
rangeDelim :: forall a. ToMetaValue a => a -> Meta Source #
chapDelim :: forall a. ToMetaValue a => a -> Meta Source #
secHeaderTemplate :: forall a. ToMetaValue a => a -> Meta Source #
subfigureRefIndexTemplate :: forall a. ToMetaValue a => a -> Meta Source #
refIndexTemplate :: forall a. ToMetaValue a => a -> Meta Source #
secPrefixTemplate :: forall a. ToMetaValue a => a -> Meta Source #
lstPrefixTemplate :: forall a. ToMetaValue a => a -> Meta Source #
tblPrefixTemplate :: forall a. ToMetaValue a => a -> Meta Source #
eqnPrefixTemplate :: forall a. ToMetaValue a => a -> Meta Source #
figPrefixTemplate :: forall a. ToMetaValue a => a -> Meta Source #
secPrefix :: forall a. ToMetaValue a => a -> Meta Source #
lstPrefix :: forall a. ToMetaValue a => a -> Meta Source #
tblPrefix :: forall a. ToMetaValue a => a -> Meta Source #
eqnPrefix :: forall a. ToMetaValue a => a -> Meta Source #
figPrefix :: forall a. ToMetaValue a => a -> Meta Source #
sectionsDepth :: forall a. ToMetaValue a => a -> Meta Source #
numberSections :: forall a. ToMetaValue a => a -> Meta Source #
autoSectionLabels :: forall a. ToMetaValue a => a -> Meta Source #
codeBlockCaptions :: forall a. ToMetaValue a => a -> Meta Source #
listings :: forall a. ToMetaValue a => a -> Meta Source #
chaptersDepth :: forall a. ToMetaValue a => a -> Meta Source #
cref :: forall a. ToMetaValue a => a -> Meta Source #
secHeaderDelim :: forall a. ToMetaValue a => a -> Meta Source #
secLabels :: forall a. ToMetaValue a => a -> Meta Source #
lstLabels :: forall a. ToMetaValue a => a -> Meta Source #
tblLabels :: forall a. ToMetaValue a => a -> Meta Source #
eqLabels :: forall a. ToMetaValue a => a -> Meta Source #
figLabels :: forall a. ToMetaValue a => a -> Meta Source #
chapters :: forall a. ToMetaValue a => a -> Meta Source #
subfigLabels :: forall a. ToMetaValue a => a -> Meta Source #
crossrefYaml :: forall a. ToMetaValue a => a -> Meta Source #
titleDelim :: forall a. ToMetaValue a => a -> Meta Source #
listingTitle :: forall a. ToMetaValue a => a -> Meta Source #
tableTitle :: forall a. ToMetaValue a => a -> Meta Source #
figureTitle :: forall a. ToMetaValue a => a -> Meta Source #
defaultMeta :: Meta Source #
type CrossRefM a = Reader CrossRefEnv a Source #
Essentially a reader monad for basic pandoc-crossref environment
data CrossRefEnv Source #
Enviromnent for CrossRefM
CrossRefEnv | |
|