Markdown reader: Set citationNoteNum accurately in citations.
This also changes stateLastNoteNumber -> stateNoteNumber.
This commit is contained in:
parent
b2f3074988
commit
a59ae96062
7 changed files with 49 additions and 28 deletions
|
@ -1137,7 +1137,7 @@ data ParserState = ParserState
|
|||
stateNotes' :: NoteTable', -- ^ List of notes (parsed bodies)
|
||||
stateNoteRefs :: Set.Set Text, -- ^ List of note references used
|
||||
stateInNote :: Bool, -- ^ True if parsing note contents
|
||||
stateLastNoteNumber :: Int, -- ^ Last note number for citations
|
||||
stateNoteNumber :: Int, -- ^ Last note number for citations
|
||||
stateMeta :: Meta, -- ^ Document metadata
|
||||
stateMeta' :: F Meta, -- ^ Document metadata
|
||||
stateCitations :: M.Map Text Text, -- ^ RST-style citations
|
||||
|
@ -1250,7 +1250,7 @@ defaultParserState =
|
|||
stateNotes' = M.empty,
|
||||
stateNoteRefs = Set.empty,
|
||||
stateInNote = False,
|
||||
stateLastNoteNumber = 0,
|
||||
stateNoteNumber = 0,
|
||||
stateMeta = nullMeta,
|
||||
stateMeta' = return nullMeta,
|
||||
stateCitations = M.empty,
|
||||
|
|
|
@ -36,6 +36,7 @@ import Text.Pandoc.Emoji (emojiToInline)
|
|||
import Text.Pandoc.Error
|
||||
import Text.Pandoc.Logging
|
||||
import Text.Pandoc.Options
|
||||
import Text.Pandoc.Walk (walk)
|
||||
import Text.Pandoc.Parsing hiding (tableWith)
|
||||
import Text.Pandoc.Readers.HTML (htmlInBalanced, htmlTag, isBlockTag,
|
||||
isCommentTag, isInlineTag, isTextTag)
|
||||
|
@ -380,6 +381,7 @@ noteBlock = do
|
|||
char ':'
|
||||
optional blankline
|
||||
optional indentSpaces
|
||||
updateState $ \st -> st{ stateInNote = True }
|
||||
first <- rawLines
|
||||
rest <- many $ try $ blanklines >> indentSpaces >> rawLines
|
||||
let raw = T.unlines (first:rest) <> "\n"
|
||||
|
@ -390,7 +392,8 @@ noteBlock = do
|
|||
Just _ -> logMessage $ DuplicateNoteReference ref pos
|
||||
Nothing -> return ()
|
||||
updateState $ \s -> s { stateNotes' =
|
||||
M.insert ref (pos, parsed) oldnotes }
|
||||
M.insert ref (pos, parsed) oldnotes,
|
||||
stateInNote = False }
|
||||
return mempty
|
||||
|
||||
--
|
||||
|
@ -1866,7 +1869,9 @@ note :: PandocMonad m => MarkdownParser m (F Inlines)
|
|||
note = try $ do
|
||||
guardEnabled Ext_footnotes
|
||||
ref <- noteMarker
|
||||
updateState $ \st -> st{ stateNoteRefs = Set.insert ref (stateNoteRefs st) }
|
||||
updateState $ \st -> st{ stateNoteRefs = Set.insert ref (stateNoteRefs st)
|
||||
, stateNoteNumber = stateNoteNumber st + 1 }
|
||||
noteNum <- stateNoteNumber <$> getState
|
||||
return $ do
|
||||
notes <- asksF stateNotes'
|
||||
case M.lookup ref notes of
|
||||
|
@ -1877,13 +1882,21 @@ note = try $ do
|
|||
-- notes, to avoid infinite looping with notes inside
|
||||
-- notes:
|
||||
let contents' = runF contents st{ stateNotes' = M.empty }
|
||||
return $ B.note contents'
|
||||
let addCitationNoteNum (c@Citation{}) =
|
||||
c{ citationNoteNum = noteNum }
|
||||
let adjustCite (Cite cs ils) =
|
||||
Cite (map addCitationNoteNum cs) ils
|
||||
adjustCite x = x
|
||||
return $ B.note $ walk adjustCite contents'
|
||||
|
||||
inlineNote :: PandocMonad m => MarkdownParser m (F Inlines)
|
||||
inlineNote = try $ do
|
||||
guardEnabled Ext_inline_notes
|
||||
char '^'
|
||||
updateState $ \st -> st{ stateInNote = True
|
||||
, stateNoteNumber = stateNoteNumber st + 1 }
|
||||
contents <- inlinesInBalancedBrackets
|
||||
updateState $ \st -> st{ stateInNote = False }
|
||||
return $ B.note . B.para <$> contents
|
||||
|
||||
rawLaTeXInline' :: PandocMonad m => MarkdownParser m (F Inlines)
|
||||
|
@ -2004,6 +2017,12 @@ emoji = try $ do
|
|||
cite :: PandocMonad m => MarkdownParser m (F Inlines)
|
||||
cite = do
|
||||
guardEnabled Ext_citations
|
||||
-- We only use stateNoteNumber for assigning citationNoteNum,
|
||||
-- so we just assume that all citations produce notes.
|
||||
-- citationNoteNum doesn't affect non-note styles.
|
||||
inNote <- stateInNote <$> getState
|
||||
unless inNote $
|
||||
updateState $ \st -> st{ stateNoteNumber = stateNoteNumber st + 1 }
|
||||
textualCite
|
||||
<|> do (cs, raw) <- withRaw normalCite
|
||||
return $ flip B.cite (B.text raw) <$> cs
|
||||
|
@ -2011,13 +2030,14 @@ cite = do
|
|||
textualCite :: PandocMonad m => MarkdownParser m (F Inlines)
|
||||
textualCite = try $ do
|
||||
(suppressAuthor, key) <- citeKey
|
||||
noteNum <- stateNoteNumber <$> getState
|
||||
let first = Citation{ citationId = key
|
||||
, citationPrefix = []
|
||||
, citationSuffix = []
|
||||
, citationMode = if suppressAuthor
|
||||
then SuppressAuthor
|
||||
else AuthorInText
|
||||
, citationNoteNum = 0
|
||||
, citationNoteNum = noteNum
|
||||
, citationHash = 0
|
||||
}
|
||||
mbrest <- option Nothing $ try $ spnl >> Just <$> withRaw normalCite
|
||||
|
@ -2090,6 +2110,7 @@ citation = try $ do
|
|||
pref <- prefix
|
||||
(suppress_author, key) <- citeKey
|
||||
suff <- suffix
|
||||
noteNum <- stateNoteNumber <$> getState
|
||||
return $ do
|
||||
x <- pref
|
||||
y <- suff
|
||||
|
@ -2099,7 +2120,7 @@ citation = try $ do
|
|||
, citationMode = if suppress_author
|
||||
then SuppressAuthor
|
||||
else NormalCitation
|
||||
, citationNoteNum = 0
|
||||
, citationNoteNum = noteNum
|
||||
, citationHash = 0
|
||||
}
|
||||
|
||||
|
|
|
@ -471,7 +471,7 @@ tests = [ testGroup "inline code"
|
|||
, citationPrefix = []
|
||||
, citationSuffix = []
|
||||
, citationMode = AuthorInText
|
||||
, citationNoteNum = 0
|
||||
, citationNoteNum = 1
|
||||
, citationHash = 0
|
||||
}
|
||||
] "@item1")
|
||||
|
@ -481,12 +481,12 @@ tests = [ testGroup "inline code"
|
|||
, citationPrefix = []
|
||||
, citationSuffix = []
|
||||
, citationMode = AuthorInText
|
||||
, citationNoteNum = 0
|
||||
, citationNoteNum = 1
|
||||
, citationHash = 0
|
||||
}
|
||||
] "@1657:huyghens")
|
||||
]
|
||||
, let citation = cite [Citation "cita" [] [] AuthorInText 0 0] (str "@cita")
|
||||
, let citation = cite [Citation "cita" [] [] AuthorInText 1 0] (str "@cita")
|
||||
in testGroup "footnote/link following citation" -- issue #2083
|
||||
[ "footnote" =:
|
||||
T.unlines [ "@cita[^note]"
|
||||
|
@ -523,7 +523,7 @@ tests = [ testGroup "inline code"
|
|||
, "regular citation" =:
|
||||
"@cita [foo]" =?>
|
||||
para (
|
||||
cite [Citation "cita" [] [Str "foo"] AuthorInText 0 0]
|
||||
cite [Citation "cita" [] [Str "foo"] AuthorInText 1 0]
|
||||
(str "@cita" <> space <> str "[foo]")
|
||||
)
|
||||
]
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
% pandoc -t native
|
||||
(@citation
|
||||
^D
|
||||
[Para [Str "(",Cite [Citation {citationId = "citation", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@citation"]]]
|
||||
[Para [Str "(",Cite [Citation {citationId = "citation", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 1, citationHash = 0}] [Str "@citation"]]]
|
||||
```
|
||||
|
||||
```
|
||||
|
|
|
@ -2,5 +2,5 @@
|
|||
% pandoc -t native
|
||||
foo^[bar [@doe]]
|
||||
^D
|
||||
[Para [Str "foo",Note [Para [Str "bar",Space,Cite [Citation {citationId = "doe", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@doe]"]]]]]
|
||||
[Para [Str "foo",Note [Para [Str "bar",Space,Cite [Citation {citationId = "doe", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 1, citationHash = 0}] [Str "[@doe]"]]]]]
|
||||
```
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
[Header 1 ("pandoc-with-citeproc-hs",[],[]) [Str "Pandoc",Space,Str "with",Space,Str "citeproc-hs"]
|
||||
,BulletList
|
||||
[[Para [Cite [Citation {citationId = "nonexistent", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@nonexistent]"]]]
|
||||
,[Para [Cite [Citation {citationId = "nonexistent", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@nonexistent"]]]
|
||||
,[Para [Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@item1"],Space,Str "says",Space,Str "blah."]]
|
||||
,[Para [Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [Str "p.\160\&30"], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@item1",Space,Str "[p.",Space,Str "30]"],Space,Str "says",Space,Str "blah."]]
|
||||
,[Para [Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [Str "p.\160\&30,",Space,Str "with",Space,Str "suffix"], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@item1",Space,Str "[p.",Space,Str "30,",Space,Str "with",Space,Str "suffix]"],Space,Str "says",Space,Str "blah."]]
|
||||
,[Para [Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0},Citation {citationId = "item2", citationPrefix = [], citationSuffix = [Space,Str "p.\160\&30"], citationMode = SuppressAuthor, citationNoteNum = 0, citationHash = 0},Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [Str "see",Space,Str "also"], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "@item1",Space,Str "[-@item2",Space,Str "p.",Space,Str "30;",Space,Str "see",Space,Str "also",Space,Str "@\1087\1091\1085\1082\1090\&3]"],Space,Str "says",Space,Str "blah."]]
|
||||
,[Para [Str "In",Space,Str "a",Space,Str "note.",Note [Para [Cite [Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [], citationSuffix = [Str "p.\160\&12"], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@\1087\1091\1085\1082\1090\&3",Space,Str "[p.",Space,Str "12]"],Space,Str "and",Space,Str "a",Space,Str "citation",Space,Str "without",Space,Str "locators",Space,Cite [Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@\1087\1091\1085\1082\1090\&3]"],Str "."]]]]
|
||||
,[Para [Str "A",Space,Str "citation",Space,Str "group",Space,Cite [Citation {citationId = "item1", citationPrefix = [Str "see"], citationSuffix = [Space,Str "chap.\160\&3"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0},Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [Str "also"], citationSuffix = [Space,Str "p.\160\&34-35"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[see",Space,Str "@item1",Space,Str "chap.",Space,Str "3;",Space,Str "also",Space,Str "@\1087\1091\1085\1082\1090\&3",Space,Str "p.",Space,Str "34-35]"],Str "."]]
|
||||
,[Para [Str "Another",Space,Str "one",Space,Cite [Citation {citationId = "item1", citationPrefix = [Str "see"], citationSuffix = [Space,Str "p.\160\&34-35"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[see",Space,Str "@item1",Space,Str "p.",Space,Str "34-35]"],Str "."]]
|
||||
,[Para [Str "And",Space,Str "another",Space,Str "one",Space,Str "in",Space,Str "a",Space,Str "note.",Note [Para [Str "Some",Space,Str "citations",Space,Cite [Citation {citationId = "item1", citationPrefix = [Str "see"], citationSuffix = [Space,Str "chap.\160\&3"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0},Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0},Citation {citationId = "item2", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[see",Space,Str "@item1",Space,Str "chap.",Space,Str "3;",Space,Str "@\1087\1091\1085\1082\1090\&3;",Space,Str "@item2]"],Str "."]]]]
|
||||
,[Para [Str "Citation",Space,Str "with",Space,Str "a",Space,Str "suffix",Space,Str "and",Space,Str "locator",Space,Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [Space,Str "pp.\160\&33,",Space,Str "35-37,",Space,Str "and",Space,Str "nowhere",Space,Str "else"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@item1",Space,Str "pp.",Space,Str "33,",Space,Str "35-37,",Space,Str "and",Space,Str "nowhere",Space,Str "else]"],Str "."]]
|
||||
,[Para [Str "Citation",Space,Str "with",Space,Str "suffix",Space,Str "only",Space,Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [Space,Str "and",Space,Str "nowhere",Space,Str "else"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@item1",Space,Str "and",Space,Str "nowhere",Space,Str "else]"],Str "."]]
|
||||
,[Para [Str "Now",Space,Str "some",Space,Str "modifiers.",Note [Para [Str "Like",Space,Str "a",Space,Str "citation",Space,Str "without",Space,Str "author:",Space,Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [], citationMode = SuppressAuthor, citationNoteNum = 0, citationHash = 0}] [Str "[-@item1]"],Str ",",Space,Str "and",Space,Str "now",Space,Str "Doe",Space,Str "with",Space,Str "a",Space,Str "locator",Space,Cite [Citation {citationId = "item2", citationPrefix = [], citationSuffix = [Space,Str "p.\160\&44"], citationMode = SuppressAuthor, citationNoteNum = 0, citationHash = 0}] [Str "[-@item2",Space,Str "p.",Space,Str "44]"],Str "."]]]]
|
||||
,[Para [Str "With",Space,Str "some",Space,Str "markup",Space,Cite [Citation {citationId = "item1", citationPrefix = [Emph [Str "see"]], citationSuffix = [Space,Str "p.\160",Strong [Str "32"]], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[*see*",Space,Str "@item1",Space,Str "p.",Space,Str "**32**]"],Str "."]]]
|
||||
[[Para [Cite [Citation {citationId = "nonexistent", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 1, citationHash = 0}] [Str "[@nonexistent]"]]]
|
||||
,[Para [Cite [Citation {citationId = "nonexistent", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 2, citationHash = 0}] [Str "@nonexistent"]]]
|
||||
,[Para [Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 3, citationHash = 0}] [Str "@item1"],Space,Str "says",Space,Str "blah."]]
|
||||
,[Para [Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [Str "p.\160\&30"], citationMode = AuthorInText, citationNoteNum = 4, citationHash = 0}] [Str "@item1",Space,Str "[p.",Space,Str "30]"],Space,Str "says",Space,Str "blah."]]
|
||||
,[Para [Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [Str "p.\160\&30,",Space,Str "with",Space,Str "suffix"], citationMode = AuthorInText, citationNoteNum = 5, citationHash = 0}] [Str "@item1",Space,Str "[p.",Space,Str "30,",Space,Str "with",Space,Str "suffix]"],Space,Str "says",Space,Str "blah."]]
|
||||
,[Para [Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 6, citationHash = 0},Citation {citationId = "item2", citationPrefix = [], citationSuffix = [Space,Str "p.\160\&30"], citationMode = SuppressAuthor, citationNoteNum = 6, citationHash = 0},Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [Str "see",Space,Str "also"], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 6, citationHash = 0}] [Str "@item1",Space,Str "[-@item2",Space,Str "p.",Space,Str "30;",Space,Str "see",Space,Str "also",Space,Str "@\1087\1091\1085\1082\1090\&3]"],Space,Str "says",Space,Str "blah."]]
|
||||
,[Para [Str "In",Space,Str "a",Space,Str "note.",Note [Para [Cite [Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [], citationSuffix = [Str "p.\160\&12"], citationMode = AuthorInText, citationNoteNum = 7, citationHash = 0}] [Str "@\1087\1091\1085\1082\1090\&3",Space,Str "[p.",Space,Str "12]"],Space,Str "and",Space,Str "a",Space,Str "citation",Space,Str "without",Space,Str "locators",Space,Cite [Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 7, citationHash = 0}] [Str "[@\1087\1091\1085\1082\1090\&3]"],Str "."]]]]
|
||||
,[Para [Str "A",Space,Str "citation",Space,Str "group",Space,Cite [Citation {citationId = "item1", citationPrefix = [Str "see"], citationSuffix = [Space,Str "chap.\160\&3"], citationMode = NormalCitation, citationNoteNum = 8, citationHash = 0},Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [Str "also"], citationSuffix = [Space,Str "p.\160\&34-35"], citationMode = NormalCitation, citationNoteNum = 8, citationHash = 0}] [Str "[see",Space,Str "@item1",Space,Str "chap.",Space,Str "3;",Space,Str "also",Space,Str "@\1087\1091\1085\1082\1090\&3",Space,Str "p.",Space,Str "34-35]"],Str "."]]
|
||||
,[Para [Str "Another",Space,Str "one",Space,Cite [Citation {citationId = "item1", citationPrefix = [Str "see"], citationSuffix = [Space,Str "p.\160\&34-35"], citationMode = NormalCitation, citationNoteNum = 9, citationHash = 0}] [Str "[see",Space,Str "@item1",Space,Str "p.",Space,Str "34-35]"],Str "."]]
|
||||
,[Para [Str "And",Space,Str "another",Space,Str "one",Space,Str "in",Space,Str "a",Space,Str "note.",Note [Para [Str "Some",Space,Str "citations",Space,Cite [Citation {citationId = "item1", citationPrefix = [Str "see"], citationSuffix = [Space,Str "chap.\160\&3"], citationMode = NormalCitation, citationNoteNum = 10, citationHash = 0},Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 10, citationHash = 0},Citation {citationId = "item2", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 10, citationHash = 0}] [Str "[see",Space,Str "@item1",Space,Str "chap.",Space,Str "3;",Space,Str "@\1087\1091\1085\1082\1090\&3;",Space,Str "@item2]"],Str "."]]]]
|
||||
,[Para [Str "Citation",Space,Str "with",Space,Str "a",Space,Str "suffix",Space,Str "and",Space,Str "locator",Space,Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [Space,Str "pp.\160\&33,",Space,Str "35-37,",Space,Str "and",Space,Str "nowhere",Space,Str "else"], citationMode = NormalCitation, citationNoteNum = 11, citationHash = 0}] [Str "[@item1",Space,Str "pp.",Space,Str "33,",Space,Str "35-37,",Space,Str "and",Space,Str "nowhere",Space,Str "else]"],Str "."]]
|
||||
,[Para [Str "Citation",Space,Str "with",Space,Str "suffix",Space,Str "only",Space,Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [Space,Str "and",Space,Str "nowhere",Space,Str "else"], citationMode = NormalCitation, citationNoteNum = 12, citationHash = 0}] [Str "[@item1",Space,Str "and",Space,Str "nowhere",Space,Str "else]"],Str "."]]
|
||||
,[Para [Str "Now",Space,Str "some",Space,Str "modifiers.",Note [Para [Str "Like",Space,Str "a",Space,Str "citation",Space,Str "without",Space,Str "author:",Space,Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [], citationMode = SuppressAuthor, citationNoteNum = 13, citationHash = 0}] [Str "[-@item1]"],Str ",",Space,Str "and",Space,Str "now",Space,Str "Doe",Space,Str "with",Space,Str "a",Space,Str "locator",Space,Cite [Citation {citationId = "item2", citationPrefix = [], citationSuffix = [Space,Str "p.\160\&44"], citationMode = SuppressAuthor, citationNoteNum = 13, citationHash = 0}] [Str "[-@item2",Space,Str "p.",Space,Str "44]"],Str "."]]]]
|
||||
,[Para [Str "With",Space,Str "some",Space,Str "markup",Space,Cite [Citation {citationId = "item1", citationPrefix = [Emph [Str "see"]], citationSuffix = [Space,Str "p.\160",Strong [Str "32"]], citationMode = NormalCitation, citationNoteNum = 14, citationHash = 0}] [Str "[*see*",Space,Str "@item1",Space,Str "p.",Space,Str "**32**]"],Str "."]]]
|
||||
,Header 1 ("references",[],[]) [Str "References"]]
|
||||
|
|
|
@ -328,7 +328,7 @@ Pandoc (Meta {unMeta = fromList [("author",MetaList [MetaInlines [Str "Author",S
|
|||
,Header 2 ("reference-link-fallbacks",[],[]) [Str "Reference",Space,Str "link",Space,Str "fallbacks"]
|
||||
,Para [Str "[",Emph [Str "not",Space,Str "a",Space,Str "link"],Str "]",Space,Str "[",Emph [Str "nope"],Str "]\8230"]
|
||||
,Header 2 ("reference-link-followed-by-a-citation",[],[]) [Str "Reference",Space,Str "link",Space,Str "followed",Space,Str "by",Space,Str "a",Space,Str "citation"]
|
||||
,Para [Str "MapReduce",Space,Str "is",Space,Str "a",Space,Str "paradigm",Space,Str "popularized",Space,Str "by",Space,Link ("",[],[]) [Str "Google"] ("http://google.com",""),Space,Cite [Citation {citationId = "mapreduce", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@mapreduce]"],Space,Str "as",Space,Str "its",SoftBreak,Str "most",Space,Str "vocal",Space,Str "proponent."]
|
||||
,Para [Str "MapReduce",Space,Str "is",Space,Str "a",Space,Str "paradigm",Space,Str "popularized",Space,Str "by",Space,Link ("",[],[]) [Str "Google"] ("http://google.com",""),Space,Cite [Citation {citationId = "mapreduce", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 3, citationHash = 0}] [Str "[@mapreduce]"],Space,Str "as",Space,Str "its",SoftBreak,Str "most",Space,Str "vocal",Space,Str "proponent."]
|
||||
,Header 2 ("empty-reference-links",[],[]) [Str "Empty",Space,Str "reference",Space,Str "links"]
|
||||
,Para [Str "bar"]
|
||||
,Para [Link ("",[],[]) [Str "foo2"] ("","")]
|
||||
|
|
Loading…
Reference in a new issue