@@ -1248,6 +1248,7 @@ inline = choice [ whitespace
@@ -1630,12 +1631,12 @@ rawHtmlInline = do
1630cite :: MarkdownParser (F Inlines)
1631cite :: MarkdownParser (F Inlines)
1631cite = do
1632cite = do
1632 guardEnabled Ext_citations
1633 guardEnabled Ext_citations
1633− getOption readerReferences >>= guard . not . null
1634− citations <- textualCite <|> normalCite
1634+ citations <- normalCite
1635 return $ flip B.cite mempty <$> citations
1635 return $ flip B.cite mempty <$> citations
1637−textualCite :: MarkdownParser (F [Citation])
1637+textCite :: MarkdownParser (F Inlines)
1638−textualCite = try $ do
1638+textCite = try $ do
1639+ guardEnabled Ext_citations
1639 (_, key) <- citeKey
1640 (_, key) <- citeKey
1640 let first = Citation{ citationId = key
1641 let first = Citation{ citationId = key
1641 , citationPrefix = []
1642 , citationPrefix = []
@@ -1646,8 +1647,15 @@ textualCite = try $ do
1647 mbrest <- option Nothing $ try $ spnl >> Just <$> normalCite
1648 mbrest <- option Nothing $ try $ spnl >> Just <$> normalCite
1648 case mbrest of
1649 case mbrest of
1649− Just rest -> return $ (first:) <$> rest
1650+ Just rest -> return $ (flip B.cite mempty . (first:)) <$> rest
1650− Nothing -> option (return [first]) $ bareloc first
1651+ Nothing -> (do cites <- bareloc first
1652+ return $ flip B.cite mempty <$> cites)
1653+ <|> (do guardEnabled Ext_example_lists
1655+ case M.lookup key (stateExamples st) of
1656+ Just n -> return $ return $ B.str (show n)
1658+ <|> (return $ return $ flip B.cite mempty [first])
1652bareloc :: Citation -> MarkdownParser (F [Citation])
1660bareloc :: Citation -> MarkdownParser (F [Citation])
1653bareloc c = try $ do
1661bareloc c = try $ do
@@ -1679,8 +1687,6 @@ citeKey = try $ do
1679 let internal p = try $ p >>~ lookAhead (letter <|> digit)
1687 let internal p = try $ p >>~ lookAhead (letter <|> digit)
1680 rest <- many $ letter <|> digit <|> internal (oneOf ":.#$%&-_?<>~/")
1688 rest <- many $ letter <|> digit <|> internal (oneOf ":.#$%&-_?<>~/")
1681 let key = first:rest
1689 let key = first:rest
1682− citations' <- map CSL.refId <$> getOption readerReferences
1683− guard $ key `elem` citations'
1684 return (suppress_author, key)
1690 return (suppress_author, key)
1686suffix :: MarkdownParser (F Inlines)
1692suffix :: MarkdownParser (F Inlines)