packages feed

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 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"])