在Pandoc markdown中,我可以使用' $$'开始显示数学环境。但是,这些方程式没有用乳胶编号,所以我希望使用方程式环境,如下所示:
\begin{equation}
x+1 = 2 \\
y+2 = 3
\end{equation}
如果我将降价改为乳胶,那很好。但是当我使用Mathjax将其转换为HTML时,它确实起作用,因为Pandoc将这些行视为raw_latex在HTML中忽略它们。
我试图禁止raw_latex扩展
pandoc -f markdown-raw_latex ...
这次两个方程显示在同一行,因为反斜杠是由Pandoc转义的,所以" \"没有正确生成换行符。
请注意,以下代码在转换为HTML时可以正常工作,但在latex中会产生编译错误。
$$
\begin{equation}
x+1 = 2 \\
y+2 = 3
\end{equation}
$$
有没有办法解决这个问题?
答案 0 :(得分:13)
尝试pandoc-eqnos过滤器。标签可以使用属性附加到方程式:
$$ y = mx +b $$ {#eq:description}
...然后像这样引用:
@eq:description
对于tex / pdf输出,使用LaTeX的原生equation
环境以及\label
和\ref
宏;对于所有其他人来说,数字是硬编码的。
有关如何安装和应用过滤器的说明,请参阅pandoc-eqnos页面。
答案 1 :(得分:1)
对于正确的等式编号没有良好的原生支持,但有一种解决方法。
> 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>
显然输出可以用css设计以适应。另一方面,此方法的tex输出也将数字放在左侧。您选择哪种妥协取决于您。