2016-10-24 3 views
1

Я пишу программу Haskell, чтобы экспортировать некоторую формулу математики в docx, и я отметил, что имена переменных с несколькими символами написаны с пустым пробелом между каждой буквой и I не понимаю почему?Пробелы в нескольких символах имя переменной в pandoc export to docx

Мой основной код:

import Text.Pandoc 
import Data.Map (fromList) 
import qualified Data.ByteString.Lazy as B 

main = do 
    document <- writeDocx WriterOptions{ writerStandalone=False 
            , writerReferenceDocx=Nothing 
            , writerUserDataDir=Nothing 
            , writerHighlight= False 
            } pandoc 
    B.writeFile "document.docx" document 

pandoc = Pandoc (Meta {unMeta = fromList []}) 
          [ Para [Str "A small Math example"] 
          , Plain [Math InlineMath "A_e = var + 5"] 
          , HorizontalRule 
          ] 

и результат:

enter image description here

, и я хотел бы получить:

enter image description here

Я попытался изменить строка, определяющая мой equa Тион к

Math InlineMath "A_e = {var} + 5" 

, но это ничего не изменило

Я также попытался:

Math InlineMath "A_e = \\{var\\} + 5" 

Но он дал:

enter image description here

Вы знаете, как удалить эти скучные пробелы?

+0

Это похоже на ошибку в писателе pandoc docx. если он все еще встречается в новейшей версии pandoc, вы должны [сообщить об этом] (https://github.com/jgm/pandoc/issues). также, возможно, вы захотите использовать функции [builder functions] (https://github.com/jgm/pandoc-types/blob/master/Text/Pandoc/Builder.hs) вместо написания структур данных вручную ... – mb21

ответ

0

Это фактически texmath, который заботится о преобразовании латекса -> omml (OMML - это формат xml, который использует docx). Поэтому вы должны опубликовать там ошибку.