beamer插入图片_利用Pandoc将Markdown转化为beamer(七)Pandoc的命令行参数
这一系列最后一篇文章终于到要解决的问题上,如何将markdown转化为pdf幻灯片。主要将解决如下几个问题:
- 命令行默认参数的效果;
- 修改模板支持中文;
- 可控参数。
其中第一部分,仅仅简单论述一下默认产生幻灯片的问题。第二,三部分相对比较重要,这涉及到最终ppt的效果。需要注意的是,如果掌握beamer的用法,我们永远可以通过生成tex中间文件来解决大部分的问题,markdown仅仅是内容创造时的便利工具。
命令行默认参数的效果
将markdown文件直接转化为beamer的命令如下。
pandoc -t beamer test.txt -o test.pdf
这里假设我们将markdown保存为名字叫做 test.txt的文件中。命令行中-t参数说明要转化为幻灯片的种类。pandoc支持将markdown转化为多种格式的幻灯片,包括利用javascript的一些网页版幻灯片。在这里,我们指定生成latex中beamer格式的幻灯片。-o表示输出文件的类型,这里直接输出pdf格式。当然也可以用后缀说明产生其它格式的文件,比如生成tex,然后我们再手动编译。如下面的markdown,我们分别转化为pdf和tex格式。
% Example
% me
% 3010.3.1# level1 A
## level2 bxi'an## level2 c
下面是pdf格式的截图。
下面是tex源文件。大家会发现它少了tex文件的导言区,这部分在默认的模板当中。
section{level1 A}label{level1-a}begin{frame}{level2 b}xi'anend{frame}begin{frame}{level2 c}end{frame}
由于在默认的条件下,pandoc将markdown中的内容解释什么样的内容有一定的变数,因此输出的行为是不可控的,因此需要命令行提供一些支持,这是我们后面要讨论的内容。首先来看如何支持中文 。
修改模板支持中文
目前对于中文支持比较好的tex引擎为xelatex,因此如果需要支持中文需要选择xelatex引擎。除此之外,我们还要修改pandoc中,markdown转化为beamer的默认模板,加入中文包。具体操作过程以下面的例子说明。
下面是一份中文markdown文件。
% 标题
% 作者
% 时间
首先要导出pandoc中默认模板,命令如下。
pandoc -D beamer > bt.tex
其中-D表示导出默认模板,后面跟导出文件的类型,这里是beamer。由于内容较长我们就不在这里粘贴,在模本文件bt.tex中加入中文支持如下,即把下面这行插入bt.tex文件中。
usepackage[UTF8]{ctex}
最后,利用pandoc转化markdown文件,需要指定新的模板即bt.tex文件和新的引擎xelatex,命令行如下。(假设markdown文件叫做test.txt)
pandoc -t beamer --latex-engine=xelatex --template=bt.tex test.txt -o test.pdf
效果如下图。
可控参数
在命令行还有很多可控制的参数,用来修改生成beamer的结构和风格,现说明几个常用的参数。
1.修改层级
如果在markdown中,并没有强制换页,我们可以指定第级标题转化为一页ppt。如下面的例子。
# level1 A## level2 bhello world### level3xi'an#### level4## level2 c
那么参数行的命令如下,我们分别设定1,2,3来看一下不同的效果。
pandoc -t beamer test.txt -o test.pdf --slide-level 1
pandoc -t beamer test.txt -o test.pdf --slide-level 2
pandoc -t beamer test.txt -o test.pdf --slide-level 3
通过上面的比较,我们可以发现。当第n级标题指定为单独一个frame后,那么高于这一级的标题全部转化为首页的风格,并且高于这一级的内容将被忽略,比如那个hello world的内容,在最后一幅图中就没有显示出来。
2.添加主题和颜色
在命令行,还可以指定形成ppt的风格,命令行如下。
pandoc -t beamer test.md -o test.pdf --slide-level 1 -V theme=Warsaw -V colortheme=seahor
se
3. 支持在markdown中使用latex
在默认的情况下,在markdown文件中是可以直接使用tex语法的,如下面的例子。我们利用beamer中的column,对第二页进行分列,效果见下面截图。
# level1 A## level2 bbegin{columns}
column{0.5textwidth}
hei
column{0.5textwidth}
Oh
end{columns}
总结
这一系列的文章结束后,在这里总结一下。我认为利用markdown生成beamer的优势在于markdown的语法很简单,我们可以首先将焦点集中在内容的制作上,然后通过工具链生成ppt。并且由于pandoc的扩展和丰富的支持,原则上beamer可以实现的效果,都可以在一份md文件中完成。
这一系列的文章还缺少不少演示中所需要的其它元素,比如插入图片,参考文献和脚注等功能。这些都可以通过阅读手册掌握。如果需要一些高级的画图和标记功能,可能还要熟悉tik这个tex的扩展包。
总之在制作课堂幻灯片和学术演讲风格的场景下,利用这些工具可以方便快捷地实现需要的效果。
beamer插入图片_利用Pandoc将Markdown转化为beamer(七)Pandoc的命令行参数相关推荐
- python输入正方形边长值、计算其面积_尝试修改列6.2编写命令行参数解析的程序,解析命令行参数所输入边长的值,计算并输出正方形的周长和面积。_学小易找答案...
[简答题] [单选题]ZigBee 中每个协调点最多可连接______个节点,一个ZigBee网络最多可容纳______个节点.( ) [资料题]DWord-Ans.pdf 索引和目录.pdf 完成效 ...
- 3gpp文件头文件解析_居于LLVM 的命令行参数解析
在写命令行程序的时候经常需要解析各种命令行参数.打印help信息等,觉得非常的麻烦.今天介绍一种超级棒的命令参数解析的方法:居于LLVM 的命令行参数解析,有了它妈妈再也不用担心我不会解析命令行参数^ ...
- opencv 使用命令行参数法显示图片
imread()函数 返回值,Mat 类型, 即返回读取的图像,读取图像失败时返回一个空的矩阵对象(Mat::data == NULL) 参数1 filename, 读取的图片文件名,可以使用相对路径 ...
- 安装rpm包命令_编程模板-R语言脚本写作:最简单的统计与绘图,包安装、命令行参数解析、文件读取、表格和矢量图输出...
不常用R的朋友,可能并不能意识到好的编辑模板带来的长期效率提高和代码重用性,非计算机专业科研人员且需要使用R语言,此文会对您有帮助. 个人认为:是否能熟悉使用Shell(项目流程搭建)+R(数据统计与 ...
- 控制台发送get命令_.NET Core使用命令行参数库构建控制台应用程序
前言 在我们开发中可能需要设计一次性应用程序,这些实用程序可以利用接近原始源代码的优势,但可以在与主Web应用程序完全独立的安全性上下文中启动.具体在 [管理过程](https://12factor. ...
- 命令行参数怎么输入_太好用了!谷歌开源的命令行接口工具fire
大家使用最多的命令行工具应该是pip了,pip提供了很多的命令行参数和选项,我们在终端使用pip install --help命令可以查看install子命令的帮助文档. 可以看到,除了最常用的pip ...
- Go程序:利用命令行参数做四则运算
1.编写源程序compute.go /* * 功能:利用命令参数进行加减乘除运算 * 日期:2015年6月18日 */ // compute.go package main import ( ...
- 终于要把魔爪伸向shell编程了_命令行参数数量预检测——莫韵乐的小脚印笔记
终于要把魔爪伸向shell编程了_命令行参数数量预检测 有时候我们在时使用shell的时候都需要传入一些参数,但是有时候我们传入的命令行参数数量不正确就很容易发生错误,因此我们需要在需要传入参数的sh ...
- 命令行参数在VB中的利用
分享到 一键分享 QQ空间 新浪微博 百度云收藏 人人网 腾讯微博 百度相册 开心网 腾讯朋友 百度贴吧 豆瓣网 搜狐微博 百度新首页 QQ好友 和讯微博 更多... 百度分享 相册 广场 游戏 kf ...
- java 读取excel 图片_利用Java+POI 读写Excel文档向Excel中插入图片
一.POI简介 Jakarta POI 是apache的子项目,目标是处理ole2对象.它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97- ...
最新文章
- 0x15.基本数据结构 — 字符串 (KMP算法(含详细证明)和最小表示法)
- idea整合 spring boot jsp mybatis
- TensorFlow(4)-TFRecord
- Brainstorm-the walkthrough example: Image Classification
- 计算机网络 —— 计算机网络的性能指标
- 【X264系列】之不同强度的printf
- flow使用_使用Microsoft Flow进行文本分析
- LeetCode解题思路—滑动窗口法
- 设计模式实现一个简单的缓存
- Rust:String::from()、 into()、to_string()哪个效率高?
- GPS经纬度转84坐标系
- cpu超线程优缺点_CPU超线程对游戏帧数有多大影响?
- LEARNING ACTIONABLE REPRESENTATIONS WITH GOAL-CONDITIONED POLICIES
- 制作U盘引导盘,安装Ubuntu18.04系统
- 计算机各键的名称和作用,space是什么键 键盘键位名称及功用详解
- 大规模MIMO的信道互易性,信道信息反馈
- Robot Toolbox (一):Puma机器人仿真
- 论文解读2019INFOCOM_Calibrate: Frequency Estimation and Heavy Hitter Identification with LDP
- 31个有点意思数据可视化作品!
- 斗鱼html5插件不可用,斗鱼html5插件
热门文章
- CentOS7+rsync+sersync实现数据实时同步
- bzoj 3514: Codechef MARCH14 GERALD07加强版
- 在Sql的where中使用case进行不同字段筛选|Case的2种使用方法和一种少为人知的用途...
- 【从C到C++学习笔记】内敛函数/内敛函数与带参数宏的区别/新的类型转换运算符
- 基于VS2015的C#的GDAl环境配置
- ENVI去除NDVI/EVI异常值、NAN(not a number,无效值)、无穷大(inf)
- 【劲峰论道时空分析技术-学习笔记】5 时空格局和异常探测
- 【劲峰论道时空分析技术-学习笔记】2 时空可视化
- Unable to allocate bufptr memory (errval = -1)(CRLF与LF格式转换)问题的解决
- 搭建rtmp推流服务器