@@ -31,7 +31,7 @@ module Text.Pandoc.Biblio ( processBiblio ) where
32import Data.List
32import Data.List
33import Data.Unique
33import Data.Unique
34−import Data.Char ( isDigit )
34+import Data.Char ( isDigit, isPunctuation )
35import qualified Data.Map as M
35import qualified Data.Map as M
36import Text.CSL hiding ( Cite(..), Citation(..) )
36import Text.CSL hiding ( Cite(..), Citation(..) )
37import qualified Text.CSL as CSL ( Cite(..) )
37import qualified Text.CSL as CSL ( Cite(..) )
@@ -164,9 +164,13 @@ toCslCite c
164 AuthorInText -> (True, False)
164 AuthorInText -> (True, False)
165 SuppressAuthor -> (False,True )
165 SuppressAuthor -> (False,True )
166 NormalCitation -> (False,False)
166 NormalCitation -> (False,False)
169+ (Str (y:_) : _) | isPunctuation y -> s
170+ _ -> Str "," : Space : s
167 in emptyCite { CSL.citeId = citationId c
171 in emptyCite { CSL.citeId = citationId c
168 , CSL.citePrefix = PandocText $ citationPrefix c
172 , CSL.citePrefix = PandocText $ citationPrefix c
169− , CSL.citeSuffix = PandocText $ s
173+ , CSL.citeSuffix = PandocText $ s'
170 , CSL.citeLabel = la
174 , CSL.citeLabel = la
171 , CSL.citeLocator = lo
175 , CSL.citeLocator = lo
172 , CSL.citeNoteNumber = show $ citationNoteNum c
176 , CSL.citeNoteNumber = show $ citationNoteNum c