楔子
最近遇到这样一个问题,需要将之前看过的文献的笔记整理汇总,整理成可阅读的文档(也就是用来交作业的阅读报告)和汇报时候的演示文稿,在阅读文献的过程中,我一直用Markdown整理笔记,所以学校要求的.doc的阅读报告很容易用pandoc或者类似的方式直接利用.md文件生成,但是怎么样才能尽量减少重复输入,直接将.md格式的笔记输出为slides呢?
这里是效果展示
分别是我的.md笔记、Latex文档以及生成的slides示例。
利用Beamer实现Markdown转换成slides
实现该操作,你需要:(以下为MacOS系统下的方法,其他系统类似)
Markdown编辑器:
网上一搜就有很多,Mou、MarkdownPad、Typora、Atom....当然,下面提到的Sublime Text3安装插件后也可以用作markdown编辑。安装MacTex环境:
这是Latex的编译环境,当然,Markdown也是支持Latex语法的,这也正是这篇文章提到的的方法之所以方便的原因。安装Sublime Text3:
之后可以用作beamer文档的编写,当然ST3的功能及其强大,依靠其强大的插件,基本可以实现任何文档的编辑工作。你可以用它记笔记,撸代码....安装Sublime Text3后,需要利用Package Tools安装LaTexTools,才能实现Sublime Text3对LaTex的编译。(其实,也可以用其他的编辑器编辑Latex文件,MacTex自带的Texshop就可以,还有TexStudio在我写本科毕业论时候也用过,但是感觉界面太丑了....)安装Skim:
这是一个pdf阅读器,Sublime Text3默认利用Skim查看编译后的pdf文件,当然你也可以任何你习惯使用的pdf阅读器。
接下来就很简单了,只需要将markdown套进beamer模版里就行了。
beamer其实是LaTex的document的一个类,不过大家平时写文章时候都用thesis、essay之类的。
可以在命令行直接输入查看Beamer的官方文档。
texdoc beamer
只要有一点儿LaTex的知识,很快就能上手用LaTex做幻灯片了。
利用Pandoc甚至可以直接实现Markdown到Beamer的转换!
利用这个方法,甚至不需要复制粘贴的重复,一行命令直接实现幻灯片的制作:
1. 安装pandoc,并且让它支持中文,可以这么做:
brew install pandoc
导出pandoc自动转换时的用到的模版文件
pandoc -D beamer > template.tex
在模版文件中添加 XeTeXlinebreaklocale "zh",这个命令用于在中文下实现自动换行
$if(mathfont)$setmathfont(Digits,Latin,Greek)[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} $endif$ XeTeXlinebreaklocale "zh"
命令行转换!完成!
pandoc -t beamer --latex-engine=xelatex --template=template.tex -V mainfont='STHeiti' /Users/zz/Desktop/Diary/xxxx.md -o xxxx.pdf
不过,第二个方法有一个缺点,公式和图片太多的时候,很容易出错。我的笔记里数学公式和图片很多,就不适合这个方法了。
结语
总之,文档里公式太多,不想用keynote和MS PPT重复输入,并且对展示特效要求不高,更特别是你的展示是利用自己之前的MarkDown文档的笔记制作的时候(好吧,限制条件还是挺多的....),可以试试用Latex制作Slides!P.S.
顺便一提,文小刚教授都在用Beamer制作幻灯片!