Markdown: 编译pdf
在网上发布博文的时候希望能顺便在本地保存一份记录,这样总结的东西很多的时候就可以写成一本给自己看的小书了。在linux下面有两个选择latex和markdown,虽然latex非常强大,但是很少有博客网站支持latex格式的源代码,而markdown受到的支持则很多。而在linux下面利用pandoc库也可以方便地把markdown源文件转化成pdf格式在本地保存。至此使用window的小白就可以不用往下看了。
安装pandoc
这里以linux fedora25为例说明pandoc库安装的方法
dnf search pandoc
sudo dnf install pandoc.x86_64
这样就完成了安装。
生成pdf[1]
对于写好的markdown源码文件,使用下面的命令即可
pandoc test.md -o test.pdf
哈哈,是不是很简单?
Wait a moment! About中文[2]
只是使用上面的步骤,可以保证你的pdf文件中只显示英文,中文哪去了呀?要解决这个问题,还是得借助万能的latex大哥,首先要在系统中安装Texlive的latex支持包,里面一般是默认包含了CJK中文库的,一般用xelatex中文都可以完美地解决。在这个前提下,把markdown源代码这样编译就行了。
pandoc --latex-engine=xelatex -V CJKmainfont='WenQuanYi Micro Hei' markdown_study.md -o markdown_study.pdf
其中添加的命令选择就是借助了万能的xelatex引擎,至于中文字体,文泉驿字库是一般linux随机自带的,如果喜欢其它字体,可能需要再折腾一下。
哈哈,关键时候还是得抱latex大腿!
至于怎么安装Texlive并支持中文,等有空时另写一篇博文总结吧!
在pdf中生成目录[3]
这个需要在编译前再加上一段命令
pandoc --toc
剩下的操作和第二节的相同,注意,要同时使用--toc --latex-engine才有效哟!完整的形式如下:
pandoc --toc --latex-engine=xelatex -V CJKmainfont='WenQuanYi Micro Hei' markdown_study.md -o markdown_study.pdf
这样就可以自动在pdf的开始位置生成目录了,还自带超连接到内容页哟,是不是很棒呀?这个在自己写成比较长的小书的时候特别有用。
插入图片[4]

控制图片的大小
<img src="http://images2015.cnblogs.com/blog/985636/201707/985636-20170713100847618-872361186.png" width = "500" height = "400" alt="1D fft spectrum" />
页面设置[5]
在转化成pdf前,还需要对页面和字廷等做进一步的限制,这个可以在.md的最开头加上这样一段设定:
---
fontsize: 14pt
gemetry: b5paper
---
# 最后的感觉
使用markdown生成pdf的话,知道可以这么干就行,真得要这么做的话,有些折腾费时。
要写pdf,王道还是latex,以后要整理的小书还是用latex吧!
参考:
[1]Stackoverflow
[2]知乎
[3]man pandoc
[4]https://rpubs.com/RatherBit/90926
[5]Stackoverflow
Markdown: 编译pdf的更多相关文章
- MarkDown to PDF
前面随便说说 之前在 windows 上一直习惯用 cmdmarkdown 把要写的东西写下来,再通过 typora 转成 pdf:现在很多时候在用 Ubuntu,需要把写完的作业转成 pdf 交上去 ...
- atom markdown转换PDF 解决AssertionError: html-pdf: Failed to load PhantomJS module
atom编辑器markdown转换PDF 解决AssertionError: html-pdf: Failed to load PhantomJS module. You have to set th ...
- Markdown转pdf
最近由于项目需要,要用到把markdown转换成pdf文件下载下来,最开始的时候想到的是先把markdown转成html,用到的是Parsedown:然后再将html转成pdf,用到了html2pdf ...
- markdown 转 pdf 方法
(1)Mou: (macosx 系统下的markdown编辑器,转pdf完美,推荐) http://25.io/mou/ (2)Chrome 打印 (打印得很好看,缺点是转好的pdf上的文字有时候不能 ...
- markdown转为pdf文件
要求: 把.md格式转为.pdf格式,并批量处理,最后将多个pdf文件合并为一个pdf并以文件名作为书签名 解决思路: 1.md格式的markdown文件转为html 为了将 md 格式转换成 htm ...
- 使用 VS Code + Markdown 编写 PDF 文档
背景介绍 作为一个技术人员,基本都需要编写技术相关文档,而且大部分技术人员都应该掌握 markdown 这个技能,使用 markdown 来编写并生成 PDF 文档将会是一个不错的体验,以下就介绍下如 ...
- windows使用Pandoc将Markdown转换为PDF文件
pandoc下载:https://github.com/jgm/pandoc/releases/tag/1.19.2.1 //windows下载msi文件 miktex下载:https://mikte ...
- DocNan博文目录
算法 时频分析:窗口傅立叶变换 数学误区:乘积的求和 MHD simulation with python Linux Linux: Bash基本命令 Linux: 安装和启用firefox浏览器的j ...
- R+markdown+LaTeX 中文编译解决方案
一丢丢前言 很久之前曾试图以Rmarkdown编译pdf文档,无奈怎么鼓捣都会error,搜索了很久都没能找到比较好的解决方案.在配置上将编译器调成了xeLaTeX后就不了了之.这两天心血来潮研究了一 ...
随机推荐
- Ajax与Pjax请求在服务端是如何识别的
我在后台处理ajax和一般的网页请求时,一般是需要额外加个参数进行区分的.比如使用get参数的is_ajax=1,后台判断有is_ajax=1成立时,表明该请求是ajax请求,遂可区分处理.我正在使用 ...
- Codeforces 803F Coprime Subsequences (容斥)
Link:http://codeforces.com/contest/803/problem/F 题意:给n个数字,求有多少个GCD为1的子序列. 题解:容斥!比赛时能写出来真是炒鸡开森啊! num[ ...
- 学习MVC之租房网站(七)-房源管理和配图上传
在上一篇<学习MVC之租房网站(六)-用户登录和权限控制>完成了后台用户登录和权限控制功能的开发,接下来要完成的是房源的管理,用户在后台新增.编辑房源信息,供前台用户操作. 一 房源管理 ...
- MYSQL CASE WHEN THEN END 用法
SELECT qr_cash_record.*,CASE WHEN cashrecord_type = 3 THEN (SELECT product_title FROM qr_fundsupport ...
- Spring AOP的切入点表达式
在spring Aop中要使用AspectJ的切点表达式语言来定义切点.Spring仅仅支持AspectJ切点指示器的一个子集.下表列出了Spring AOP所支持的AspectJ切点指示器. 在Sp ...
- 基于DotNet Core的RPC框架(一) DotBPE.RPC快速开始
0x00 简介 DotBPE.RPC是一款基于dotnet core编写的RPC框架,而它的爸爸DotBPE,目标是实现一个开箱即用的微服务框架,但是它还差点意思,还仅仅在构思和尝试的阶段.但不管怎么 ...
- 空间索引 - GeoHash算法及其实现优化
h1,h2,h3,h4,h5,h6,p,blockquote { margin: 0; padding: 0 } body { font-family: "Helvetica Neue&qu ...
- python 爬取淘宝的模特照片
前段时间花了一部分时间学习下正则表达式,总觉得利用正则要做点什么事情,所以想通过爬取页面的方式把一些美女的照片保存下来,其实过程很简单. 1.首先读取页面信息: 2.过滤出来照片的url地址: 3.通 ...
- 详解CockroachDB事务处理系统
本文提到的一些术语,比如Serializability和Linearizability,解释看Linearizability, Serializability and Strict Serializa ...
- sublime text3 支持终端打开文件
sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl