@@ -33,7 +33,7 @@ import Text.Pandoc.XML
3333import Text.Pandoc.Shared
3434import Text.Pandoc.Templates (renderTemplate)
3535import Text.Pandoc.Readers.TeXMath
36−import Data.List ( isPrefixOf, intercalate )
36+import Data.List ( isPrefixOf, intercalate, isSuffixOf )
3737import Data.Char ( toLower )
3838import Text.Pandoc.Highlighting (languages, languagesByExtension)
3939import Text.Pandoc.Pretty
@@ -69,7 +69,11 @@ writeDocbook opts (Pandoc (Meta tit auths dat) blocks) =
6969 then Just $ writerColumns opts
7070 else Nothing
7171 render' = render colwidth
72− main = render' $ vcat (map (elementToDocbook opts) elements)
72+ opts' = if "</book>" `isSuffixOf`
73+ (removeTrailingSpace $ writerTemplate opts)
74+ then opts{ writerChapters = True }
75+ else opts
76+ main = render' $ vcat (map (elementToDocbook opts') elements)
7377 context = writerVariables opts ++
7478 [ ("body", main)
7579 , ("title", render' title)