Portability | unportable |
---|---|
Stability | unstable |
Maintainer | Andrea Rossato <andrea.rossato@unitn.it> |
Text.CSL.Proc.Disamb
Description
This module provides functions for processing the evaluated
Output
for citation disambiguation.
Describe the disambiguation process.
- disambCitations :: Style -> [Reference] -> Citations -> [CitationGroup] -> ([(String, String)], [CitationGroup])
- mapDisambData :: (Output -> Output) -> CiteData -> CiteData
- mapCitationGroup :: ([Output] -> [Output]) -> CitationGroup -> CitationGroup
- disambAddNames :: [CiteData] -> [CiteData]
- disambAddLast :: [CiteData] -> [CiteData]
- disambAddGivenNames :: [NameData] -> [NameData]
- updateOutput :: [CiteData] -> [NameData] -> Output -> Output
- reEvaluate :: Style -> [CiteData] -> [(Cite, Reference)] -> CitationGroup -> CitationGroup
- hasIfDis :: IfThen -> [Bool]
- getCitDisambOptions :: Style -> [String]
- getDuplCiteData :: Bool -> [CitationGroup] -> [[CiteData]]
- getCiteData :: Output -> [CiteData]
- type NamesYear = ([Output], String)
- getDuplNamesYear :: Bool -> [CitationGroup] -> [NamesYear]
- getNamesYear :: Bool -> Output -> [(String, NamesYear)]
- getYears :: Output -> [(String, String)]
- getDuplNameData :: [CitationGroup] -> [[NameData]]
- getDuplNames :: [CitationGroup] -> [[Output]]
- getName :: Output -> [NameData]
- generateYearSuffix :: [Reference] -> [(String, [Output])] -> [(String, String)]
- setYearSuffCollision :: Bool -> [CiteData] -> [Output] -> [Output]
- updateYearSuffixes :: [(String, String)] -> Output -> Output
- getYearSuffixes :: Output -> [(String, [Output])]
- rmYearSuff :: [CitationGroup] -> [CitationGroup]
- disambiguate :: Eq a => [[a]] -> [[a]]
- same :: Eq a => [a] -> [Bool]
- hasDuplicates :: Eq a => [a] -> Bool
- allTheSame :: Eq a => [a] -> Bool
Documentation
disambCitations :: Style -> [Reference] -> Citations -> [CitationGroup] -> ([(String, String)], [CitationGroup])
Given the Style
, the list of references and the citation
groups, disambiguate citations according to the style options.
mapDisambData :: (Output -> Output) -> CiteData -> CiteData
mapCitationGroup :: ([Output] -> [Output]) -> CitationGroup -> CitationGroup
disambAddNames :: [CiteData] -> [CiteData]
disambAddLast :: [CiteData] -> [CiteData]
disambAddGivenNames :: [NameData] -> [NameData]
updateOutput :: [CiteData] -> [NameData] -> Output -> Output
Given the list of CiteData
with the disambiguated field set
update the evaluated citations by setting the contributor list
accordingly.
reEvaluate :: Style -> [CiteData] -> [(Cite, Reference)] -> CitationGroup -> CitationGroup
getCitDisambOptions :: Style -> [String]
Get the list of disambiguation options set in the Style
for
citations.
getDuplCiteData :: Bool -> [CitationGroup] -> [[CiteData]]
getCiteData :: Output -> [CiteData]
For an evaluated citation get its CiteData
. The disambiguated
citation and the year fields are empty.
type NamesYear = ([Output], String)
The contributors diambiguation data, the list of names and
give-names, and the citation year (OYear
).
getDuplNamesYear :: Bool -> [CitationGroup] -> [NamesYear]
Get the contributors list (OContrib
) and the year occurring in
more then one citation.
getNamesYear :: Bool -> Output -> [(String, NamesYear)]
getDuplNameData :: [CitationGroup] -> [[NameData]]
getDuplNames :: [CitationGroup] -> [[Output]]
generateYearSuffix :: [Reference] -> [(String, [Output])] -> [(String, String)]
setYearSuffCollision :: Bool -> [CiteData] -> [Output] -> [Output]
updateYearSuffixes :: [(String, String)] -> Output -> Output
getYearSuffixes :: Output -> [(String, [Output])]
rmYearSuff :: [CitationGroup] -> [CitationGroup]
disambiguate :: Eq a => [[a]] -> [[a]]
Try to disambiguate a list of lists by returning the first non colliding element, if any, of each list:
disambiguate [[1,2],[1,3],[2]] = [[2],[3],[2]]
same :: Eq a => [a] -> [Bool]
For each element a list of Bool
: True
if the element has a
duplicate in the list:
same [1,2,1] = [True,False,True]
hasDuplicates :: Eq a => [a] -> Bool
allTheSame :: Eq a => [a] -> Bool