From dd3d920ba096b3415e11ea0a26d1f5efa4b18cc9 Mon Sep 17 00:00:00 2001 From: Nils Carlson Date: Mon, 26 Oct 2020 19:49:03 +0000 Subject: DocBook Reader: fix duplicate bibliography bug (#6773) Also add unit test to ensure the behavior stays consistent. --- src/Text/Pandoc/Readers/DocBook.hs | 9 ++++----- test/command/docbook-bibliography.md | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 test/command/docbook-bibliography.md diff --git a/src/Text/Pandoc/Readers/DocBook.hs b/src/Text/Pandoc/Readers/DocBook.hs index 26de68f5f..190ba1d31 100644 --- a/src/Text/Pandoc/Readers/DocBook.hs +++ b/src/Text/Pandoc/Readers/DocBook.hs @@ -794,11 +794,10 @@ parseBlock (Elem e) = "titleabbrev" -> skip "authorinitials" -> skip "bibliography" -> sect 0 - "bibliodiv" -> do - tit <- case filterChild (named "title") e of - Just _ -> sect 1 - Nothing -> return mempty - (tit <>) <$> parseMixed para (elContent e) + "bibliodiv" -> + case filterChild (named "title") e of + Just _ -> sect 1 + Nothing -> return mempty "biblioentry" -> parseMixed para (elContent e) "bibliomisc" -> parseMixed para (elContent e) "bibliomixed" -> parseMixed para (elContent e) diff --git a/test/command/docbook-bibliography.md b/test/command/docbook-bibliography.md new file mode 100644 index 000000000..37ac05b30 --- /dev/null +++ b/test/command/docbook-bibliography.md @@ -0,0 +1,20 @@ +``` +% pandoc -f docbook -t native --quiet + +Document References + +[1] First reference + + +[2] Second reference + + +[3] Third reference + + +^D +[Header 1 ("",[],[]) [Str "Document",Space,Str "References"] +,Para [Span ("refTheFirst",[],[]) [],Str "[1]",Space,Str "First",Space,Str "reference"] +,Para [Span ("refTheSecond",[],[]) [],Str "[2]",Space,Str "Second",Space,Str "reference"] +,Para [Span ("refTheThird",[],[]) [],Str "[3]",Space,Str "Third",Space,Str "reference"]] +``` -- cgit v1.2.3