pandoc-citeproc 0.4 → 0.4.0.1
raw patch · 17 files changed
+97/−40 lines, 17 filesdep −texmathPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
Dependencies removed: texmath
API changes (from Hackage documentation)
+ Text.CSL.Reference: handleLiteral :: RefDate -> [RefDate]
Files
- changelog +22/−0
- pandoc-citeproc.cabal +6/−5
- src/Text/CSL/Eval.hs +7/−3
- src/Text/CSL/Eval/Names.hs +2/−9
- src/Text/CSL/Pandoc.hs +1/−2
- src/Text/CSL/Reference.hs +24/−12
- src/Text/CSL/Style.hs +10/−1
- src/Text/CSL/Util.hs +4/−3
- tests/issue65.expected.native +3/−0
- tests/issue65.in.native +2/−0
- tests/issue68.expected.native +3/−0
- tests/issue68.in.native +2/−0
- tests/issue70.expected.native +3/−0
- tests/issue70.in.native +2/−0
- tests/no-author.expected.native +3/−3
- tests/no-author.in.native +1/−1
- tests/test-pandoc-citeproc.hs +2/−1
changelog view
@@ -1,3 +1,25 @@+pandoc-citeproc (0.4.0.1)++ * Interpret date literals with underscores (e.g. "2004_2006") as ranges.+ This covers a common workaround for a deficiency in Zotero (#65).+ * Correctly handle "literal" in CSL date (#65).+ * Fixed erroneous capitalization of the first ibid. in a citation,+ even in the middle of a sentence (#68). Removed "ibid-c",+ "ibid-locator-c" classifications.+ * Pandoc: Capitalize first word of citation note, unless span=nocase.+ Previously we only capitalized citations. This captures ibid+ and the like.+ * Text.CSL.Util.toCapital: respect `<span class="nocase">`.+ * Turn small caps into SmallCaps element in reading CSL JSON (#67).+ Either the <span style="font-variant:small-caps"> or the <sc>+ variant may be used.+ * Added "ca", "c", "et" to list of short words in titlecase transforms+ (#66).+ * Fixed some errors in the no-author test case.+ * test-pandoc-citeproc: Avoid running tests twice!+ * Check for en dash in checking for page ranges (#70).+ * Removed unused texmath build-depend.+ pandoc-citeproc (0.4) * Fixed #58 - previously not all substitute alternatives were tried.
pandoc-citeproc.cabal view
@@ -1,5 +1,5 @@ name: pandoc-citeproc-version: 0.4+version: 0.4.0.1 cabal-version: >= 1.12 synopsis: Supports using pandoc with citeproc @@ -11,9 +11,10 @@ Style Language (CSL). More details on CSL can be found here: <http://citationstyles.org/>. .- Currently this package includes a copy of the citeproc-hs- code. When citeproc-hs is updated to be compatible,- this package will simply depend on citeproc-hs.+ Currently this package includes a heavily revised+ copy of the citeproc-hs code. When citeproc-hs is+ updated to be compatible, this package will simply+ depend on citeproc-hs. . This package also contains an executable: pandoc-citeproc, which works as a pandoc filter (pandoc >= 1.12), and@@ -141,7 +142,7 @@ ghc-prof-options: -prof -auto-all build-depends: containers, directory, mtl, bytestring, filepath, pandoc-types >= 1.12.3, tagsoup,- aeson >= 0.7 && < 0.9, text, vector, texmath >= 0.6.4,+ aeson >= 0.7 && < 0.9, text, vector, split, yaml >= 0.8.8.2, pandoc >= 1.12.1 if impl(ghc < 7.6) build-depends: ghc-prim
src/Text/CSL/Eval.hs view
@@ -183,7 +183,9 @@ case numVars of ["number-of-volumes"] -> not $ any (== "1") nums ["number-of-pages"] -> not $ any (== "1") nums- _ -> any ('-' `elem`) nums+ _ -> any+ (\x -> '-' `elem` x || '\x2013' `elem` x)+ nums pluralizeTerm x = x if null res then return []@@ -342,7 +344,7 @@ checkRange :: [CslTerm] -> String -> String checkRange _ [] = []-checkRange ts (x:xs) = if x == '-'+checkRange ts (x:xs) = if x == '-' || x == '\x2013' then pageRange ts ++ checkRange ts xs else x : checkRange ts xs @@ -373,7 +375,7 @@ breakNumericString [] = [] breakNumericString (x:xs) | isTransNumber x = x : breakNumericString xs- | otherwise = let (a,b) = break (flip elem "&-,") x+ | otherwise = let (a,b) = break (flip elem "&-\x2013,") x (c,d) = if null b then ("","") else (take 1 b, tail b) in filter (/= []) $ a : c : breakNumericString (d : xs) @@ -387,7 +389,9 @@ tupleRange [] = [] tupleRange (x:"-":[] ) = return (x,[])+ tupleRange (x:"\x2013":[] ) = return (x,[]) tupleRange (x:"-":y:xs) = (x, y) : tupleRange xs+ tupleRange (x:"\x2013":y:xs) = (x, y) : tupleRange xs tupleRange (x: xs) = (x,[]) : tupleRange xs joinRange (a, []) = a
src/Text/CSL/Eval/Names.hs view
@@ -344,10 +344,7 @@ formatTerm f fm p s = do t <- getTerm p f s pos <- gets (citePosition . cite . env)- let t' = if pos == "ibid-with-locator-c" || pos == "ibid-c"- then capitalize t- else t- return $ oStr' t' fm+ return $ oStr' t fm formatLabel :: Form -> Formatting -> Bool -> String -> State EvalState [Output] formatLabel f fm p s@@ -356,7 +353,7 @@ form (\fm' -> return . flip OLoc emptyFormatting . output fm') id l ('-' `elem` v) | "page" <- s = checkPlural | "volume" <- s = checkPlural- | "ibid" <- s = format' s p+ | "ibid" <- s = format s p | isRole s = do a <- getAgents' (if s == "editortranslator" then "editor" else s)@@ -373,10 +370,6 @@ v <- getStringVar s format s ('-' `elem` v) format = form output id- format' t b = gets (citePosition . cite . env) >>= \po ->- if po == "ibid-with-locator-c" || po == "ibid-c"- then form output capitalize t b- else format t b form o g t b = return . o fm =<< g . period <$> getTerm (b && p) f t period = if stripPeriods fm then filter (/= '.') else id
src/Text/CSL/Pandoc.hs view
@@ -229,8 +229,7 @@ in f xs' ++ ys sanitize :: Citation -> [Block] -> [Block] sanitize Citation{citationPrefix = pref} [Para xs] =- [Para $ (if null pref then xs else toCapital xs) ++- if endWithPunct xs then [Space] else []]+ [Para $ toCapital xs ++ if endWithPunct xs then [Space] else []] sanitize _ bs = bs isTextualCitation :: [Citation] -> Bool
src/Text/CSL/Reference.hs view
@@ -19,6 +19,7 @@ module Text.CSL.Reference where import Data.List ( elemIndex, isPrefixOf, intercalate )+import Data.List.Split ( splitWhen ) import Data.Maybe ( fromMaybe ) import Data.Generics hiding (Generic) import GHC.Generics (Generic)@@ -109,7 +110,7 @@ v .:? "month" .!= "" <*> v .:? "season" .!= "" <*> v .:? "day" .!= "" <*>- v .:? "other" .!= "" <*>+ v .:? "literal" .!= "" <*> ((v .: "circa" >>= parseBool) <|> pure False) parseJSON _ = fail "Could not parse RefDate" @@ -132,9 +133,22 @@ case dateParts of Just (Array xs) -> mapM (fmap (setCirca circa') . parseJSON) $ V.toList xs- _ -> (:[]) `fmap` parseJSON (Object v)+ _ -> handleLiteral <$> parseJSON (Object v) parseJSON x = parseJSON x >>= mkRefDate +-- Zotero doesn't properly support date ranges, so a common+-- workaround is 2005_2007; support this as date range:+handleLiteral :: RefDate -> [RefDate]+handleLiteral d@(RefDate (Literal "") (Literal "") (Literal "")+ (Literal "") (Literal xs) b)+ = case splitWhen (=='_') xs of+ [x,y] | all isDigit x && all isDigit y &&+ not (null x) && not (null y) ->+ [RefDate (Literal x) mempty mempty mempty mempty b,+ RefDate (Literal y) mempty mempty mempty mempty b]+ _ -> [d]+handleLiteral d = [d]+ toDatePart :: RefDate -> [Int] toDatePart refdate = case (safeRead (unLiteral $ year refdate),@@ -620,22 +634,22 @@ procCs a [] = (a,[]) procCs a (c:xs)- | isIbidC, isLocSet = go "ibid-with-locator-c" | isIbid, isLocSet = go "ibid-with-locator"- | isIbidC = go "ibid-c" | isIbid = go "ibid" | isElem = go "subsequent" | otherwise = go "first" where- go s = let addCite = if last a /= [] then init a ++ [last a ++ [c]] else init a ++ [[c]]+ go s = let addCite = init a ++ [last a ++ [c]] (a', rest) = procCs addCite xs in (a', (c { citePosition = s}, getRef c) : rest) isElem = citeId c `elem` map citeId (concat a)- -- Ibid in same citation- isIbid = last a /= [] && citeId c == citeId (last $ last a)- -- Ibid in different citations (must be capitalized)- isIbidC = init a /= [] && length (last $ init a) == 1 &&- last a == [] && citeId c == citeId (head . last $ init a)+ isIbid = case reverse (last a) of+ [] -> case reverse (init a) of+ [] -> False+ (xs:_) -> not (null xs) &&+ all (== citeId c)+ (map citeId xs)+ (x:_) -> citeId c == citeId x isLocSet = citeLocator c /= "" setPageFirst :: Reference -> Reference@@ -665,5 +679,3 @@ citeNoteNumber x /= "0" && readNum (citeNoteNumber c) - readNum (citeNoteNumber x) <= near_note _ -> False--
src/Text/CSL/Style.hs view
@@ -62,13 +62,22 @@ -- pandoc metadata bibliographies. readCSLString :: String -> [Inline]-readCSLString s = case readHtml def{ readerSmart = True+readCSLString s = Walk.walk handleSmallCapsSpans+ $ case readHtml def{ readerSmart = True , readerParseRaw = True } (adjustScTags s) of Pandoc _ [Plain ils] -> ils Pandoc _ [Para ils] -> ils Pandoc _ x -> Walk.query (:[]) x+ -- this is needed for versions of pandoc that don't turn+ -- a span with font-variant:small-caps into a SmallCaps element:+ where handleSmallCapsSpans (Span ("",[],[("style",s)]) ils)+ | filter (`notElem` " \t;") s == "font-variant:small-caps" =+ SmallCaps ils+ handleSmallCapsSpans x = x +-- <sc> is not a real HTML tag, but a CSL convention. So we+-- replace it with a real tag that the HTML reader will understand. adjustScTags :: String -> String adjustScTags zs = case zs of
src/Text/CSL/Util.hs view
@@ -198,8 +198,8 @@ tc (Span ("",["nocase"],[]) xs) = return $ Span ("",["nocase"],[]) xs tc x = return x isShortWord s = s `elem`- ["a","an","and","as","at","but","by","d","de"- ,"down","for","from"+ ["a","an","and","as","at","but","by","c","ca","d","de"+ ,"down","et","for","from" ,"in","into","nor","of","on","onto","or","over","so" ,"the","till","to","up","van","von","via","with","yet"] @@ -328,7 +328,8 @@ tailFirstInlineStr = mapHeadInline (drop 1) toCapital :: [Inline] -> [Inline]-toCapital = mapHeadInline capitalize+toCapital ils@(Span (_,["nocase"],_) _:_) = ils+toCapital ils = mapHeadInline capitalize ils mapHeadInline :: (String -> String) -> [Inline] -> [Inline] mapHeadInline _ [] = []
+ tests/issue65.expected.native view
@@ -0,0 +1,3 @@+Pandoc (Meta {unMeta = fromList [("references",MetaList [MetaMap (fromList [("ISBN",MetaInlines [Str "3406493556"]),("author",MetaList [MetaMap (fromList [("family",MetaInlines [Str "Stotz"]),("given",MetaInlines [Str "Peter"])])]),("call-number",MetaInlines [Str "PA25",Space,Str "PA2616",Space,Str ".H24",Space,Str "Abt.",Space,Str "2,",Space,Str "T.",Space,Str "5,",Space,Str "Bd.",Space,Str "2,",Space,Str "etc"]),("collection-number",MetaInlines [Str "2.5"]),("collection-title",MetaInlines [Str "Handbuch",Space,Str "der",Space,Str "Altertumswissenschaft"]),("event-place",MetaInlines [Str "Munich"]),("first-reference-note-number",MetaString "1"),("id",MetaInlines [Str "stotz:1996handbuch"]),("issued",MetaMap (fromList [("literal",MetaInlines [Str "1996_2004"])])),("language",MetaInlines [Str "German"]),("number-of-volumes",MetaInlines [Str "5"]),("publisher",MetaInlines [Str "Beck"]),("publisher-place",MetaInlines [Str "Munich"]),("source",MetaInlines [Str "Library",Space,Str "of",Space,Str "Congress",Space,Str "ISBN"]),("title",MetaInlines [Str "Handbuch",Space,Str "zur",Space,Str "lateinischen",Space,Str "Sprache",Space,Str "des",Space,Str "Mittelalters"]),("title-short",MetaInlines [Str "Handbuch"]),("type",MetaInlines [Str "book"])])])]})+[Para [Cite [Citation {citationId = "stotz:1996handbuch", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 1}] [Str "(",Str "Stotz",Space,Str "1996",Str "\8211",Str "2004",Str ")"]]+,Div ("",["references"],[]) [Para [Str "Stotz",Str ",",Space,Str "Peter",Str ".",Space,Str "1996",Str "\8211",Str "2004",Str ".",Space,Emph [Str "Handbuch",Space,Str "zur",Space,Str "lateinischen",Space,Str "Sprache",Space,Str "des",Space,Str "Mittelalters"],Str ".",Space,Str "5",Space,Str "vols.",Space,Str "Handbuch",Space,Str "der",Space,Str "Altertumswissenschaft",Str ",",Space,Str "2.5",Str ".",Space,Str "Munich",Str ":",Space,Str "Beck",Str "."]]]
+ tests/issue65.in.native view
@@ -0,0 +1,2 @@+Pandoc (Meta {unMeta = fromList [("references",MetaList [MetaMap (fromList [("ISBN",MetaInlines [Str "3406493556"]),("author",MetaList [MetaMap (fromList [("family",MetaInlines [Str "Stotz"]),("given",MetaInlines [Str "Peter"])])]),("call-number",MetaInlines [Str "PA25",Space,Str "PA2616",Space,Str ".H24",Space,Str "Abt.",Space,Str "2,",Space,Str "T.",Space,Str "5,",Space,Str "Bd.",Space,Str "2,",Space,Str "etc"]),("collection-number",MetaInlines [Str "2.5"]),("collection-title",MetaInlines [Str "Handbuch",Space,Str "der",Space,Str "Altertumswissenschaft"]),("event-place",MetaInlines [Str "Munich"]),("first-reference-note-number",MetaString "1"),("id",MetaInlines [Str "stotz:1996handbuch"]),("issued",MetaMap (fromList [("literal",MetaInlines [Str "1996_2004"])])),("language",MetaInlines [Str "German"]),("number-of-volumes",MetaInlines [Str "5"]),("publisher",MetaInlines [Str "Beck"]),("publisher-place",MetaInlines [Str "Munich"]),("source",MetaInlines [Str "Library",Space,Str "of",Space,Str "Congress",Space,Str "ISBN"]),("title",MetaInlines [Str "Handbuch",Space,Str "zur",Space,Str "lateinischen",Space,Str "Sprache",Space,Str "des",Space,Str "Mittelalters"]),("title-short",MetaInlines [Str "Handbuch"]),("type",MetaInlines [Str "book"])])])]})+[Para [Cite [Citation {citationId = "stotz:1996handbuch", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@stotz:1996handbuch]"]]]
+ tests/issue68.expected.native view
@@ -0,0 +1,3 @@+Pandoc (Meta {unMeta = fromList [("csl",MetaInlines [Str "tests/chicago-fullnote-bibliography.csl"]),("references",MetaList [MetaMap (fromList [("ISBN",MetaInlines [Str "0888441088"]),("author",MetaList [MetaMap (fromList [("family",MetaInlines [Str "Goering"]),("given",MetaInlines [Str "Joseph"])])]),("call-number",MetaInlines [Str "BV4009",Space,Str ".W55",Space,Str "1992"]),("collection-number",MetaInlines [Str "108"]),("collection-title",MetaInlines [Str "Studies",Space,Str "and",Space,Str "Texts"]),("event-place",MetaInlines [Str "Toronto"]),("first-reference-note-number",MetaString "1"),("id",MetaInlines [Str "goering:1992william"]),("issued",MetaMap (fromList [("date-parts",MetaList [MetaList [MetaString "1992"]])])),("publisher",MetaInlines [Str "Pontifical",Space,Str "Institute",Space,Str "of",Space,Str "Mediaeval",Space,Str "Studies"]),("publisher-place",MetaInlines [Str "Toronto"]),("source",MetaInlines [Str "toroprod.library.utoronto.ca",Space,Str "Library",Space,Str "Catalog"]),("title",MetaInlines [Str "William",Space,Str "de",Space,Str "Montibus",Space,Str "(c.",Space,Str "1140\8211\&1213):",Space,Str "The",Space,Str "Schools",Space,Str "and",Space,Str "the",Space,Str "Literature",Space,Str "of",Space,Str "Pastoral",Space,Str "Care"]),("title-short",MetaInlines [Str "William",Space,Str "de",Space,Str "Montibus"]),("type",MetaInlines [Str "book"])])])]})+[Para [Str "...",Space,Str "a",Space,Str "prose",Space,Str "commentary",Str ".",Cite [Citation {citationId = "goering:1992william", citationPrefix = [Str "the",Space,Str "text",Space,Str "of",Space,Str "fol.",Space,Str "9r",Space,Str "is",Space,Str "printed",Space,Str "in"], citationSuffix = [Str ",",Space,Str "pp.",Space,Str "501\8211\&3"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 1}] [Note [Para [Str "The",Space,Str "text",Space,Str "of",Space,Str "fol.",Space,Str "9r",Space,Str "is",Space,Str "printed",Space,Str "in",Space,Str "Joseph",Space,Str "Goering",Str ",",Space,Emph [Str "William",Space,Str "de",Space,Str "Montibus",Space,Str "(",Str "c",Str ".",Space,Str "1140",Str "\8211",Str "1213",Str "):",Space,Str "The",Space,Str "Schools",Space,Str "and",Space,Str "the",Space,Str "Literature",Space,Str "of",Space,Str "Pastoral",Space,Str "Care"],Str ",",Space,Str "Studies",Space,Str "and",Space,Str "Texts",Space,Str "108",Space,Str "(",Str "Toronto",Str ":",Space,Str "Pontifical",Space,Str "Institute",Space,Str "of",Space,Str "Mediaeval",Space,Str "Studies",Str ",",Space,Str "1992",Str ")",Str ",",Space,Str "501\8211\&3",Str ".",Space]]],Str "",Space,Str "...",Space,Str "a",Space,Str "collection",Space,Str "of",Space,Str "verses",Space,Str "with",Space,Str "a",Space,Str "formal",Space,Str "prose",Space,Str "commentary",Cite [Citation {citationId = "goering:1992william", citationPrefix = [Str "excerpts",Space,Str "from",Space,Str "this",Space,Str "text",Space,Str "were",Space,Str "previously",Space,Str "printed",Space,Str "in"], citationSuffix = [Str ",",Space,Str "p.",Space,Str "508\8211\&14"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 2},Citation {citationId = "goering:1992william", citationPrefix = [Str "it",Space,Str "was",Space,Str "also",Space,Str "briefly",Space,Str "described",Space,Str "in"], citationSuffix = [Str ",",Space,Str "pp.",Space,Str "141\8211\&42"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 3}] [Note [Para [Str "Excerpts",Space,Str "from",Space,Str "this",Space,Str "text",Space,Str "were",Space,Str "previously",Space,Str "printed",Space,Str "in",Space,Str "ibid.",Str ",",Space,Str "508\8211\&14",Str ";",Space,Str "it",Space,Str "was",Space,Str "also",Space,Str "briefly",Space,Str "described",Space,Str "in",Space,Str "ibid.",Str ",",Space,Str "141\8211\&42",Str ".",Space]]],Space,Str "...",Space,Str "and",Space,Str "finally",Space,Str "a",Space,Str "note",Space,Str "starting",Space,Str "with",Space,Str "a",Space,Str "citation",Str ".",Cite [Citation {citationId = "goering:1992william", citationPrefix = [], citationSuffix = [Str ",",Space,Str "pp.",Space,Str "141-42"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 4}] [Note [Para [Str "Ibid.",Str ",",Space,Str "141\8211\&42",Str ".",Space]]],Str ""]+,Div ("",["references"],[]) [Para [Str "Goering",Str ",",Space,Str "Joseph",Str ".",Space,Emph [Str "William",Space,Str "de",Space,Str "Montibus",Space,Str "(",Str "c",Str ".",Space,Str "1140",Str "\8211",Str "1213",Str "):",Space,Str "The",Space,Str "Schools",Space,Str "and",Space,Str "the",Space,Str "Literature",Space,Str "of",Space,Str "Pastoral",Space,Str "Care"],Str ".",Space,Str "Studies",Space,Str "and",Space,Str "Texts",Space,Str "108",Str ".",Space,Str "Toronto",Str ":",Space,Str "Pontifical",Space,Str "Institute",Space,Str "of",Space,Str "Mediaeval",Space,Str "Studies",Str ",",Space,Str "1992",Str "."]]]
+ tests/issue68.in.native view
@@ -0,0 +1,2 @@+Pandoc (Meta {unMeta = fromList [("csl",MetaInlines [Str "tests/chicago-fullnote-bibliography.csl"]),("references",MetaList [MetaMap (fromList [("ISBN",MetaInlines [Str "0888441088"]),("author",MetaList [MetaMap (fromList [("family",MetaInlines [Str "Goering"]),("given",MetaInlines [Str "Joseph"])])]),("call-number",MetaInlines [Str "BV4009",Space,Str ".W55",Space,Str "1992"]),("collection-number",MetaInlines [Str "108"]),("collection-title",MetaInlines [Str "Studies",Space,Str "and",Space,Str "Texts"]),("event-place",MetaInlines [Str "Toronto"]),("first-reference-note-number",MetaString "1"),("id",MetaInlines [Str "goering:1992william"]),("issued",MetaMap (fromList [("date-parts",MetaList [MetaList [MetaString "1992"]])])),("publisher",MetaInlines [Str "Pontifical",Space,Str "Institute",Space,Str "of",Space,Str "Mediaeval",Space,Str "Studies"]),("publisher-place",MetaInlines [Str "Toronto"]),("source",MetaInlines [Str "toroprod.library.utoronto.ca",Space,Str "Library",Space,Str "Catalog"]),("title",MetaInlines [Str "William",Space,Str "de",Space,Str "Montibus",Space,Str "(c.",Space,Str "1140\8211\&1213):",Space,Str "The",Space,Str "Schools",Space,Str "and",Space,Str "the",Space,Str "Literature",Space,Str "of",Space,Str "Pastoral",Space,Str "Care"]),("title-short",MetaInlines [Str "William",Space,Str "de",Space,Str "Montibus"]),("type",MetaInlines [Str "book"])])])]})+[Para [Str "...",Space,Str "a",Space,Str "prose",Space,Str "commentary",Space,Cite [Citation {citationId = "goering:1992william", citationPrefix = [Str "the",Space,Str "text",Space,Str "of",Space,Str "fol.",Space,Str "9r",Space,Str "is",Space,Str "printed",Space,Str "in"], citationSuffix = [Str ",",Space,Str "pp.",Space,Str "501\8211\&3"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[the",Space,Str "text",Space,Str "of",Space,Str "fol.",Space,Str "9r",Space,Str "is",Space,Str "printed",Space,Str "in",Space,Str "@goering:1992william,",Space,Str "pp.",Space,Str "501\8211\&3]"],Str ".",Space,Str "...",Space,Str "a",Space,Str "collection",Space,Str "of",Space,Str "verses",Space,Str "with",Space,Str "a",Space,Str "formal",Space,Str "prose",Space,Str "commentary",Space,Cite [Citation {citationId = "goering:1992william", citationPrefix = [Str "excerpts",Space,Str "from",Space,Str "this",Space,Str "text",Space,Str "were",Space,Str "previously",Space,Str "printed",Space,Str "in"], citationSuffix = [Str ",",Space,Str "p.",Space,Str "508\8211\&14"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0},Citation {citationId = "goering:1992william", citationPrefix = [Str "it",Space,Str "was",Space,Str "also",Space,Str "briefly",Space,Str "described",Space,Str "in"], citationSuffix = [Str ",",Space,Str "pp.",Space,Str "141\8211\&42"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[excerpts",Space,Str "from",Space,Str "this",Space,Str "text",Space,Str "were",Space,Str "previously",Space,Str "printed",Space,Str "in",Space,Str "@goering:1992william,",Space,Str "p.",Space,Str "508\8211\&14;",Space,Str "it",Space,Str "was",Space,Str "also",Space,Str "briefly",Space,Str "described",Space,Str "in",Space,Str "@goering:1992william,",Space,Str "pp.",Space,Str "141\8211\&42]"],Space,Str "...",Space,Str "and",Space,Str "finally",Space,Str "a",Space,Str "note",Space,Str "starting",Space,Str "with",Space,Str "a",Space,Str "citation",Space,Cite [Citation {citationId = "goering:1992william", citationPrefix = [], citationSuffix = [Str ",",Space,Str "pp.",Space,Str "141-42"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@goering:1992william,",Space,Str "pp.",Space,Str "141-42]"],Str "."]]
+ tests/issue70.expected.native view
@@ -0,0 +1,3 @@+Pandoc (Meta {unMeta = fromList [("references",MetaList [MetaMap (fromList [("ISBN",MetaInlines [Str "9782503531465"]),("author",MetaList [MetaMap (fromList [("family",MetaInlines [Str "Dinkova-Bruun"]),("given",MetaInlines [Str "Greti"])])]),("call-number",MetaInlines [Str "CB351",Space,Str ".F564",Space,Str "2009"]),("collection-number",MetaInlines [Str "50"]),("collection-title",MetaInlines [Str "Textes",Space,Str "et",Space,Str "\233tudes",Space,Str "du",Space,Str "moyen",Space,Str "\226ge"]),("container-title",MetaInlines [Str "Florilegium",Space,Str "mediaevale:",Space,Str "\201tudes",Space,Str "offertes",Space,Str "\224",Space,Str "Jacqueline",Space,Str "Hamesse",Space,Str "\224",Space,Str "l\8217occasion",Space,Str "de",Space,Str "son",Space,Str "\233m\233ritat"]),("editor",MetaList [MetaMap (fromList [("family",MetaInlines [Str "Meirinhos"]),("given",MetaInlines [Str "Jos\233",Space,Str "Francisco"])]),MetaMap (fromList [("family",MetaInlines [Str "Weijers"]),("given",MetaInlines [Str "Olga"])])]),("event-place",MetaInlines [Str "Louvain-la-Neuve"]),("first-reference-note-number",MetaString "1"),("id",MetaInlines [Str "bruun:2009samuel"]),("issued",MetaMap (fromList [("date-parts",MetaList [MetaList [MetaString "2009"]])])),("language",MetaInlines [Str "French"]),("page",MetaInlines [Str "155\8211\&174"]),("publisher",MetaInlines [Str "F\233d\233ration",Space,Str "Internationale",Space,Str "des",Space,Str "Instituts",Space,Str "d\8217\201tudes",Space,Str "M\233di\233vales"]),("publisher-place",MetaInlines [Str "Louvain-la-Neuve"]),("source",MetaInlines [Str "Library",Space,Str "of",Space,Str "Congress",Space,Str "ISBN"]),("title",MetaInlines [Str "Samuel",Space,Str "Presbyter",Space,Str "and",Space,Str "the",Space,Str "Glosses",Space,Str "to",Space,Str "His",Space,Str "Versification",Space,Str "of",Space,Str "Psalm",Space,Str "1:",Space,Str "An",Space,Str "Anti-Church",Space,Str "Invective?"]),("title-short",MetaInlines [Str "Samuel",Space,Str "Presbyter"]),("type",MetaInlines [Str "chapter"])]),MetaMap (fromList [("ISSN",MetaInlines [Str "0362-1529"]),("author",MetaList [MetaMap (fromList [("family",MetaInlines [Str "Thorndike"]),("given",MetaInlines [Str "Lynn"])])]),("container-title",MetaInlines [Str "Traditio"]),("first-reference-note-number",MetaString "1"),("id",MetaInlines [Str "thorndike:1955unde"]),("issued",MetaMap (fromList [("date-parts",MetaList [MetaList [MetaString "1955"]])])),("language",MetaInlines [Str "Latin"]),("note",MetaInlines [Str "ArticleType:",Space,Str "research-article",Space,Str "/",Space,Str "Full",Space,Str "publication",Space,Str "date:",Space,Str "1955",Space,Str "/",Space,Str "Copyright",Space,Str "\169",Space,Str "1955",Space,Str "Fordham",Space,Str "University"]),("page",MetaInlines [Str "163\8211\&193"]),("source",MetaInlines [Str "JSTOR"]),("title",MetaInlines [Str "Unde",Space,Str "versus"]),("type",MetaInlines [Str "article-journal"]),("volume",MetaInlines [Str "11"])])])]})+[Para [Cite [Citation {citationId = "thorndike:1955unde", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 1},Citation {citationId = "bruun:2009samuel", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 2}] [Str "(",Str "Thorndike",Space,Str "1955",Str ";",Space,Str "Dinkova-Bruun",Space,Str "2009",Str ")"]]+,Div ("",["references"],[]) [Para [Str "Dinkova-Bruun",Str ",",Space,Str "Greti",Str ".",Space,Str "2009",Str ".",Space,Str "\8220",Str "Samuel",Space,Str "Presbyter",Space,Str "and",Space,Str "the",Space,Str "Glosses",Space,Str "to",Space,Str "His",Space,Str "Versification",Space,Str "of",Space,Str "Psalm",Space,Str "1:",Space,Str "An",Space,Str "Anti-Church",Space,Str "Invective?",Str "\8221",Space,Str "In",Space,Emph [Str "Florilegium",Space,Str "mediaevale:",Space,Str "\201tudes",Space,Str "offertes",Space,Str "\224",Space,Str "Jacqueline",Space,Str "Hamesse",Space,Str "\224",Space,Str "l\8217occasion",Space,Str "de",Space,Str "son",Space,Str "\233m\233ritat"],Str ",",Space,Str "edited",Space,Str "by",Space,Str "Jos\233",Space,Str "Francisco",Space,Str "Meirinhos",Space,Str "and",Space,Str "Olga",Space,Str "Weijers",Str ",",Space,Str "155\8211\&74",Str ".",Space,Str "Textes",Space,Str "et",Space,Str "\233tudes",Space,Str "du",Space,Str "moyen",Space,Str "\226ge",Space,Str "50",Str ".",Space,Str "Louvain-la-Neuve",Str ":",Space,Str "F\233d\233ration",Space,Str "Internationale",Space,Str "des",Space,Str "Instituts",Space,Str "d\8217\201tudes",Space,Str "M\233di\233vales",Str "."],Para [Str "Thorndike",Str ",",Space,Str "Lynn",Str ".",Space,Str "1955",Str ".",Space,Str "\8220",Str "Unde",Space,Str "versus",Str ".",Str "\8221",Space,Emph [Str "Traditio"],Space,Str "11",Str ":",Space,Str "163\8211\&93",Str "."]]]
+ tests/issue70.in.native view
@@ -0,0 +1,2 @@+Pandoc (Meta {unMeta = fromList [("references",MetaList [MetaMap (fromList [("ISBN",MetaInlines [Str "9782503531465"]),("author",MetaList [MetaMap (fromList [("family",MetaInlines [Str "Dinkova-Bruun"]),("given",MetaInlines [Str "Greti"])])]),("call-number",MetaInlines [Str "CB351",Space,Str ".F564",Space,Str "2009"]),("collection-number",MetaInlines [Str "50"]),("collection-title",MetaInlines [Str "Textes",Space,Str "et",Space,Str "\233tudes",Space,Str "du",Space,Str "moyen",Space,Str "\226ge"]),("container-title",MetaInlines [Str "Florilegium",Space,Str "mediaevale:",Space,Str "\201tudes",Space,Str "offertes",Space,Str "\224",Space,Str "Jacqueline",Space,Str "Hamesse",Space,Str "\224",Space,Str "l\8217occasion",Space,Str "de",Space,Str "son",Space,Str "\233m\233ritat"]),("editor",MetaList [MetaMap (fromList [("family",MetaInlines [Str "Meirinhos"]),("given",MetaInlines [Str "Jos\233",Space,Str "Francisco"])]),MetaMap (fromList [("family",MetaInlines [Str "Weijers"]),("given",MetaInlines [Str "Olga"])])]),("event-place",MetaInlines [Str "Louvain-la-Neuve"]),("first-reference-note-number",MetaString "1"),("id",MetaInlines [Str "bruun:2009samuel"]),("issued",MetaMap (fromList [("date-parts",MetaList [MetaList [MetaString "2009"]])])),("language",MetaInlines [Str "French"]),("page",MetaInlines [Str "155\8211\&174"]),("publisher",MetaInlines [Str "F\233d\233ration",Space,Str "Internationale",Space,Str "des",Space,Str "Instituts",Space,Str "d\8217\201tudes",Space,Str "M\233di\233vales"]),("publisher-place",MetaInlines [Str "Louvain-la-Neuve"]),("source",MetaInlines [Str "Library",Space,Str "of",Space,Str "Congress",Space,Str "ISBN"]),("title",MetaInlines [Str "Samuel",Space,Str "Presbyter",Space,Str "and",Space,Str "the",Space,Str "Glosses",Space,Str "to",Space,Str "His",Space,Str "Versification",Space,Str "of",Space,Str "Psalm",Space,Str "1:",Space,Str "An",Space,Str "Anti-Church",Space,Str "Invective?"]),("title-short",MetaInlines [Str "Samuel",Space,Str "Presbyter"]),("type",MetaInlines [Str "chapter"])]),MetaMap (fromList [("ISSN",MetaInlines [Str "0362-1529"]),("author",MetaList [MetaMap (fromList [("family",MetaInlines [Str "Thorndike"]),("given",MetaInlines [Str "Lynn"])])]),("container-title",MetaInlines [Str "Traditio"]),("first-reference-note-number",MetaString "1"),("id",MetaInlines [Str "thorndike:1955unde"]),("issued",MetaMap (fromList [("date-parts",MetaList [MetaList [MetaString "1955"]])])),("language",MetaInlines [Str "Latin"]),("note",MetaInlines [Str "ArticleType:",Space,Str "research-article",Space,Str "/",Space,Str "Full",Space,Str "publication",Space,Str "date:",Space,Str "1955",Space,Str "/",Space,Str "Copyright",Space,Str "\169",Space,Str "1955",Space,Str "Fordham",Space,Str "University"]),("page",MetaInlines [Str "163\8211\&193"]),("source",MetaInlines [Str "JSTOR"]),("title",MetaInlines [Str "Unde",Space,Str "versus"]),("type",MetaInlines [Str "article-journal"]),("volume",MetaInlines [Str "11"])])])]})+[Para [Cite [Citation {citationId = "thorndike:1955unde", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0},Citation {citationId = "bruun:2009samuel", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@thorndike:1955unde;",Space,Str "@bruun:2009samuel]"]]]
tests/no-author.expected.native view
@@ -1,3 +1,3 @@-Pandoc (Meta {unMeta = fromList [("references",MetaList [MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item1"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "A"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item2"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "b"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item3"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "c"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item4"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "d"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item5"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "e"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item4"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "d"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Newspaper"]),("id",MetaInlines [Str "item5"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "e"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Newspaper"]),("id",MetaInlines [Str "item6"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "f"]),("type",MetaInlines [Str "article-magazine"])])])]})-[Para [Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [Str "p.",Space,Str "3"], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 1}] [Str "(",Str "\8220",Str "Title",Space,Str "A",Str "\8221",Space,Str "2012",Str ",",Space,Str "3",Str ")"],Str ",",Space,Cite [Citation {citationId = "item2", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 2}] [Str "(",Str "\8220",Str "Title",Space,Str "B",Str "\8221",Space,Str "2012",Str ")"],Str ",",Space,Cite [Citation {citationId = "item3", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 3}] [Str "(",Str "\8220",Str "Title",Space,Str "C",Str "\8221",Space,Str "2012",Str ")"],Str ",",Space,Cite [Citation {citationId = "item4", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 4}] [Str "(",Str "\8220",Str "Title",Space,Str "d",Str "\8221",Space,Str "2012",Str ")"],Str ",",Space,Cite [Citation {citationId = "item5", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 5}] [Str "(",Str "\8220",Str "Title",Space,Str "E",Str "\8221",Space,Str "2012",Str ")"],Str ",",Space,Cite [Citation {citationId = "item6", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 6}] [Str "(",Str "\8220",Str "Title",Space,Str "F",Str "\8221",Space,Str "2012",Str ")"]]-,Div ("",["references"],[]) [Para [Str "\8220",Str "Title",Space,Str "A",Str ".",Str "\8221",Space,Str "2012",Str ".",Space,Emph [Str "Magazine"],Str "."],Para [Str "\8220",Str "Title",Space,Str "B",Str ".",Str "\8221",Space,Str "2012",Str ".",Space,Emph [Str "Magazine"],Str "."],Para [Str "\8220",Str "Title",Space,Str "C",Str ".",Str "\8221",Space,Str "2012",Str ".",Space,Emph [Str "Magazine"],Str "."],Para [Str "\8220",Str "Title",Space,Str "d",Str ".",Str "\8221",Space,Str "2012",Str ".",Space,Emph [Str "Magazine"],Str "."],Para [Str "\8220",Str "Title",Space,Str "E",Str ".",Str "\8221",Space,Str "2012",Str ".",Space,Emph [Str "Magazine"],Str "."],Para [Str "\8220",Str "Title",Space,Str "F",Str ".",Str "\8221",Space,Str "2012",Str ".",Space,Emph [Str "Newspaper"],Str "."]]]+Pandoc (Meta {unMeta = fromList [("references",MetaList [MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item1"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "A"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item2"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "B"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item3"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "C"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item4"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "D"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item5"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "E"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item4"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "D"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Newspaper"]),("id",MetaInlines [Str "item5"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "E"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Newspaper"]),("id",MetaInlines [Str "item6"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "F"]),("type",MetaInlines [Str "article-magazine"])])])]})+[Para [Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [Str "p.",Space,Str "3"], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 1}] [Str "(",Str "\8220",Str "Title",Space,Str "A",Str "\8221",Space,Str "2012",Str ",",Space,Str "3",Str ")"],Str ",",Space,Cite [Citation {citationId = "item2", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 2}] [Str "(",Str "\8220",Str "Title",Space,Str "B",Str "\8221",Space,Str "2012",Str ")"],Str ",",Space,Cite [Citation {citationId = "item3", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 3}] [Str "(",Str "\8220",Str "Title",Space,Str "C",Str "\8221",Space,Str "2012",Str ")"],Str ",",Space,Cite [Citation {citationId = "item4", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 4}] [Str "(",Str "\8220",Str "Title",Space,Str "D",Str "\8221",Space,Str "2012",Str ")"],Str ",",Space,Cite [Citation {citationId = "item5", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 5}] [Str "(",Str "\8220",Str "Title",Space,Str "E",Str "\8221",Space,Str "2012",Str ")"],Str ",",Space,Cite [Citation {citationId = "item6", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 6}] [Str "(",Str "\8220",Str "Title",Space,Str "F",Str "\8221",Space,Str "2012",Str ")"]]+,Div ("",["references"],[]) [Para [Str "\8220",Str "Title",Space,Str "A",Str ".",Str "\8221",Space,Str "2012",Str ".",Space,Emph [Str "Magazine"],Str "."],Para [Str "\8220",Str "Title",Space,Str "B",Str ".",Str "\8221",Space,Str "2012",Str ".",Space,Emph [Str "Magazine"],Str "."],Para [Str "\8220",Str "Title",Space,Str "C",Str ".",Str "\8221",Space,Str "2012",Str ".",Space,Emph [Str "Magazine"],Str "."],Para [Str "\8220",Str "Title",Space,Str "D",Str ".",Str "\8221",Space,Str "2012",Str ".",Space,Emph [Str "Magazine"],Str "."],Para [Str "\8220",Str "Title",Space,Str "E",Str ".",Str "\8221",Space,Str "2012",Str ".",Space,Emph [Str "Magazine"],Str "."],Para [Str "\8220",Str "Title",Space,Str "F",Str ".",Str "\8221",Space,Str "2012",Str ".",Space,Emph [Str "Newspaper"],Str "."]]]
tests/no-author.in.native view
@@ -1,2 +1,2 @@-Pandoc (Meta {unMeta = fromList [("references",MetaList [MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item1"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "A"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item2"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "b"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item3"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "c"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item4"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "d"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item5"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "e"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item4"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "d"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Newspaper"]),("id",MetaInlines [Str "item5"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "e"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Newspaper"]),("id",MetaInlines [Str "item6"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "f"]),("type",MetaInlines [Str "article-magazine"])])])]})+Pandoc (Meta {unMeta = fromList [("references",MetaList [MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item1"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "A"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item2"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "B"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item3"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "C"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item4"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "D"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item5"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "E"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Magazine"]),("id",MetaInlines [Str "item4"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "D"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Newspaper"]),("id",MetaInlines [Str "item5"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "E"]),("type",MetaInlines [Str "article-magazine"])]),MetaMap (fromList [("container-title",MetaInlines [Str "Newspaper"]),("id",MetaInlines [Str "item6"]),("issued",MetaMap (fromList [("year",MetaString "2012")])),("title",MetaInlines [Str "Title",Space,Str "F"]),("type",MetaInlines [Str "article-magazine"])])])]}) [Para [Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [Str "p.",Space,Str "3"], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@item1",Space,Str "[p.",Space,Str "3]"],Str ",",Space,Cite [Citation {citationId = "item2", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@item2"],Str ",",Space,Cite [Citation {citationId = "item3", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@item3"],Str ",",Space,Cite [Citation {citationId = "item4", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@item4"],Str ",",Space,Cite [Citation {citationId = "item5", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@item5"],Str ",",Space,Cite [Citation {citationId = "item6", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@item6"]]]
tests/test-pandoc-citeproc.hs view
@@ -21,10 +21,11 @@ import qualified Data.Yaml as Yaml import Text.Pandoc (writeNative, writeHtmlString, readNative, def) import Text.CSL.Pandoc (processCites')+import Data.List (isSuffixOf) main = do testnames <- fmap (map (dropExtension . takeBaseName) .- filter (\x -> takeExtension x == ".native")) $+ filter (".in.native" `isSuffixOf`)) $ getDirectoryContents "tests" citeprocTests <- mapM testCase testnames fs <- filter (\f -> takeExtension f `elem` [".bibtex",".biblatex"])