Как использовать среду уравнений латекса в Pandoc Markdown?

В уценке Pandoc я могу использовать "$$" для запуска среды отображения. Однако эти уравнения не пронумерованы в латексе, поэтому я надеюсь использовать среду уравнений, например:

\begin{equation}
x+1 = 2 \\
y+2 = 3 
\end{equation}

Это прекрасно, если я конвертирую уценку в латекс. Но он не работает, когда я конвертирую его в HTML с Mathjax, потому что Pandoc рассматривает эти строки, поскольку raw_latex игнорирует их в HTML.

Я попытался запретить расширение raw_latex

pandoc -f markdown-raw_latex ...

На этот раз два уравнения отображаются в одной строке, потому что обратные косые экраны экранируются Pandoc, поэтому "\" не создает новую строку правильно.

Обратите внимание, что следующий код отлично работает при преобразовании в HTML, но создает ошибку компиляции в латексе.

$$    
\begin{equation}
    x+1 = 2 \\
    y+2 = 3 
\end{equation}
$$

Есть ли способ справиться с этой проблемой?

Ответ 1

Попробуйте фильтр pandoc-eqnos. Ярлыки могут быть прикреплены к уравнениям с использованием атрибутов:

 $$ y = mx +b $$ {#eq:description}

... и затем ссылается так:

@eq:description

Для вывода tex/pdf используются макросы LaTeX native equation и макросы \label и \ref; для всех остальных цифры жестко закодированы.

Инструкции приведены на странице pandoc-eqnos для установки и применения фильтра.

Ответ 2

Не существует хорошей нативной поддержки правильной нумерации нумерации, но есть обходной путь.

> pandoc -s -o math.html --mathjax 
(@) $$y=5$$

A paragraph here explaining 

(@) $$y=6$$

Выход

<body>
<ol style="list-style-type: example">
<li><span class="math">\[y=5\]</span></li>
</ol>
<p>A paragraph here explaining</p>
<ol start="2" style="list-style-type: example">
<li><span class="math">\[y=6\]</span></li>
</ol>
</body>

Numbering example

Очевидно, что вывод может быть создан с помощью css. С другой стороны, выход tex этого метода также помещает числа влево. Какой компромисс вы выбираете, зависит от вас.