git.iko.soy/typeable/pandoc
on master help sign in
Revert "LaTeX reader: Use new suppressParens option for footnote citations."

This reverts commit 7499499b68934ae6f3418940328c7fc2bd9fcadd. Conflicts: src/Text/Pandoc/Readers/LaTeX.hs

commitcfab8eaecb77f8c3a50bc7725d2cb4f2f3eca225 authorJohn MacFarlane <fiddlosopher@gmail.com> dateSun 21 Oct 2012, 23:16 (14 years ago) parentbfddcb4
4 files changed+77−82
src/Text/Pandoc/Biblio.hs+2−3 src/Text/Pandoc/Readers/LaTeX.hs+55−56 src/Text/Pandoc/Readers/Markdown.hs+14−16 tests/Tests/Readers/LaTeX.hs+6−7
src/Text/Pandoc/Biblio.hs+2−3
@@ -111,10 +111,10 @@ getCitation i | Cite t _ <- i = [t]
111111 | otherwise = []
112112
113113setHash :: Citation -> State Int Citation
114−setHash c = do
114+setHash (Citation i p s cm nn _) = do
115115 ident <- get
116116 put $ ident + 1
117− return c{ citationHash = ident }
117+ return $ Citation i p s cm nn ident
118118
119119toCslCite :: Citation -> CSL.Cite
120120toCslCite c
@@ -140,7 +140,6 @@ toCslCite c
140140 , CSL.citeNoteNumber = show $ citationNoteNum c
141141 , CSL.authorInText = fst citMode
142142 , CSL.suppressAuthor = snd citMode
143− , CSL.suppressParens = citationSuppressParens c
144143 , CSL.citeHash = citationHash c
145144 }
146145
src/Text/Pandoc/Readers/LaTeX.hs+55−56
@@ -427,61 +427,65 @@ inlineCommands = M.fromList $
427427 , ("includegraphics", skipopts *> (unescapeURL <$> braced) >>=
428428 (\src -> pure (image src "" (str "image"))))
429429 , ("enquote", enquote)
430− , ("cite", citation "cite" AuthorInText False False)
431− , ("citep", citation "citep" NormalCitation False False)
432− , ("citep*", citation "citep*" NormalCitation False False)
433− , ("citeal", citation "citeal" NormalCitation False False)
434− , ("citealp", citation "citealp" NormalCitation False False)
435− , ("citealp*", citation "citealp*" NormalCitation False False)
436− , ("autocite", citation "autocite" NormalCitation False False)
437− , ("footcite", citation "footcite" NormalCitation False True)
438− , ("parencite", citation "parencite" NormalCitation False False)
439− , ("supercite", citation "supercite" NormalCitation False False)
440− , ("footcitetext", citation "footcitetext" NormalCitation False True)
441− , ("citeyearpar", citation "citeyearpar" SuppressAuthor False False)
442− , ("citeyear", citation "citeyear" SuppressAuthor False False)
443− , ("autocite*", citation "autocite*" SuppressAuthor False False)
444− , ("cite*", citation "cite*" SuppressAuthor False False)
445− , ("parencite*", citation "parencite*" SuppressAuthor False False)
446− , ("textcite", citation "textcite" AuthorInText False False)
447− , ("citet", citation "citet" AuthorInText False False)
448− , ("citet*", citation "citet*" AuthorInText False False)
449− , ("citealt", citation "citealt" AuthorInText False False)
450− , ("citealt*", citation "citealt*" AuthorInText False False)
451− , ("textcites", citation "textcites" AuthorInText True False)
452− , ("cites", citation "cites" NormalCitation True False)
453− , ("autocites", citation "autocites" NormalCitation True False)
454− , ("footcites", citation "footcites" NormalCitation True True)
455− , ("parencites", citation "parencites" NormalCitation True False)
456− , ("supercites", citation "supercites" NormalCitation True False)
457− , ("footcitetexts", citation "footcitetexts" NormalCitation True True)
458− , ("Autocite", citation "Autocite" NormalCitation False False)
459− , ("Footcite", citation "Footcite" NormalCitation False False)
460− , ("Parencite", citation "Parencite" NormalCitation False False)
461− , ("Supercite", citation "Supercite" NormalCitation False False)
462− , ("Footcitetext", citation "Footcitetext" NormalCitation False True)
463− , ("Citeyearpar", citation "Citeyearpar" SuppressAuthor False False)
464− , ("Citeyear", citation "Citeyear" SuppressAuthor False False)
465− , ("Autocite*", citation "Autocite*" SuppressAuthor False False)
466− , ("Cite*", citation "Cite*" SuppressAuthor False False)
467− , ("Parencite*", citation "Parencite*" SuppressAuthor False False)
468− , ("Textcite", citation "Textcite" AuthorInText False False)
469− , ("Textcites", citation "Textcites" AuthorInText True False)
470− , ("Cites", citation "Cites" NormalCitation True False)
471− , ("Autocites", citation "Autocites" NormalCitation True False)
472− , ("Footcites", citation "Footcites" NormalCitation True False)
473− , ("Parencites", citation "Parencites" NormalCitation True False)
474− , ("Supercites", citation "Supercites" NormalCitation True False)
475− , ("Footcitetexts", citation "Footcitetexts" NormalCitation True True)
430+ , ("cite", citation "cite" AuthorInText False)
431+ , ("citep", citation "citep" NormalCitation False)
432+ , ("citep*", citation "citep*" NormalCitation False)
433+ , ("citeal", citation "citeal" NormalCitation False)
434+ , ("citealp", citation "citealp" NormalCitation False)
435+ , ("citealp*", citation "citealp*" NormalCitation False)
436+ , ("autocite", citation "autocite" NormalCitation False)
437+ , ("footcite", inNote <$> citation "footcite" NormalCitation False)
438+ , ("parencite", citation "parencite" NormalCitation False)
439+ , ("supercite", citation "supercite" NormalCitation False)
440+ , ("footcitetext", inNote <$> citation "footcitetext" NormalCitation False)
441+ , ("citeyearpar", citation "citeyearpar" SuppressAuthor False)
442+ , ("citeyear", citation "citeyear" SuppressAuthor False)
443+ , ("autocite*", citation "autocite*" SuppressAuthor False)
444+ , ("cite*", citation "cite*" SuppressAuthor False)
445+ , ("parencite*", citation "parencite*" SuppressAuthor False)
446+ , ("textcite", citation "textcite" AuthorInText False)
447+ , ("citet", citation "citet" AuthorInText False)
448+ , ("citet*", citation "citet*" AuthorInText False)
449+ , ("citealt", citation "citealt" AuthorInText False)
450+ , ("citealt*", citation "citealt*" AuthorInText False)
451+ , ("textcites", citation "textcites" AuthorInText True)
452+ , ("cites", citation "cites" NormalCitation True)
453+ , ("autocites", citation "autocites" NormalCitation True)
454+ , ("footcites", inNote <$> citation "footcites" NormalCitation True)
455+ , ("parencites", citation "parencites" NormalCitation True)
456+ , ("supercites", citation "supercites" NormalCitation True)
457+ , ("footcitetexts", inNote <$> citation "footcitetexts" NormalCitation True)
458+ , ("Autocite", citation "Autocite" NormalCitation False)
459+ , ("Footcite", citation "Footcite" NormalCitation False)
460+ , ("Parencite", citation "Parencite" NormalCitation False)
461+ , ("Supercite", citation "Supercite" NormalCitation False)
462+ , ("Footcitetext", inNote <$> citation "Footcitetext" NormalCitation False)
463+ , ("Citeyearpar", citation "Citeyearpar" SuppressAuthor False)
464+ , ("Citeyear", citation "Citeyear" SuppressAuthor False)
465+ , ("Autocite*", citation "Autocite*" SuppressAuthor False)
466+ , ("Cite*", citation "Cite*" SuppressAuthor False)
467+ , ("Parencite*", citation "Parencite*" SuppressAuthor False)
468+ , ("Textcite", citation "Textcite" AuthorInText False)
469+ , ("Textcites", citation "Textcites" AuthorInText True)
470+ , ("Cites", citation "Cites" NormalCitation True)
471+ , ("Autocites", citation "Autocites" NormalCitation True)
472+ , ("Footcites", citation "Footcites" NormalCitation True)
473+ , ("Parencites", citation "Parencites" NormalCitation True)
474+ , ("Supercites", citation "Supercites" NormalCitation True)
475+ , ("Footcitetexts", inNote <$> citation "Footcitetexts" NormalCitation True)
476476 , ("citetext", complexNatbibCitation NormalCitation)
477477 , ("citeauthor", (try (tok *> optional sp *> controlSeq "citetext") *>
478478 complexNatbibCitation AuthorInText)
479− <|> citation "citeauthor" AuthorInText False False)
479+ <|> citation "citeauthor" AuthorInText False)
480480 ] ++ map ignoreInlines
481481 -- these commands will be ignored unless --parse-raw is specified,
482482 -- in which case they will appear as raw latex blocks:
483483 [ "noindent", "index", "nocite" ]
484484
485+inNote :: Inlines -> Inlines
486+inNote ils =
487+ note $ para $ ils <> str "."
488+
485489unescapeURL :: String -> String
486490unescapeURL ('\\':x:xs) | isEscapable x = x:unescapeURL xs
487491 where isEscapable '%' = True
@@ -904,7 +908,6 @@ simpleCiteArgs = try $ do
904908 , citationSuffix = []
905909 , citationMode = NormalCitation
906910 , citationHash = 0
907− , citationSuppressParens = False
908911 , citationNoteNum = 0
909912 }
910913 return $ addPrefix pre $ addSuffix suf $ map conv keys
@@ -923,14 +926,10 @@ cites mode multi = try $ do
923926 AuthorInText -> c {citationMode = mode} : cs
924927 _ -> map (\a -> a {citationMode = mode}) (c:cs)
925928
926−citation :: String -> CitationMode -> Bool -> Bool -> LP Inlines
927−citation name mode multi inNote = do
928− (cs,raw) <- withRaw $ cites mode multi
929− let cs' = if inNote then map (\c -> c{ citationSuppressParens = True }) cs else cs
930− let cit = cite cs' (rawInline "latex" $ "\\" ++ name ++ raw)
931− if inNote
932− then return $ note $ para $ cit <> str "."
933− else return cit
929+citation :: String -> CitationMode -> Bool -> LP Inlines
930+citation name mode multi = do
931+ (c,raw) <- withRaw $ cites mode multi
932+ return $ cite c (rawInline "latex" $ "\\" ++ name ++ raw)
934933
935934complexNatbibCitation :: CitationMode -> LP Inlines
936935complexNatbibCitation mode = try $ do
src/Text/Pandoc/Readers/Markdown.hs+14−16
@@ -1554,13 +1554,12 @@ cite = do
15541554textualCite :: Parser [Char] ParserState (F [Citation])
15551555textualCite = try $ do
15561556 (_, key) <- citeKey
1557− let first = Citation{ citationId = key
1558− , citationPrefix = []
1559− , citationSuffix = []
1560− , citationMode = AuthorInText
1561− , citationNoteNum = 0
1562− , citationSuppressParens = False
1563− , citationHash = 0
1557+ let first = Citation{ citationId = key
1558+ , citationPrefix = []
1559+ , citationSuffix = []
1560+ , citationMode = AuthorInText
1561+ , citationNoteNum = 0
1562+ , citationHash = 0
15641563 }
15651564 mbrest <- option Nothing $ try $ spnl >> Just <$> normalCite
15661565 case mbrest of
@@ -1625,15 +1624,14 @@ citation = try $ do
16251624 return $ do
16261625 x <- pref
16271626 y <- suff
1628− return $ Citation{ citationId = key
1629− , citationPrefix = B.toList x
1630− , citationSuffix = B.toList y
1631− , citationMode = if suppress_author
1632− then SuppressAuthor
1633− else NormalCitation
1634− , citationNoteNum = 0
1635− , citationSuppressParens = False
1636− , citationHash = 0
1627+ return $ Citation{ citationId = key
1628+ , citationPrefix = B.toList x
1629+ , citationSuffix = B.toList y
1630+ , citationMode = if suppress_author
1631+ then SuppressAuthor
1632+ else NormalCitation
1633+ , citationNoteNum = 0
1634+ , citationHash = 0
16371635 }
16381636
16391637smart :: Parser [Char] ParserState (F Inlines)
tests/Tests/Readers/LaTeX.hs+6−7
@@ -62,13 +62,12 @@ tests = [ testGroup "basic"
6262 ]
6363
6464baseCitation :: Citation
65−baseCitation = Citation{ citationId = "item1"
66− , citationPrefix = []
67− , citationSuffix = []
68− , citationMode = AuthorInText
69− , citationNoteNum = 0
70− , citationSuppressParens = False
71− , citationHash = 0 }
65+baseCitation = Citation{ citationId = "item1"
66+ , citationPrefix = []
67+ , citationSuffix = []
68+ , citationMode = AuthorInText
69+ , citationNoteNum = 0
70+ , citationHash = 0 }
7271
7372rt :: String -> Inlines
7473rt = rawInline "latex"