无法打开从潘多克生成的 Odt 文件



我尝试用Haskell pandoc库的数学公式生成一个基本的odt文件,以验证这个问题中docx文档描述的问题是否与odt文件相同。

但是,当我执行这段代码时:

import Text.Pandoc
import Data.Map (fromList)
import qualified Data.ByteString.Lazy as B
import qualified Data.Set as Set
main = do
  document <- writeODT   WriterOptions{ writerStandalone=False
                               , writerReferenceODT=Nothing
                               , writerUserDataDir=Nothing
                               , writerExtensions=plainExtensions
                               }  pandoc
  B.writeFile "document.odt" document
pandoc = Pandoc ( Meta {unMeta = fromList []})
                           [ Para  [Str "A small Math example"]
                           , Plain [Math InlineMath "A_e = \{var\} + 5"]
                           , HorizontalRule
                           ]

plainExtensions = Set.fromList
  [ Ext_table_captions
  , Ext_implicit_figures
  , Ext_simple_tables
  , Ext_multiline_tables
  , Ext_grid_tables
  , Ext_latex_macros
  , Ext_fancy_lists
  , Ext_startnum
  , Ext_definition_lists
  , Ext_example_lists
  , Ext_intraword_underscores
  , Ext_blank_before_blockquote
  , Ext_blank_before_header
  , Ext_strikeout
  ]

生成的odt文件无法用libreoffice打开。当文件打开时,出现以下错误消息:

Format error discovered in the file in sub-document content.xml at 2,0(row,col)

是否有我做错了我的Haskell代码?还是Pandoc bug ?

打开odt文件有什么技巧吗?

如果haskell正在编译而没有错误,那么它应该是格式良好的pandoc,这意味着文档中的任何错误都很可能是ODT编写器中的错误。你应该向github问题跟踪器提交一个bug。

最新更新