citeproc-hs-0.3.3: A Citation Style Language implementation in Haskell

Portability | unportable
Stability | unstable
Maintainer | Andrea Rossato <andrea.rossato@unitn.it>

Text.CSL.Proc

Description

This module provides functions for processing the evaluated `Output` for disambiguation and citation collapsing.

Synopsis

- data ProcOpts = ProcOpts {
  - bibOpts :: BibOpts
  }
- data BibOpts
  - = Select [(String, String)] [(String, String)]
  - | Include [(String, String)] [(String, String)]
  - | Exclude [(String, String)] [(String, String)]
- procOpts :: ProcOpts
- processCitations :: ProcOpts -> Style -> [Reference] -> Citations -> [[FormattedOutput]]
- processBibliography :: ProcOpts -> Style -> [Reference] -> [[FormattedOutput]]
- citeproc :: ProcOpts -> Style -> [Reference] -> Citations -> BiblioData
- procRefs :: Style -> [Reference] -> [Reference]
- sortItems :: Show a => [(a, [Sorting])] -> [a]
- procBiblio :: BibOpts -> Style -> [Reference] -> [[Output]]
- filterRefs :: BibOpts -> [Reference] -> [Reference]
- procGroup :: Style -> [(Cite, Reference)] -> CitationGroup
- formatBiblioLayout :: Formatting -> Delimiter -> [Output] -> [Output]
- formatCitLayout :: Style -> CitationGroup -> [FormattedOutput]
- addAffixes :: Formatting -> [Output] -> [Output]
- localModifiers :: Style -> Bool -> Cite -> Output -> Output
- isNumStyle :: [Output] -> Bool

# Documentation

data ProcOpts

Constructors

ProcOpts |
Fields bibOpts :: BibOpts

Instances

Eq ProcOpts |
Read ProcOpts |
Show ProcOpts |

data BibOpts

Constructors

Select [(String, String)] [(String, String)] |
Include [(String, String)] [(String, String)] |
Exclude [(String, String)] [(String, String)] |

Instances

Eq BibOpts |
Read BibOpts |
Show BibOpts |

procOpts :: ProcOpts

processCitations :: ProcOpts -> Style -> [Reference] -> Citations -> [[FormattedOutput]]

With a `Style`, a list of `Reference`s and the list of citation groups (the list of citations with their locator), produce the `FormattedOutput` for each citation group.

processBibliography :: ProcOpts -> Style -> [Reference] -> [[FormattedOutput]]

With a `Style` and the list of `Reference`s produce the `FormattedOutput` for the bibliography.

citeproc :: ProcOpts -> Style -> [Reference] -> Citations -> BiblioData

With a `Style`, a list of `Reference`s and the list of `Citations`, produce the `FormattedOutput` for each citation group and the bibliography.

procRefs :: Style -> [Reference] -> [Reference]

Given the CSL `Style` and the list of `Reference`s sort the list according to the `Style` and assign the citation number to each `Reference`.

sortItems :: Show a => [(a, [Sorting])] -> [a]

procBiblio :: BibOpts -> Style -> [Reference] -> [[Output]]

With a `Style` and a sorted list of `Reference`s produce the evaluated output for the bibliography.

filterRefs :: BibOpts -> [Reference] -> [Reference]

procGroup :: Style -> [(Cite, Reference)] -> CitationGroup

Given the CSL `Style` and the list of `Reference`s coupled with their position, generate a `CitationGroup`. The citations are sorted according to the `Style`.

formatBiblioLayout :: Formatting -> Delimiter -> [Output] -> [Output]

formatCitLayout :: Style -> CitationGroup -> [FormattedOutput]

addAffixes :: Formatting -> [Output] -> [Output]

localModifiers :: Style -> Bool -> Cite -> Output -> Output

The `Bool` is `True` if we are formatting a textual citation (in pandoc terminology).

isNumStyle :: [Output] -> Bool