From eac4abe36f705b852726eeceee928eb9ead6ceb0 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sat, 27 Nov 2010 11:28:28 -0800 Subject: Biblio: If locator ends with ",", add it to the suffix. --- src/Text/Pandoc/Biblio.hs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Text/Pandoc/Biblio.hs b/src/Text/Pandoc/Biblio.hs index 717084ca7..efaafd77d 100644 --- a/src/Text/Pandoc/Biblio.hs +++ b/src/Text/Pandoc/Biblio.hs @@ -174,10 +174,18 @@ toCslCite c locatorWords :: [Inline] -> (String, [Inline]) locatorWords inp = - case parse (liftM2 (,) pLocator getInput) "suffix" inp of + case parse pLocatorWords "suffix" inp of Right r -> r Left _ -> ("",inp) +pLocatorWords :: GenParser Inline st (String, [Inline]) +pLocatorWords = do + l <- pLocator + s <- getInput -- rest is suffix + if length l > 0 && last l == ',' + then return (init l, Str "," : s) + else return (l, s) + pMatch :: (Inline -> Bool) -> GenParser Inline st Inline pMatch condition = try $ do t <- anyToken -- cgit v1.2.3