Markdown转Beamer
技术背景
在早期我写过一些文章介绍用RMarkdown写Beamer,还有相应的TinyTex配置。后来Xie Yihui大神发文离开了RMarkdown核心团队,想来中文社区的支持力度和活跃度可能会有所降低。于是干脆直接用pandoc,把普通的markdown文件编译成Latex Beamer PDF格式。
pandoc的安装
这里给的是Ubuntu Linux操作系统的pandoc安装方案:
$ apt install pandoc
安装完成后可以运行如下指令确认是否安装成功:
$ pandoc --help
以及查看版本:
$ pandoc --version
pandoc 1.19.2.4
Compiled with pandoc-types 1.17.0.5, texmath 0.9.4.4, skylighting 0.3.3.1
Default user data directory: /root/.pandoc
Copyright (C) 2006-2016 John MacFarlane
Web: http://pandoc.org
This is free software; see the source for copying conditions.
There is no warranty, not even for merchantability or fitness
for a particular purpose.
安装pdflatex
系统里面没有pdflatex的话无法将latex文件编译成pdf文件,这里提供的是一个简略版安装:
$ apt install texlive texlive-xetex latex-cjk-all texmaker
安装完成后,随便做一个markdown文件测试下编译效果:
到这一步,基本上大部分的英文Markdown Beamer PDF构建就没什么问题了。
代码块和公式块
这个是比较常用的功能,相关的测试Markdown文件如下:
---
title: "Test Markdown"
author: "Dechin"
date: "`2022.03.29`"
output:
beamer_presentation:
theme: Dresden
colortheme: seagull
---
# Title 1
## Slide 1/2
- Bullet 1
- Bullet 2
- Bullet 3
## Slide 2/2
\```python
import numpy as np
print ('This is a python code block')
\```
# Title 2
## Slide 1/1
Test Equation input
$$
-i\hbar\frac{\partial}{\partial t}\left|\psi\right>=E\left|\psi\right>
$$
需要注意的是,案例中Python代码块前面的两个斜杆要去掉,这里放两个斜杆是为了防止跟博客园平台的Markdown语法冲突。使用Pandoc直接编译效果如下:
这个样式就表示编译成功。
主题和颜色主题
这个是跟此前的RMarkdown非常不同的一个地方,RMarkdown的语法中是在.rmd的Markdown文件中直接配置相关的theme和colortheme。但是在上面的章节中我们可以显然的看到这个主题和颜色主题配置没有被编译进去。在pandoc编译时,我们需要在命令行中配置相应的主题,例如这样编译:
$ pandoc -t beamer -o md1.pdf -V theme=Dresden md1.md
使用这种方法可以配置Dresden主题,也是我个人比较常用的一个主题,效果大概如下:
使用同样的-V可以进一步配置颜色主题:
$ pandoc -t beamer -o md1.pdf -V theme=Dresden -V colortheme=seagull md1.md
这里配置了一个灰色主题:
关于Beamer的更多主题,可以参考这个网站。关于pandoc相关主题的更多配置选项,可以参考其中文手册。
中文内容
如果文档中有中文内容,可以先安装一个字体配置工具:
$ apt install fontconfig
Reading package lists... Done
Building dependency tree
Reading state information... Done
fontconfig is already the newest version (2.12.6-0ubuntu2).
fontconfig set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 38 not upgraded.
查询本地有哪些中文字体:
$ fc-list :lang=zh
/usr/share/fonts/truetype/arphic-bkai00mp/bkai00mp.ttf: AR PL KaitiM Big5,文鼎PL中楷:style=Regular
/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf: Droid Sans Fallback:style=Regular
/usr/share/fonts/truetype/arphic-gkai00mp/gkai00mp.ttf: AR PL KaitiM GB,文鼎PL简中楷:style=Regular
/usr/share/fonts/truetype/arphic-gbsn00lp/gbsn00lp.ttf: AR PL SungtiL GB,文鼎PL简报宋:style=Regular
/usr/share/fonts/truetype/arphic-bsmi00lp/bsmi00lp.ttf: AR PL Mingti2L Big5,文鼎PL細上海宋:style=Regular
如果没有中文字体,可以考虑从Windows系统迁移一些字体过来,这里暂不做介绍。然后在编译的时候,加上一个--latex-engine=xelatex的选项(不加会编译报错),和字体配置选项(不加中文会被编译成空白),具体编译指令如下:
$ pandoc --latex-engine=xelatex -t beamer -o md1.pdf -V theme=Dresden -V colortheme=seagull -V mainfont='AR PL KaitiM GB' md1.md
生成的pdf效果如下:
这样就实现了中文内容的编译。
总结概要
通过使用pandoc,使得我们可以直接将普通的Markdown文件编译成一个Latex Beamer PDF格式的演示文稿文件。相比于RMarkdown有更强的灵活性和通用性,只是不能在生成文稿时运行相关代码,不过这点对于那些只需要一个“静态”演示文稿的人来说影响不大。
版权声明
本文首发链接为:https://www.cnblogs.com/dechinphy/p/pandoc.html
作者ID:DechinPhy
更多原著文章:https://www.cnblogs.com/dechinphy/
请博主喝咖啡:https://www.cnblogs.com/dechinphy/gallery/image/379634.html
Markdown转Beamer的更多相关文章
- 通过R Studio用Markdown写Beamer
技术背景 在写一些学术演示文档时,经常有可能用到Beamer--一种Latex的学术风PPT模板,比如下图所示的这种: 这种风格的演示文档有几个明显的优点:简约.严肃.可以用Latex敲公式和推导.可 ...
- 使用Markdown+Pandoc+LaTex+Beamer制作幻灯片
概述 为什么使用markdown? mardown是一种轻量级的标记语言,语法简单,可读性好,并且容易转化成其他格式的文档, 在技术文档撰写中得到越来越广泛的应用.相信大家对markdown都有一定了 ...
- Markdown转pdf
最近由于项目需要,要用到把markdown转换成pdf文件下载下来,最开始的时候想到的是先把markdown转成html,用到的是Parsedown:然后再将html转成pdf,用到了html2pdf ...
- Markdown+Pandoc 最佳写作拍档 (mailp.in)
Markdown+Pandoc 最佳写作拍档 我们为什么写作? 自从人们开始写作,写作便是记录.抒发.批判.反省的好工具.从石板上的刻印到笔墨纸砚,再到如今的信息时代.从静态的个人主页到托管博客,从个 ...
- Wiz写Blog? 不会再爱了,全面拥抱Markdown+Pandoc
Wiz写Blog? 不会再爱了,全面拥抱Markdown+Pandoc 文章转载自 http://iout.in/archives/454.html 我们为什么写作? 自从人们开始写作,写作便是记录. ...
- [置顶]
献给写作者的 Markdown 新手指南
作者:http://jianshu.io/p/q81RER 出处:http://jianshu.io/p/q81RER 献给写作者的 Markdown 新手指南 简书 「简书」作为一款「写作软件」在诞 ...
- NiceMark——我的Markdown编辑器
NiceMark--我的Markdown编辑器 闲来无事,写了一个Markdown编辑器.基于electron,完全采用Web前段技术(Html,css,JavaScript)实现.代码已托管在Git ...
- Markdown 图片助手-MarkdownPicPicker
title: Markdown 图片助手 v0.1 toc: true comments: true date: 2016-06-04 16:40:06 tags: [Python, Markdown ...
- 前端学Markdown
前面的话 我个人理解,Markdown就是一个富文本编辑器语言,类似于sass对于css的功能,Markdown也可以叫做HTML预处理器,只不过它是一门轻量级的标记语言,可以更简单的实现HTML ...
- 好用的Markdown编辑器一览 readme.md 编辑查看
https://github.com/pandao/editor.md https://pandao.github.io/editor.md/examples/index.html Editor.md ...
随机推荐
- Android复习(四)权限—>请求应用权限
每款 Android 应用都在访问受限的沙盒中运行.如果应用需要使用其自己的沙盒外的资源或信息,则必须请求相应权限. 要声明您的应用需要某项权限,您可以在应用清单中列出该权限,然后在运行时请求用户批准 ...
- 时隔半年 DotNetGuide 已突破了 6.6K + Star,持续更新,欢迎更多小伙伴PR投稿!
前言 记得今年5月份的时候 DotNetGuide GitHub才突破5k Star,经过持续不断地输出时隔半年 DotNetGuide 已突破了 6.6K + Star!并且由我创建的DotNetG ...
- ABP VNext 系列:框架启动流程以及依赖注入原理和源码分析
简单介绍 ABP VNext Github 地址:https://github.com/abpframework/abp 官网文档地址:https://abp.io/docs/latest 官网:ht ...
- 你真的理解 Kubernetes 中的 requests 和 limits 吗?
在 Kubernetes 集群中部署资源的时候,你是否经常遇到以下情形: 经常在 Kubernetes 集群种部署负载的时候不设置 CPU requests 或将 CPU requests 设置得过低 ...
- 这些HTTP协议状态码你知道吗?
使用ASP.NET/PHP/JSP 或者javascript都会用到http的不同状态,一些常见的状态码为: 200 – 服务器成功返回网页 404 – 请求的网页不存在 503 – 服务不可用 1x ...
- 下一代云电脑技术来临,为什么PC Farm才是未来,以ToDesk为例
近年来飞速发展的云电脑技术,正在挤压传统电脑的生存空间.由于用户对电脑计算能力的要求日益增高,而传统电脑往往会受限于硬件性能无法更新,更换花费较高等因素,难以满足用户对高性能电脑的期待. 与此同时,下 ...
- 熟悉使用DOS操作命令
DOS操作实验 一.实验目的 DOS是市场上早期获得巨大成功的桌面操作系统,现在很多同学都不太熟悉.本实验的目的就是让同学们读者从操作系统理论的观点来重新认识它们,了解和掌握DOS有关用户接口的特点. ...
- Tomcat弱口令上传war包
Tomcat弱口令上传war包 思路: 利用弱口令登录管理页面 ---> 部署war包 ---> getshell 环境: vulhub靶场:tomcat/tomcat8 启动 ...
- Ext.Net & ASP.NET
实际上己有很完善的asp.net.控件实现ExtJS的功能,使用开发人员不用过多了解EXtJS即可实现其一样的功能. 使用Asp.net web form /MVC方式均可.可以很快的上手开发,如果用 ...
- 没有MAC电脑,如何申请苹果开发证书、上架APP Store?
[引言] 使用uni-app进行跨平台APP开发时,苹果ios平台最终还是要通过APP Store渠道发布,调试时uni-app基座也必须使用开发者证书签名后才能安装.对于使用MAC电脑的开发者,倒也 ...