ubuntu 用 markdown + vscode + marp 编写 slides 并输出为 pdf

1. 动机

过去我用 latex beamer 做 slides,有以下抱怨:

  1. 每次修改以后,想看到结果,都需要重新编译,需要几秒到几十秒,难受。
  2. 关于文档结构的代码需要很多时间敲入,即 \begin{frame} 之类的代码。

最近一段时间用 markdown 写博客、笔记,发现很顺手(多用 typora),所以自然产生了用 markdown 做 slides 的想法。在网上一顿搜索+尝试,试用了 cleaver 等手段,最终决定用 marp,因为它有以下好处:

  1. 双栏显示 markdown 源码和 slides 效果,实时显示改动的结果。
  2. marp 作为 visual studio code 的一个插件导入,这二者都比较轻量级。

2. 安装

  • 安装 visual studio code
    在 ubuntu 应用中心搜索 visual studio code,自然会发现,然后点击安装即可
  • 安装 marp 插件
    打开 visual studio code 以后,在左侧侧边栏最下方,点击 Extensions,然后在搜索框中搜索 marp,即可得到 “Marp for VS code”,然后安装即可。装好以后重启 vscode,右上方有双栏显示图标,点击即可开始实时编辑+预览。

3. 转换出 pdf slides

3.1 vscode 直接转出pdf

vscode 安装了 marp 以后,会有一个marp的小图标,即两个部分重合的三角形。点一下这个图标,会有 "Export slide deck...",点一下以后,即可选择输出pdf。

3.2 命令行转出pdf

上面的办法显然更简单。这里记录的只是另一种复杂一点的选择。
marp 有一个命令行驱动的版本 marp-cli:
https://github.com/marp-team/marp-cli
其中有一个“ Download the latest standalone binary from release page”,从中下载的,然后按照之前博客里记录的,把可执行文件添加到 ubuntu 自定义命令中,所以可以命令行运行 marp 进行文件转换:
marp --pdf CleaverExample.md
即可自动生成 CleaverExample.pdf,打开以后会发现,就是和 latex beamer 相似的,一页纸一张 ppt 的样子。

4. 例子

这里摘录 markdown 例子

---
marp: true
theme: uncover
_class: invert
---

### A textual example

Content can be written in **Markdown!** New lines no longer need two angle brackets.

This will be in a separate paragraph

---

### A list of things

* Item 1
* Item B
* Item gamma

No need for multiple templates!

---

## 哈!

编译出来是如下的样子,
image

5. 鸣谢

https://sspai.com/post/55718 等网上链接,谢谢网友的分享!

posted on 2021-05-06 18:11  luyi07  阅读(2216)  评论(0编辑  收藏  举报

导航