Markdown 中的算法伪代码

Markdown 中的算法伪代码

我正在用 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} 

它很好地呈现了这一点: 在此处输入图片描述

相关内容