aboutsummaryrefslogtreecommitdiff
path: root/src/Text
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2011-01-16 08:57:32 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2011-01-16 08:58:29 -0800
commit9721b87c26861fd9495cd0697fe79c6b1b5e6211 (patch)
tree62c885c0e9fe7d2c382f72a12c4851563d42bd97 /src/Text
parent53eb2c4828d09fa00dce327f0b69e252287d82ca (diff)
downloadpandoc-9721b87c26861fd9495cd0697fe79c6b1b5e6211.tar.gz
Added --chapters option affecting docbook and latex.
* Added writerChapters to WriterOptions. * Added --chapters command-line option. * --chapters causes top-level headers to be "chapter" instead of "section" in LaTeX and DocBook. * Resolves Issue #225.
Diffstat (limited to 'src/Text')
-rw-r--r--src/Text/Pandoc/Shared.hs2
-rw-r--r--src/Text/Pandoc/Writers/Docbook.hs7
-rw-r--r--src/Text/Pandoc/Writers/LaTeX.hs2
3 files changed, 8 insertions, 3 deletions
diff --git a/src/Text/Pandoc/Shared.hs b/src/Text/Pandoc/Shared.hs
index f757f4479..81c552e41 100644
--- a/src/Text/Pandoc/Shared.hs
+++ b/src/Text/Pandoc/Shared.hs
@@ -482,6 +482,7 @@ data WriterOptions = WriterOptions
, writerCiteMethod :: CiteMethod -- ^ How to print cites
, writerBiblioFiles :: [FilePath] -- ^ Biblio files to use for citations
, writerHtml5 :: Bool -- ^ Produce HTML5
+ , writerChapters :: Bool -- ^ Use "chapter" for top-level sects
} deriving Show
-- | Default writer options.
@@ -512,6 +513,7 @@ defaultWriterOptions =
, writerCiteMethod = Citeproc
, writerBiblioFiles = []
, writerHtml5 = False
+ , writerChapters = False
}
--
diff --git a/src/Text/Pandoc/Writers/Docbook.hs b/src/Text/Pandoc/Writers/Docbook.hs
index a53c3fb86..2706f3334 100644
--- a/src/Text/Pandoc/Writers/Docbook.hs
+++ b/src/Text/Pandoc/Writers/Docbook.hs
@@ -87,9 +87,12 @@ elementToDocbook opts (Sec _ _num id' title elements) =
let elements' = if null elements
then [Blk (Para [])]
else elements
- in inTags True "section" [("id",id')] $
+ tag = if writerChapters opts
+ then "chapter"
+ else "section"
+ in inTags True tag [("id",id')] $
inTagsSimple "title" (inlinesToDocbook opts title) $$
- vcat (map (elementToDocbook opts) elements')
+ vcat (map (elementToDocbook opts{ writerChapters = False }) elements')
-- | Convert a list of Pandoc blocks to Docbook.
blocksToDocbook :: WriterOptions -> [Block] -> Doc
diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs
index 836e0f974..64a1e03ac 100644
--- a/src/Text/Pandoc/Writers/LaTeX.hs
+++ b/src/Text/Pandoc/Writers/LaTeX.hs
@@ -63,7 +63,7 @@ writeLaTeX options document =
stVerbInNote = False, stEnumerate = False,
stTable = False, stStrikeout = False, stSubscript = False,
stUrl = False, stGraphics = False,
- stLHS = False, stBook = False }
+ stLHS = False, stBook = writerChapters options }
pandocToLaTeX :: WriterOptions -> Pandoc -> State WriterState String
pandocToLaTeX options (Pandoc (Meta title authors date) blocks) = do