ubuntu 用 markdown + vscode + marp 编写 slides 并输出为 pdf
1. 动机
过去我用 latex beamer 做 slides,有以下抱怨:
- 每次修改以后,想看到结果,都需要重新编译,需要几秒到几十秒,难受。
- 关于文档结构的代码需要很多时间敲入,即 \begin{frame} 之类的代码。
最近一段时间用 markdown 写博客、笔记,发现很顺手(多用 typora),所以自然产生了用 markdown 做 slides 的想法。在网上一顿搜索+尝试,试用了 cleaver 等手段,最终决定用 marp,因为它有以下好处:
- 双栏显示 markdown 源码和 slides 效果,实时显示改动的结果。
- 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!
---
## 哈!
编译出来是如下的样子,
5. 鸣谢
https://sspai.com/post/55718 等网上链接,谢谢网友的分享!