我正在用 Markdown 写项目报告。在 Markdown 中使用 LaTeX 编写公式。然后我使用潘多克. 一切都进行得很顺利。
我在这篇文章中看到过在 latex 中编写伪代码如何在纯 LaTeX 中执行相同操作,但当 pandoc 尝试解释以呈现 PDF 时,提供的代码会失败。这是错误代码:
$ pandoc a.md -o a.pdf
! LaTeX Error: Can be used only in preamble.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.60 \documentclass
pandoc: Error producing PDF
有人知道这是否可以做到吗?我总是可以在 Overleaf.com 中编写伪代码并将其导出为图像,但我更愿意将所有内容保留在 markdown 文件中。谢谢!
顺便说一句:工作流程基于 OSX (mactex 2018 + pandoc)
答案1
谢谢技术员指出正确的方向:我在 markdown 中包含了序言。
经过搜索,我找到了解决方案。似乎唯一需要在序言部分的内容是 \usepackage,并且可以在 markdown 中按照以下语法完成:
---
header-includes:
- \usepackage{algorithm2e}
---
以下是 .markdown 文档的完整示例:
---
header-includes:
- \usepackage[ruled,vlined,linesnumbered]{algorithm2e}
---
# Algorithm 1
Just a sample algorithmn
\begin{algorithm}[H]
\DontPrintSemicolon
\SetAlgoLined
\KwResult{Write here the result}
\SetKwInOut{Input}{Input}\SetKwInOut{Output}{Output}
\Input{Write here the input}
\Output{Write here the output}
\BlankLine
\While{While condition}{
instructions\;
\eIf{condition}{
instructions1\;
instructions2\;
}{
instructions3\;
}
}
\caption{While loop with If/Else condition}
\end{algorithm}