优雅的将 HackMD 文档导出为 PDF

less than 1 minute read

Published:

如何将 HackMD 在线文档优雅的的导出为 PDF 格式。


问题

只是关于一个小技巧的随笔。

理工科免不了常常写文档写报告写博客。比较正式的写论文必须要用 LaTeX,我一般用在 VSCode 里搭的环境来写。但平时写一个课程作业或博客也用的话,我觉得未免太过麻烦。所以我更倾向于 Markdown

Markdown 的好处在于写作时不拘泥于格式,语法简单,想到什么写什么,想写什么公式就写什么公式,想贴图就用 HackMD 自带的图床(复制粘贴即可),图片大小爱设置多大就可以设置多大,想贴代码就随便贴代码。用 Markdown 可以真正的感受到信息时代打字写作的快乐。

而众多 Markdown 编辑器里我最喜欢在线的 HackMD。一句 [toc] 直接列出目录,写作的同时实时更新,自带图床随便贴图,公式的渲染基本没出过问题,各个部分颜色的使用很对我胃口,可以多人合作,等等等等很多好处。像其他的比如 Overleaf 里的 \usepackage{markdown}VSCode 的一些插件等等,用起来总有或多或少的不足。

HackMD 我从大一用到研一,之前一直有一个让我困扰的问题,如何优雅的输出 PDF。因为有不少课程老师年龄较大,对 Markdown 了解不多,为了格式统一,往往作业或者报告要求的格式是 PDF

HackMD 如果直接加上 \usepakage{markdown} 复制到 Overleaf,还是会报不少编译错误,尤其是对其中图片的处理不是很好;如果直接复制到 VSCode,往往有些公式不能正常渲染,得一一修改,目录也不能显示。

那如果直接用 chrome 右键打印呢?我确实很长一段时间都这么做,但我发现这样弄出来,超链接的链接会直接显示出来,而且代码高亮会失效,整个代码块纯黑非常丑陋。

解决

最近偶尔发现了一个小技巧可以较好解决上述问题。

首先,F12 打开开发者工具。

其次,Ctrl+Shift+P 输入 Screen,找到截图功能,截下整个网页。注意图片能包含的网页长度有限,可以分几个文档截多次。

截完图之后呢?图片用 chrome 打开,调整好大小约 $76%$,右键打印,设置为 $A5$,缩放大小 $50$,打印后会发现效果还不错。

多个文档的话用 Smallpdf 合成一下即可。

其他

VSCode 后来捣鼓了一下感觉又行了。

装了以下几个插件:

Markdown Math
Markdown PDF
Markdown TOC
Markdown Preview Enhanced

只需要简单设置一下 Markdown Preview Enhanced,让它打印背景,否则不设置的话直接打印 PDF 会让代码块的背景颜色也是纯白色的。

整出来效果感觉还不错,以最近写的 Grover 算法的博客为例,输出的 PDF 效果如下:


声明:本文采用 CC BY-NC-SA 4.0 授权。

This work is licensed under a CC BY-NC-SA 4.0.