From 80e750aa5e7ac03add8a3ef5a8f2725b1d0ff901 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Fri, 17 Mar 2023 20:06:17 -0700 Subject: Docx writer: include abstract title. Closes #8702. Uses localized term for abstract. --- src/Text/Pandoc/Writers/Docx.hs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src') 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 -- cgit v1.2.3