aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn MacFarlane <[email protected]>2023-03-17 20:06:17 -0700
committerJohn MacFarlane <[email protected]>2023-03-17 20:06:17 -0700
commit80e750aa5e7ac03add8a3ef5a8f2725b1d0ff901 (patch)
tree1f50cdc1eba8b12886d70f7144ee3d0b46b0b887 /src
parenta23d14079c056af3c63d7903dfd17b30c1e1b8d6 (diff)
Docx writer: include abstract title.
Closes #8702. Uses localized term for abstract.
Diffstat (limited to 'src')
-rw-r--r--src/Text/Pandoc/Writers/Docx.hs12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Writers/Docx.hs b/src/Text/Pandoc/Writers/Docx.hs
index e3956c5ef..d33f2aca6 100644
--- a/src/Text/Pandoc/Writers/Docx.hs
+++ b/src/Text/Pandoc/Writers/Docx.hs
@@ -48,7 +48,7 @@ import Data.Time.Clock.POSIX
import Data.Digest.Pure.SHA (sha1, showDigest)
import Skylighting
import Text.Pandoc.Class (PandocMonad, report, toLang, getMediaBag)
-import Text.Pandoc.Translations (translateTerm)
+import Text.Pandoc.Translations (Term(Abstract), translateTerm)
import Text.Pandoc.MediaBag (lookupMedia, MediaItem(..))
import qualified Text.Pandoc.Translations as Term
import qualified Text.Pandoc.Class.PandocMonad as P
@@ -767,7 +767,15 @@ writeOpenXML opts (Pandoc meta blocks) = do
date <- withParaPropM (pStyleM "Date") $ blocksToOpenXML opts [Para dat | not (null dat)]
abstract <- if null abstract'
then return []
- else withParaPropM (pStyleM "Abstract") $ blocksToOpenXML opts abstract'
+ else do
+ abstractTitle <- translateTerm Abstract
+ abstractTit <- withParaPropM (pStyleM "AbstractTitle") $
+ blocksToOpenXML opts
+ [Para [Str abstractTitle]]
+ abstractContents <- withParaPropM (pStyleM "Abstract") $
+ blocksToOpenXML opts abstract'
+ return $ abstractTit <> abstractContents
+
let convertSpace (Str x : Space : Str y : xs) = Str (x <> " " <> y) : xs
convertSpace (Str x : Str y : xs) = Str (x <> y) : xs
convertSpace xs = xs