@@ -449,19 +449,20 @@ sectionHeader (ident,classes,_) hdrLevel lst = do
449 TopLevelChapter -> hdrLevel - 1
449 TopLevelChapter -> hdrLevel - 1
450 TopLevelSection -> hdrLevel
450 TopLevelSection -> hdrLevel
451 TopLevelDefault -> hdrLevel
451 TopLevelDefault -> hdrLevel
452+ let ident' = if null ident
452− let ident' = toLabel ident
454+ else brackets (text (toLabel ident))
453 let (section, chapter) = if "unnumbered" `elem` classes
455 let (section, chapter) = if "unnumbered" `elem` classes
454 then (text "subject", text "title")
456 then (text "subject", text "title")
455 else (text "section", text "chapter")
457 else (text "section", text "chapter")
456 return $ case level' of
458 return $ case level' of
457− -1 -> text "\\part" <> braces contents
459+ -1 -> text "\\part" <> ident' <> braces contents
460+ 0 -> char '\\' <> chapter <> ident' <>
458− 0 -> char '\\' <> chapter <> braces contents
461+ braces contents
459 n | n >= 1 && n <= 5 -> char '\\'
462 n | n >= 1 && n <= 5 -> char '\\'
460 <> text (concat (replicate (n - 1) "sub"))
463 <> text (concat (replicate (n - 1) "sub"))
461 <> section
464 <> section
462− <> (if (not . null) ident'
465+ <> ident'
463− then brackets (text ident')
465 <> braces contents
466 <> braces contents
466 <> blankline
467 <> blankline
467 _ -> contents <> blankline
468 _ -> contents <> blankline