@@ -46,13 +46,18 @@ getSlideLevel = go 6
4646
4747-- | Prepare a block list to be passed to hierarchicalize.
4848prepSlides :: Int -> [Block] -> [Block]
49−prepSlides slideLevel = ensureStartWithH . splitHrule
49+prepSlides slideLevel = ensureStartWithH . splitHrule . extractRefsHeader
5050 where splitHrule (HorizontalRule : Header n attr xs : ys)
5151 | n == slideLevel = Header slideLevel attr xs : splitHrule ys
5252 splitHrule (HorizontalRule : xs) = Header slideLevel nullAttr [Str "\0"] :
5353 splitHrule xs
5454 splitHrule (x : xs) = x : splitHrule xs
5555 splitHrule [] = []
56+ extractRefsHeader bs =
57+ case reverse bs of
58+ (Div (_,["references"],_) (Header n attrs xs : ys) : zs)
59+ -> reverse zs ++ (Header n attrs xs : ys)
60+ _ -> bs
5661 ensureStartWithH bs@(Header n _ _:_)
5762 | n <= slideLevel = bs
5863 ensureStartWithH bs = Header slideLevel nullAttr [Str "\0"] : bs