aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn MacFarlane <[email protected]>2023-11-04 09:46:46 -0700
committerJohn MacFarlane <[email protected]>2023-11-04 09:46:46 -0700
commit9400f75506173efcb0591d7b8415da64ea30dadb (patch)
treef8538f064c426691c65a2b437c7f3576c04aa3c9 /src
parentbb36f127e2487144110973b450f57a67a66e5db4 (diff)
JATS writer: handle case where there is material after refs div.
Previously in such cases the references were not being moved to back matter. Closes #9166.
Diffstat (limited to 'src')
-rw-r--r--src/Text/Pandoc/Writers/JATS.hs12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/Text/Pandoc/Writers/JATS.hs b/src/Text/Pandoc/Writers/JATS.hs
index d6a12b295..4ce33e053 100644
--- a/src/Text/Pandoc/Writers/JATS.hs
+++ b/src/Text/Pandoc/Writers/JATS.hs
@@ -113,11 +113,13 @@ docToJATS opts (Pandoc meta blocks') = do
$ ensureReferenceHeader blocks'
let splitBackBlocks b@(Div ("refs",_,_) _) (fs, bs) = (fs, b:bs)
splitBackBlocks (Div (ident,("section":_),_)
- [ Header lev (_,hcls,hkvs) hils
- , (Div rattrs@("refs",_,_) rs)
- ]) (fs, bs)
- = (fs, Div rattrs
- (Header lev (ident,hcls,hkvs) hils : rs) : bs)
+ ( Header lev (_,hcls,hkvs) hils
+ : (Div rattrs@("refs",_,_) rs)
+ : rest
+ )) (fs, bs)
+ = (fs ++ rest,
+ Div rattrs
+ (Header lev (ident,hcls,hkvs) hils : rs) : bs)
splitBackBlocks b (fs, bs) = (b:fs, bs)
let (bodyblocks, backblocks) = foldr splitBackBlocks ([],[]) blocks
let colwidth = if writerWrapText opts == WrapAuto