@@ -426,65 +426,61 @@ inlineCommands = M.fromList $
426426 pure (link url "" lab))
427427 , ("includegraphics", skipopts *> (unescapeURL <$> braced) >>=
428428 (\src -> pure (image src "" (str "image"))))
429− , ("cite", citation "cite" AuthorInText False)
430− , ("citep", citation "citep" NormalCitation False)
431− , ("citep*", citation "citep*" NormalCitation False)
432− , ("citeal", citation "citeal" NormalCitation False)
433− , ("citealp", citation "citealp" NormalCitation False)
434− , ("citealp*", citation "citealp*" NormalCitation False)
435− , ("autocite", citation "autocite" NormalCitation False)
436− , ("footcite", inNote <$> citation "footcite" NormalCitation False)
437− , ("parencite", citation "parencite" NormalCitation False)
438− , ("supercite", citation "supercite" NormalCitation False)
439− , ("footcitetext", inNote <$> citation "footcitetext" NormalCitation False)
440− , ("citeyearpar", citation "citeyearpar" SuppressAuthor False)
441− , ("citeyear", citation "citeyear" SuppressAuthor False)
442− , ("autocite*", citation "autocite*" SuppressAuthor False)
443− , ("cite*", citation "cite*" SuppressAuthor False)
444− , ("parencite*", citation "parencite*" SuppressAuthor False)
445− , ("textcite", citation "textcite" AuthorInText False)
446− , ("citet", citation "citet" AuthorInText False)
447− , ("citet*", citation "citet*" AuthorInText False)
448− , ("citealt", citation "citealt" AuthorInText False)
449− , ("citealt*", citation "citealt*" AuthorInText False)
450− , ("textcites", citation "textcites" AuthorInText True)
451− , ("cites", citation "cites" NormalCitation True)
452− , ("autocites", citation "autocites" NormalCitation True)
453− , ("footcites", inNote <$> citation "footcites" NormalCitation True)
454− , ("parencites", citation "parencites" NormalCitation True)
455− , ("supercites", citation "supercites" NormalCitation True)
456− , ("footcitetexts", inNote <$> citation "footcitetexts" NormalCitation True)
457− , ("Autocite", citation "Autocite" NormalCitation False)
458− , ("Footcite", citation "Footcite" NormalCitation False)
459− , ("Parencite", citation "Parencite" NormalCitation False)
460− , ("Supercite", citation "Supercite" NormalCitation False)
461− , ("Footcitetext", inNote <$> citation "Footcitetext" NormalCitation False)
462− , ("Citeyearpar", citation "Citeyearpar" SuppressAuthor False)
463− , ("Citeyear", citation "Citeyear" SuppressAuthor False)
464− , ("Autocite*", citation "Autocite*" SuppressAuthor False)
465− , ("Cite*", citation "Cite*" SuppressAuthor False)
466− , ("Parencite*", citation "Parencite*" SuppressAuthor False)
467− , ("Textcite", citation "Textcite" AuthorInText False)
468− , ("Textcites", citation "Textcites" AuthorInText True)
469− , ("Cites", citation "Cites" NormalCitation True)
470− , ("Autocites", citation "Autocites" NormalCitation True)
471− , ("Footcites", citation "Footcites" NormalCitation True)
472− , ("Parencites", citation "Parencites" NormalCitation True)
473− , ("Supercites", citation "Supercites" NormalCitation True)
474− , ("Footcitetexts", inNote <$> citation "Footcitetexts" NormalCitation True)
429+ , ("cite", citation "cite" AuthorInText False False)
430+ , ("citep", citation "citep" NormalCitation False False)
431+ , ("citep*", citation "citep*" NormalCitation False False)
432+ , ("citeal", citation "citeal" NormalCitation False False)
433+ , ("citealp", citation "citealp" NormalCitation False False)
434+ , ("citealp*", citation "citealp*" NormalCitation False False)
435+ , ("autocite", citation "autocite" NormalCitation False False)
436+ , ("footcite", citation "footcite" NormalCitation False True)
437+ , ("parencite", citation "parencite" NormalCitation False False)
438+ , ("supercite", citation "supercite" NormalCitation False False)
439+ , ("footcitetext", citation "footcitetext" NormalCitation False True)
440+ , ("citeyearpar", citation "citeyearpar" SuppressAuthor False False)
441+ , ("citeyear", citation "citeyear" SuppressAuthor False False)
442+ , ("autocite*", citation "autocite*" SuppressAuthor False False)
443+ , ("cite*", citation "cite*" SuppressAuthor False False)
444+ , ("parencite*", citation "parencite*" SuppressAuthor False False)
445+ , ("textcite", citation "textcite" AuthorInText False False)
446+ , ("citet", citation "citet" AuthorInText False False)
447+ , ("citet*", citation "citet*" AuthorInText False False)
448+ , ("citealt", citation "citealt" AuthorInText False False)
449+ , ("citealt*", citation "citealt*" AuthorInText False False)
450+ , ("textcites", citation "textcites" AuthorInText True False)
451+ , ("cites", citation "cites" NormalCitation True False)
452+ , ("autocites", citation "autocites" NormalCitation True False)
453+ , ("footcites", citation "footcites" NormalCitation True True)
454+ , ("parencites", citation "parencites" NormalCitation True False)
455+ , ("supercites", citation "supercites" NormalCitation True False)
456+ , ("footcitetexts", citation "footcitetexts" NormalCitation True True)
457+ , ("Autocite", citation "Autocite" NormalCitation False False)
458+ , ("Footcite", citation "Footcite" NormalCitation False False)
459+ , ("Parencite", citation "Parencite" NormalCitation False False)
460+ , ("Supercite", citation "Supercite" NormalCitation False False)
461+ , ("Footcitetext", citation "Footcitetext" NormalCitation False True)
462+ , ("Citeyearpar", citation "Citeyearpar" SuppressAuthor False False)
463+ , ("Citeyear", citation "Citeyear" SuppressAuthor False False)
464+ , ("Autocite*", citation "Autocite*" SuppressAuthor False False)
465+ , ("Cite*", citation "Cite*" SuppressAuthor False False)
466+ , ("Parencite*", citation "Parencite*" SuppressAuthor False False)
467+ , ("Textcite", citation "Textcite" AuthorInText False False)
468+ , ("Textcites", citation "Textcites" AuthorInText True False)
469+ , ("Cites", citation "Cites" NormalCitation True False)
470+ , ("Autocites", citation "Autocites" NormalCitation True False)
471+ , ("Footcites", citation "Footcites" NormalCitation True False)
472+ , ("Parencites", citation "Parencites" NormalCitation True False)
473+ , ("Supercites", citation "Supercites" NormalCitation True False)
474+ , ("Footcitetexts", citation "Footcitetexts" NormalCitation True True)
475475 , ("citetext", complexNatbibCitation NormalCitation)
476476 , ("citeauthor", (try (tok *> optional sp *> controlSeq "citetext") *>
477477 complexNatbibCitation AuthorInText)
478− <|> citation "citeauthor" AuthorInText False)
478+ <|> citation "citeauthor" AuthorInText False False)
479479 ] ++ map ignoreInlines
480480 -- these commands will be ignored unless --parse-raw is specified,
481481 -- in which case they will appear as raw latex blocks:
482482 [ "noindent", "index", "nocite" ]
483483
484−inNote :: Inlines -> Inlines
485−inNote ils =
486− note $ para $ ils <> str "."
487−
488484unescapeURL :: String -> String
489485unescapeURL ('\\':x:xs) | isEscapable x = x:unescapeURL xs
490486 where isEscapable '%' = True
@@ -899,6 +895,7 @@ simpleCiteArgs = try $ do
899895 , citationSuffix = []
900896 , citationMode = NormalCitation
901897 , citationHash = 0
898+ , citationSuppressParens = False
902899 , citationNoteNum = 0
903900 }
904901 return $ addPrefix pre $ addSuffix suf $ map conv keys
@@ -917,10 +914,14 @@ cites mode multi = try $ do
917914 AuthorInText -> c {citationMode = mode} : cs
918915 _ -> map (\a -> a {citationMode = mode}) (c:cs)
919916
920−citation :: String -> CitationMode -> Bool -> LP Inlines
921−citation name mode multi = do
922− (c,raw) <- withRaw $ cites mode multi
923− return $ cite c (rawInline "latex" $ "\\" ++ name ++ raw)
917+citation :: String -> CitationMode -> Bool -> Bool -> LP Inlines
918+citation name mode multi inNote = do
919+ (cs,raw) <- withRaw $ cites mode multi
920+ let cs' = if inNote then map (\c -> c{ citationSuppressParens = True }) cs else cs
921+ let cit = cite cs' (rawInline "latex" $ "\\" ++ name ++ raw)
922+ if inNote
923+ then return $ note $ para $ cit <> str "."
924+ else return cit
924925
925926complexNatbibCitation :: CitationMode -> LP Inlines
926927complexNatbibCitation mode = try $ do