在 Pandoc markdown 中,我可以使用“$$”来启动显示数学环境。然而,这些方程在乳胶中没有编号,所以我希望改用方程环境,如下所示:
\begin{equation}
x+1 = 2 \\
y+2 = 3
\end{equation}
如果我将 markdown 转换为 Latex 就可以了。但当我用 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}
$$
有什么办法可以解决这个问题吗?
尝试使用 pandoc-eqnos 过滤器。可以使用属性将标签附加到方程:
$$ y = mx +b $$ {#eq:description}
...然后像这样引用:
@eq:description
对于 tex/pdf 输出,使用 LaTeX 原生的
equation
环境以及 \label
和 \ref
宏;对于所有其他数字,这些数字都是硬编码的。
pandoc-eqnos 页面上给出了如何安装和应用过滤器的说明。
对于正确的方程编号没有良好的原生支持,但有一个解决方法。
> 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 输出也将数字放在左侧。您选择哪种妥协取决于您。