2013-04-15 10 views
0

У меня есть некоторые html-файлы, включая команды mathjax. Я хотел бы перевести его на дополнительную уценку php с помощью pandoc.Преобразование html mathjax в markdown с pandoc

Проблема в том, что pandoc добавить «\» перед всеми математическими командами. Например \ начать {уравнение} \ $ х \^2 и т.д.

Вы знаете, как избежать этого с pandoc? Я думаю, что связанный с ним вопрос этот один: How to convert HTML with mathjax into latex using pandoc?

ответ

2

Вы можете написать короткую программу unescape.hs Haskell:

-- Disable backslash escaping of special characters when writing strings to markdown. 
import Text.Pandoc 

main = toJsonFilter unescape 
    where unescape (Str xs) = RawInline "markdown" xs 
     unescape x  = x 

Теперь компилировать с ghc --make unescape.hs. И использовать с

pandoc -f html -t json | ./unescape | pandoc -f json -t markdown 

Это отключит экранирование специальных символов (например, $) в выходной уценки.

Более простой подход может быть нормальным выходом уценки трубы pandoc через СЭД:

pandoc -f html -t markdown | sed -e 's/\\\([$^_*]\)/\1/g' 
+0

Спасибо за ваш ответ. Простое регулярное выражение работает нормально. Однако, если вы используете markdown вместе с mathjax, экранирование астерикс может быть полезно, например, с помощью \ begin {align \ *} – Ben