2017-01-07 12 views
2

Я пытаюсь преобразовать латексный код, встроенный в HTML-документ (предназначенный для использования с Javascript-прокладкой) в MathML. Pandoc кажется отличным инструментом. Следуя этому примеру: http://pandoc.org/demos.html,Преобразование латекса в MathML в HTML

pandoc input.html -s --latexmathml -o output.html 

не производит никаких изменений в файле. Я даже сделал пустой пустой HTML-файл с различными текстовыми выражениями для тестирования; никаких изменений в выходе. Что мне не хватает?

http://math.etsu.edu/LaTeXMathML/ На этом сайте, связанном с Pandoc, появляется документация для отдельного случая, но он использует прокладку JS вместо вывода MathML напрямую. (Я думаю, что браузер отображает динамически отображаемый MathML, но на самом деле не выводит его в файл). Также отсутствуют некоторые базовые функции, такие как функции собственной строки с \ begin {equation}.

Я потратил несколько часов на поиски пути для достижения этой цели. Есть идеи? Единственное полнофункциональное решение, которое я нашел, - https://www.mathtowebonline.com/ Этот сайт. Также есть модуль python под названием latex2mathml, но также отсутствуют большие куски спецификации.

ответ

4

Вам потребуется --mathml флаг (не --latexmathml флаг) для создания MathML и tex_math_dollars extension включен для чтения математику между знаками доллара:

$ echo '<p>$$x = 4$$</p>' | pandoc -f html+tex_math_dollars -t html --mathml 
<p> 
    <math display="block" xmlns="http://www.w3.org/1998/Math/MathML"> 
    <semantics> 
     <mrow><mi>x</mi><mo>=</mo><mn>4</mn></mrow><annotation encoding="application/x-tex">x = 4</annotation> 
    </semantics> 
    </math> 
</p> 

Или может быть, вы лучше использовать somehting как snuggleTeX или LaTeXMathML.js ...

+0

Другим вариантом является использование [mathjax-node] (https://github.com/mathjax/MathJax-node). –

+0

Спасибо. Похоже, что из документов Pandoc он должен разбирать латекс в MathML, как в примере, который я использовал. Ссылка LaTeXMathML.js - это более ранняя версия той, которую я опубликовал в Q. (Эта страница ссылается на более новую версию рядом с ее вершиной). Похоже, что лучший маршрут вперед - использовать автономную версию веб-программы, которую я связал: http://www.mathtoweb.com/cgi-bin/mathtoweb_home.pl. Это на самом деле кажется довольно хорошим, полным и хорошо документированным! –

+1

@TurtlesAreCute действительно можно извлечь латексную математику из html с pandoc, я исправил свой ответ выше. – mb21