@@ -92,8 +92,16 @@ mvPunct (Space : x : ys) | isNote x = x : ys
9292mvPunct xs = xs
9393
9494sanitize :: [Inline] -> [Inline]
95−sanitize xs | endWithPunct xs = toCapital xs
96− | otherwise = toCapital (xs ++ [Str "."])
95+sanitize xs | endWithPunct xs = toCapital' xs
96+ | otherwise = toCapital' (xs ++ [Str "."])
97+
98+-- NOTE: toCapital' works around a bug in toCapital from citeproc-hs 0.3.4.
99+-- When citeproc-hs is fixed, we can return to using toCapital in sanitize.
100+toCapital' :: [Inline] -> [Inline]
101+toCapital' [] = []
102+toCapital' xs = case toCapital xs of
103+ [] -> xs
104+ ys -> ys
97105
98106deNote :: [Block] -> [Block]
99107deNote = topDown go