我正在 Atom 编辑器中编写 markdown 并使用包markdown-预览-plus用于 Windows 10 上的实时预览。我的电脑上有 Miktex。
为了简单起见,考虑.md文件仅包含一个公式
$$
\begin{align}
\sum_{i=0}^n i^2 &= \frac{(n^2+n)(2n+1)}{6} \\
y &= mx+c
\end{align}
$$
我可以在编辑器中预览它,也可以在stackedit.io。但是当我尝试使用将其转换为 pdf 时pandoc test1.md -s -o test1.pdf
,出现以下错误:
! Package amsmath Error: Erroneous nesting of equation structures;
(amsmath) trying to recover with `aligned'.
See the amsmath package documentation for explanation.
Type H <return> for immediate help.
...
l.57 \end{align}
pandoc.exe: Error producing PDF
我针对这个问题有两个解决方案:
- 我可以删除
$$
等式前后的内容,但预览窗格中就没有数学渲染了。 - 我可以使用
{aligned}
而不是{align}
,那么 pdf 将不会有方程编号。
我的疑问:上面的代码是合法的 markdown 代码吗?如果是,那为什么 pandoc 不转换它呢?
是否可以使用来生成适当的结果
$$
,例如在将 .md 转换为 .pdf 时传递附加参数,或者可能通过包含某种包?
附上预览,希望有帮助。
如果我没有表达清楚的话请告诉我。
谢谢
答案1
您可能需要使用-f markdown+raw_tex
然后输入普通 LaTeX,以获得正确的编号和对齐:
\begin{align}
\begin{aligned}
\sum_{i=0}^n i^2 &= \frac{(n^2+n)(2n+1)}{6} \\
y &= mx+c
\end{aligned}
\end{align}
使用\begin{aligned}
作品:
$$
\begin{aligned}
\sum_{i=0}^n i^2 &= \frac{(n^2+n)(2n+1)}{6} \\
y &= mx+c
\end{aligned}
$$
我基于回答到我应该使用哪一个:\begin{align} 还是 \begin{aligned}?。
align 用于进入数学模式,aligned 用于多重水平对齐