之前本屌用的方法是:

  • 使用sublime text中的markdown preview将md文件转换成html

  • 在浏览器中打开html网页,新建word文件,将网页全部复制到word

  • 将word另存为pdf

这样确实可以生成pdf,而且还可以保留一些定制过的markdown(如github flavored markdown)的样式, 不过就是生成的pdf体积有点大,因为html中的用于定制markdown的css也被复制到word中了

更好的方法retext

安装

终端:apt-get install retext或在ubuntu软件中心搜索retext,然后安装.

配置

  • 编辑->改变默认字体,弹出对话框,在左下方找到书写系统,点击,在里面选择简体中文,这时坐上方的字体会做出相应改变,在字体中选择一个,本屌选择的是Sans Serif,因为这种字体被支持的比较广.
    只所以这样做是因为retext的默认字体是ubuntu的系统字体,不能保证转换成的pdf在windows,mac上被查看时一样没有问题.

  • 编辑->实时预览,或Ctrl+L,让retext的界面像简书中写文章的界面一样.

图片描述

  • 编辑->使用Webkit渲染,让生成的markdown预览还有pdf更美观

  • 编辑->Preferences,里面可以设置

    • 自动保持

    • 高亮当前行

    • 显示行数

转换成pdf

图片描述
点击右边的打印图标,弹出对话框.上面可以设置纸张大小,输出路径等.设置好后,点击右下角打印,md文件就转换成pdf了

tip

  • 在ubuntu环境下,如果你的默认浏览器设置的是chrome,这时点击转换成的pdf中的链接,chrome会没反应;如果默认浏览器设置的是firefox,则一切正常,firefox会打开链接.

  • 关于markdown中的换行,不同markdown解析生成的html可能会不一样.比如段落中的换行,很多人喜欢直接一个回车搞定,然而这种方法有时在retext中就不会奏效.如果两次回车,空出一行的话,又会多出一个<p>标签,让人感觉两行间上下间距有点大.
    稳妥的办法是在要换行的地方,敲击2个以上的空格.markdown会将这些空格解析为</br>,这样就不会产生大的上下行间距了.


TheViper
465 声望16 粉丝