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 等網上鏈接,謝謝網友的分享!