@@ -523,33 +523,17 @@ hierarchicalizeWithIds (Header level attr@(_,classes,_) title':xs) = do
523523 sectionContents' <- hierarchicalizeWithIds sectionContents
524524 rest' <- hierarchicalizeWithIds rest
525525 return $ Sec level newnum attr title' sectionContents' : rest'
526−hierarchicalizeWithIds (Div (dident,dclasses,dkvs)
527− (Header level (hident,hclasses,hkvs) title' : xs):ys)
528− | not ("columns" `elem` dclasses)
529− , not ("column" `elem` dclasses) = do
530− lastnum <- S.get
531− let lastnum' = take level lastnum
532− let newnum = case length lastnum' of
533− x | "unnumbered" `elem` hclasses -> []
534− | x >= level -> init lastnum' ++ [last lastnum' + 1]
535− | otherwise -> lastnum ++
536− replicate (level - length lastnum - 1) 0 ++ [1]
537− unless (null newnum) $ S.put newnum
538− let attr = (hident, dclasses ++ hclasses, dkvs ++ hkvs)
539− sectionContents' <- hierarchicalizeWithIds $
540− if null dident -- ensure we don't lose an id
541− then xs
542− else [Div (dident,[],[]) xs]
543− rest' <- hierarchicalizeWithIds ys
544− return $ Sec level newnum attr title' sectionContents' : rest'
526+hierarchicalizeWithIds (Div ("refs",classes',kvs')
527+ (Header level (ident,classes,kvs) title' : xs):ys) =
528+ hierarchicalizeWithIds (Header level (ident,"references":classes,kvs)
529+ title' : Div ("refs",classes',kvs') xs : ys)
545530hierarchicalizeWithIds (x:rest) = do
546531 rest' <- hierarchicalizeWithIds rest
547532 return $ Blk x : rest'
548533
549534headerLtEq :: Int -> Block -> Bool
550535headerLtEq level (Header l _ _) = l <= level
551−headerLtEq level (Div ("",classes,[]) (Header l _ _ : _)) =
552− l <= level && "column" `notElem` classes && "columns" `notElem` classes
536+headerLtEq level (Div ("",["references"],[]) (Header l _ _ : _)) = l <= level
553537headerLtEq _ _ = False
554538
555539-- | Generate a unique identifier from a list of inlines.