Я попытался генерируемой основной odt
файл с математической формулой с библиотекой Haskell pandoc
, чтобы проверить, является ли проблема, описанная с docx
документов в this question же с ODT файлов.Невозможно открыть ODT файл, созданный из Pandoc
Однако, когда я исполню этот код:
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?
Есть ли уловка, чтобы открыть файл odt?
работает без элемента 'Math'? – mb21
Нет, я удалил элемент Math, но ошибка осталась прежней! – JeanJouX