@@ -30,7 +30,7 @@ Conversion of 'Pandoc' documents to docx.
3030-}
3131module Text.Pandoc.Writers.Docx ( writeDocx ) where
3232import Data.Maybe (fromMaybe)
33−import Data.List ( intercalate, groupBy )
33+import Data.List ( intercalate, groupBy, isPrefixOf )
3434import qualified Data.ByteString as B
3535import qualified Data.ByteString.Lazy as BL
3636import qualified Data.ByteString.Lazy.Char8 as BL8
@@ -262,6 +262,11 @@ writeDocx opts doc@(Pandoc meta _) = do
262262 fontTableEntry <- entryFromArchive "word/fontTable.xml"
263263 settingsEntry <- entryFromArchive "word/settings.xml"
264264 webSettingsEntry <- entryFromArchive "word/webSettings.xml"
265+ let miscRels = [ f | f <- filesInArchive refArchive
266+ , "word/_rels/" `isPrefixOf` f
267+ , f /= "word/_rels/document.xml.rels"
268+ , f /= "word/_rels/footnotes.xml.rels" ]
269+ miscRelEntries <- mapM entryFromArchive miscRels
265270
266271 -- Create archive
267272 let archive = foldr addEntryToArchive emptyArchive $
@@ -269,7 +274,7 @@ writeDocx opts doc@(Pandoc meta _) = do
269274 footnoteRelEntry : numEntry : styleEntry : footnotesEntry :
270275 docPropsEntry : docPropsAppEntry : themeEntry :
271276 fontTableEntry : settingsEntry : webSettingsEntry :
272− imageEntries
277+ imageEntries ++ miscRelEntries
273278 return $ fromArchive archive
274279
275280styleToOpenXml :: Style -> [Element]