无法打开Pandoc生成的Odt文件

时间:2016-10-25 20:12:40

标签: haskell pandoc libreoffice

我尝试使用Haskell odt库生成一个带有数学公式的基本pandoc文件,以验证this questiondocx文档描述的问题是否相同与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
  ]

无法使用libreoffice打开生成的odt文件。文件打开时,将显示以下错误消息:

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

我的Haskell代码有问题吗?或者它是Pandoc错误?

有没有办法打开odt文件?

1 个答案:

答案 0 :(得分:0)

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

相关问题