aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README6
-rw-r--r--data/reference.docxbin8553 -> 8592 bytes
-rw-r--r--src/Text/Pandoc/Writers/Docx.hs12
3 files changed, 12 insertions, 6 deletions
diff --git a/README b/README
index 40d638f92..2dfd5bb3d 100644
--- a/README
+++ b/README
@@ -541,9 +541,9 @@ Options affecting specific writers
for a file `reference.docx` in the user data directory (see
`--data-dir`). If this is not found either, sensible defaults will be
used. The following styles are used by pandoc: [paragraph]
- Normal, Compact, Title, Authors, Date, Abstract, Heading 1, Heading 2,
- Heading 3, Heading 4, Heading 5, Block Quote, Definition Term, Definition,
- Body Text, Table Caption, Image Caption; [character] Default
+ Normal, Compact, Title, Subtitle, Authors, Date, Abstract, Heading 1,
+ Heading 2, Heading 3, Heading 4, Heading 5, Block Quote, Definition Term,
+ Definition, Body Text, Table Caption, Image Caption; [character] Default
Paragraph Font, Body Text Char, Verbatim Char, Footnote Ref,
Link.
diff --git a/data/reference.docx b/data/reference.docx
index d61eadf99..08059eb3c 100644
--- a/data/reference.docx
+++ b/data/reference.docx
Binary files differ
diff --git a/src/Text/Pandoc/Writers/Docx.hs b/src/Text/Pandoc/Writers/Docx.hs
index 8629becff..2a1731c1e 100644
--- a/src/Text/Pandoc/Writers/Docx.hs
+++ b/src/Text/Pandoc/Writers/Docx.hs
@@ -485,9 +485,15 @@ writeOpenXML opts (Pandoc meta blocks) = do
Just (MetaBlocks bs) -> bs
Just (MetaInlines ils) -> [Plain ils]
_ -> []
+ let subtitle' = case lookupMeta "subtitle" meta of
+ Just (MetaBlocks [Plain xs]) -> xs
+ Just (MetaBlocks [Para xs]) -> xs
+ Just (MetaInlines xs) -> xs
+ _ -> []
title <- withParaProp (pStyle "Title") $ blocksToOpenXML opts [Para tit | not (null tit)]
- authors <- withParaProp (pStyle "Authors") $ blocksToOpenXML opts
- [Para (intercalate [LineBreak] auths) | not (null auths)]
+ subtitle <- withParaProp (pStyle "Subtitle") $ blocksToOpenXML opts [Para subtitle' | not (null subtitle')]
+ authors <- withParaProp (pStyle "Author") $ blocksToOpenXML opts $
+ map Para auths
date <- withParaProp (pStyle "Date") $ blocksToOpenXML opts [Para dat | not (null dat)]
abstract <- if null abstract'
then return []
@@ -498,7 +504,7 @@ writeOpenXML opts (Pandoc meta blocks) = do
let blocks' = bottomUp convertSpace $ blocks
doc' <- blocksToOpenXML opts blocks'
notes' <- reverse `fmap` gets stFootnotes
- let meta' = title ++ authors ++ date ++ abstract
+ let meta' = title ++ subtitle ++ authors ++ date ++ abstract
return (meta' ++ doc', notes')
-- | Convert a list of Pandoc blocks to OpenXML.