@@ -169,10 +169,13 @@ blockToConTeXt (Header level lst) = do
169169 st <- get
170170 let opts = stOptions st
171171 let base = if writerNumberSections opts then "section" else "subject"
172− return $ if level >= 1 && level <= 5
173− then char '\\' <> text (concat (replicate (level - 1) "sub")) <>
172+ let level' = if writerChapters opts then level - 1 else level
173+ return $ if level' >= 1 && level' <= 5
174+ then char '\\' <> text (concat (replicate (level' - 1) "sub")) <>
174175 text base <> char '{' <> contents <> char '}' <> blankline
175− else contents <> blankline
176+ else if level' == 0
177+ then "\\chapter{" <> contents <> "}"
178+ else contents <> blankline
176179blockToConTeXt (Table caption aligns widths heads rows) = do
177180 let colDescriptor colWidth alignment = (case alignment of
178181 AlignLeft -> 'l'