我尝试使用Haskell odt
库生成一个带有数学公式的基本pandoc
文件,以验证this question中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
]
无法使用libreoffice打开生成的odt
文件。文件打开时,将显示以下错误消息:
Format error discovered in the file in sub-document content.xml at 2,0(row,col)
我的Haskell代码有问题吗?或者它是Pandoc错误?
有没有办法打开odt文件?
答案 0 :(得分:0)
如果haskell正在编译而没有错误,那么它应该是格式良好的pandoc,这意味着文档中的任何错误很可能是ODT编写器中的错误。您应该向github问题跟踪器提交错误。