@@ -523,33 +523,17 @@ hierarchicalizeWithIds (Header level attr@(_,classes,_) title':xs) = do
523 sectionContents' <- hierarchicalizeWithIds sectionContents
523 sectionContents' <- hierarchicalizeWithIds sectionContents
524 rest' <- hierarchicalizeWithIds rest
524 rest' <- hierarchicalizeWithIds rest
525 return $ Sec level newnum attr title' sectionContents' : rest'
525 return $ Sec level newnum attr title' sectionContents' : rest'
526−hierarchicalizeWithIds (Div (dident,dclasses,dkvs)
526+hierarchicalizeWithIds (Div ("refs",classes',kvs')
527− (Header level (hident,hclasses,hkvs) title' : xs):ys)
527+ (Header level (ident,classes,kvs) title' : xs):ys) =
528− | not ("columns" `elem` dclasses)
528+ hierarchicalizeWithIds (Header level (ident,"references":classes,kvs)
529− , not ("column" `elem` dclasses) = do
529+ title' : Div ("refs",classes',kvs') xs : ys)
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
542− else [Div (dident,[],[]) xs]
543− rest' <- hierarchicalizeWithIds ys
544− return $ Sec level newnum attr title' sectionContents' : rest'
545hierarchicalizeWithIds (x:rest) = do
530hierarchicalizeWithIds (x:rest) = do
546 rest' <- hierarchicalizeWithIds rest
531 rest' <- hierarchicalizeWithIds rest
547 return $ Blk x : rest'
532 return $ Blk x : rest'
549headerLtEq :: Int -> Block -> Bool
534headerLtEq :: Int -> Block -> Bool
550headerLtEq level (Header l _ _) = l <= level
535headerLtEq level (Header l _ _) = l <= level
551−headerLtEq level (Div ("",classes,[]) (Header l _ _ : _)) =
536+headerLtEq level (Div ("",["references"],[]) (Header l _ _ : _)) = l <= level
552− l <= level && "column" `notElem` classes && "columns" `notElem` classes
553headerLtEq _ _ = False
537headerLtEq _ _ = False
555-- | Generate a unique identifier from a list of inlines.
539-- | Generate a unique identifier from a list of inlines.