git.iko.soy/typeable/pandoc
on master help sign in
For bibliography match Div with id 'refs', not class 'references'.

This was a mismatch between pandoc's docx, epub, latex, and markdown writers and the behavior of pandoc-citeproc, which actually looks for a div with id 'refs' rather than one with class 'references'.

commita78bef17b96f431aa3bc31c1b9f8b24a9b5ea64a authorJohn MacFarlane <jgm@berkeley.edu> dateMon 19 Nov 2018, 11:08 (8 years ago) parent3689d04
6 files changed+13−12
src/Text/Pandoc/Shared.hs+2−2 src/Text/Pandoc/Slides.hs+3−2 src/Text/Pandoc/Writers/Docx.hs+2−2 src/Text/Pandoc/Writers/EPUB.hs+2−2 src/Text/Pandoc/Writers/LaTeX.hs+2−2 src/Text/Pandoc/Writers/Markdown.hs+2−2
src/Text/Pandoc/Shared.hs+2−2
@@ -532,10 +532,10 @@ hierarchicalizeWithIds (Header level attr@(_,classes,_) title':xs) = do
532532 sectionContents' <- hierarchicalizeWithIds sectionContents
533533 rest' <- hierarchicalizeWithIds rest
534534 return $ Sec level newnum attr title' sectionContents' : rest'
535−hierarchicalizeWithIds (Div ("",["references"],[])
535+hierarchicalizeWithIds (Div ("refs",classes',kvs')
536536 (Header level (ident,classes,kvs) title' : xs):ys) =
537537 hierarchicalizeWithIds (Header level (ident,"references":classes,kvs)
538− title' : (xs ++ ys))
538+ title' : Div ("refs",classes',kvs') xs : ys)
539539hierarchicalizeWithIds (x:rest) = do
540540 rest' <- hierarchicalizeWithIds rest
541541 return $ Blk x : rest'
src/Text/Pandoc/Slides.hs+3−2
@@ -57,8 +57,9 @@ prepSlides slideLevel = ensureStartWithH . splitHrule . extractRefsHeader
5757 splitHrule [] = []
5858 extractRefsHeader bs =
5959 case reverse bs of
60− (Div ("",["references"],[]) (Header n attrs xs : ys) : zs)
61− -> reverse zs ++ (Header n attrs xs : [Div ("",["references"],[]) ys])
60+ (Div ("refs",classes,kvs) (Header n attrs xs : ys) : zs)
61+ -> reverse zs ++ [Header n attrs xs,
62+ Div ("refs",classes,kvs) ys]
6263 _ -> bs
6364 ensureStartWithH bs@(Header n _ _:_)
6465 | n <= slideLevel = bs
src/Text/Pandoc/Writers/Docx.hs+2−2
@@ -871,10 +871,10 @@ blockToOpenXML' opts (Div (ident,classes,kvs) bs) = do
871871 Just "rtl" -> return $ local (\env -> env { envRTL = True })
872872 Just "ltr" -> return $ local (\env -> env { envRTL = False })
873873 _ -> return id
874− let (hs, bs') = if "references" `elem` classes
874+ let (hs, bs') = if ident == "refs"
875875 then span isHeaderBlock bs
876876 else ([], bs)
877− let bibmod = if "references" `elem` classes
877+ let bibmod = if ident == "refs"
878878 then withParaPropM (pStyleM "Bibliography")
879879 else id
880880 header <- dirmod $ stylemod $ blocksToOpenXML opts hs
src/Text/Pandoc/Writers/EPUB.hs+2−2
@@ -504,13 +504,13 @@ pandocToEPUB version opts doc@(Pandoc meta _) = do
504504 let chapterHeaderLevel = writerEpubChapterLevel opts
505505
506506 let isChapterHeader (Header n _ _) = n <= chapterHeaderLevel
507− isChapterHeader (Div ("",["references"],[]) (Header n _ _:_)) =
507+ isChapterHeader (Div ("refs",_,_) (Header n _ _:_)) =
508508 n <= chapterHeaderLevel
509509 isChapterHeader _ = False
510510
511511 let toChapters :: [Block] -> State [Int] [Chapter]
512512 toChapters [] = return []
513− toChapters (Div ("",["references"],[]) bs@(Header 1 _ _:_) : rest) =
513+ toChapters (Div ("refs",_,_) bs@(Header 1 _ _:_) : rest) =
514514 toChapters (bs ++ rest)
515515 toChapters (Header n attr@(_,classes,_) ils : bs) = do
516516 nums <- get
src/Text/Pandoc/Writers/LaTeX.hs+2−2
@@ -138,8 +138,8 @@ pandocToLaTeX options (Pandoc meta blocks) = do
138138 let method = writerCiteMethod options
139139 let blocks' = if method == Biblatex || method == Natbib
140140 then case reverse blocks of
141− Div (_,["references"],_) _:xs -> reverse xs
142− _ -> blocks
141+ Div ("refs",_,_) _:xs -> reverse xs
142+ _ -> blocks
143143 else blocks
144144 -- see if there are internal links
145145 let isInternalLink (Link _ _ ('#':xs,_)) = [xs]
src/Text/Pandoc/Writers/Markdown.hs+2−2
@@ -217,8 +217,8 @@ pandocToMarkdown opts (Pandoc meta blocks) = do
217217 -- Strip off final 'references' header if markdown citations enabled
218218 let blocks' = if isEnabled Ext_citations opts
219219 then case reverse blocks of
220− (Div (_,["references"],_) _):xs -> reverse xs
221− _ -> blocks
220+ (Div ("refs",_,_) _):xs -> reverse xs
221+ _ -> blocks
222222 else blocks
223223 body <- blockListToMarkdown opts blocks'
224224 notesAndRefs' <- notesAndRefs opts