在网上发布博文的时候希望能顺便在本地保存一份记录,这样总结的东西很多的时候就可以写成一本给自己看的小书了。在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]

![captions](.../fig.png)

控制图片的大小

<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的更多相关文章

  1. MarkDown to PDF

    前面随便说说 之前在 windows 上一直习惯用 cmdmarkdown 把要写的东西写下来,再通过 typora 转成 pdf:现在很多时候在用 Ubuntu,需要把写完的作业转成 pdf 交上去 ...

  2. 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 ...

  3. Markdown转pdf

    最近由于项目需要,要用到把markdown转换成pdf文件下载下来,最开始的时候想到的是先把markdown转成html,用到的是Parsedown:然后再将html转成pdf,用到了html2pdf ...

  4. markdown 转 pdf 方法

    (1)Mou: (macosx 系统下的markdown编辑器,转pdf完美,推荐) http://25.io/mou/ (2)Chrome 打印 (打印得很好看,缺点是转好的pdf上的文字有时候不能 ...

  5. markdown转为pdf文件

    要求: 把.md格式转为.pdf格式,并批量处理,最后将多个pdf文件合并为一个pdf并以文件名作为书签名 解决思路: 1.md格式的markdown文件转为html 为了将 md 格式转换成 htm ...

  6. 使用 VS Code + Markdown 编写 PDF 文档

    背景介绍 作为一个技术人员,基本都需要编写技术相关文档,而且大部分技术人员都应该掌握 markdown 这个技能,使用 markdown 来编写并生成 PDF 文档将会是一个不错的体验,以下就介绍下如 ...

  7. windows使用Pandoc将Markdown转换为PDF文件

    pandoc下载:https://github.com/jgm/pandoc/releases/tag/1.19.2.1 //windows下载msi文件 miktex下载:https://mikte ...

  8. DocNan博文目录

    算法 时频分析:窗口傅立叶变换 数学误区:乘积的求和 MHD simulation with python Linux Linux: Bash基本命令 Linux: 安装和启用firefox浏览器的j ...

  9. R+markdown+LaTeX 中文编译解决方案

    一丢丢前言 很久之前曾试图以Rmarkdown编译pdf文档,无奈怎么鼓捣都会error,搜索了很久都没能找到比较好的解决方案.在配置上将编译器调成了xeLaTeX后就不了了之.这两天心血来潮研究了一 ...

随机推荐

  1. Docker - 定制镜像

    Dockerfile Docker Hub拥有大量高质的官方镜像:可直接使用的服务类镜像.语言应用镜像.基础操作系统镜像等,满足绝大部分需求. 此外,可以通过定制镜像的方式来满足实际使用中的特定需求. ...

  2. MyEclipse9.0破解

    http://www.cnblogs.com/liulanglang/archive/2011/11/15/2249702.html

  3. 文件查找---find

    文件查找(find) 1 find 简单的说,就是实时查找指定的内容或条件.特点:最新.最快.最准确. 用法:find [查找路径] [查找条件] [找到后进行的动作]     eg. find /e ...

  4. MyEclipse修改项目名称后,部署到tomcat问题。

    1.问题描述: 修改项目名称后,部署到tomcat server,部署出来的文件夹名还是旧的名称. 2.解决方案: 光把项目重命名是不够的,还要修改一下Myeclipse里面的配置. a). 工程名- ...

  5. loadrunner提高篇-场景设计实践

    集合点设置 一.为什么要进行集合点设置? 因为在测试过程中,并不能保证所有的Vuser都在同一时刻进行操作,这样就达不到并发测试的目的,故需要用到集合点技术,集合点的意思是如果在一个操作之前设置了一个 ...

  6. 安装mongodb后启动报错libstdc++

    安装mongo后启动报错如下图 显然说是libstdc++.so文件版本的问题,这种一般都是gcc版本太低了 接着查询gcc的版本    strings /usr/lib/libstdc++.so.6 ...

  7. 双击更新所有已安装的python模块

     首先声明我是一个升级控.几乎每天会查看一下手机.电脑是否有新的应用需要更新. 同样,我的python模块也是这样.百度了一下,发现目前还没有人将更新所有模块做成一件命令,但是查到了指引,主要就是两个 ...

  8. 深入理解C#中的String

    关于C#中的类型 在C#中类型分为值类型和引用类型,引用类型和值类型都继承自System.Object类,几乎所有的引用类型都直接从System.Object继承,而值类型具体一点则继承System. ...

  9. sort命令详解

    1.工作原理: sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出. [rocrocket@rocrocket programmi ...

  10. angularJS ng-change错误的解决方案

    导入文件:<script src="../../js/angular/angular-file-upload/angular-file-upload.js"></ ...