时不时能看到10页左右的文章pdf文件动辄几十兆大小,下载慢分享慢还占用存储空间。
论文大小主要取决于插图的大小,这是一台需要权衡多个因素的问题。科学论文插图需要完整地传达信息因此插图至少要清晰,不能模糊,其次图片最好不要太大,否则pdf文件如果很大的话下载分享存储和浏览都会很不省事。
那么这里问题来了:位图像素多大合适?应该用矢量图(pdf,eps,svg)或是位图(jpg,bmp,png)?
多大合适
回答这个问题之前有几个需要了解的数字:
文章单页大小(A4)是8.3*11.7英寸,一般打印机的分辨率是 300 DPI (dots per inch),也就是每英寸300个点,人眼分辨率极限是 326 ppi (point per inch)。像素密度超过 326 ppi 的屏幕被称为“视网膜屏”(Retina screen)。
因此,文章中出现的图,选择 300 dpi 左右的分辨率就完全足够了, 再高的分辨率对打印机和人眼来说都没什么意义。
假设我们投稿的文章是双列排版,
页面宽度8.3英寸,除去页边距,单列宽度约为3英寸, 图的大小最好为 3.5×2.5 英寸或者 3×3 英寸, 分别对应 1050×750或者900×900的像素宽高。而更大的全宽图大小可达6×4,对应的像素宽高是1800×1200。我们在科学绘图软件中所输出的位图(jpg,bmp,png)应该大致参照这个大小设置像素大小,或者直接设置dpi为300。
举个例子:在matplotlib中,figsize设置长宽(英寸),dpi设置分辨率,这两个参数共同决定图的像素宽高。
得到一张清晰度完全满足要求的jpg:
局部放大:
而且可以看出这张图并不大,可以说非常小,只有53kb。不过这张图本身同色点很多,容易被压缩,因此png,jpg这种自带压缩的图片格式就能实现很大的压缩比得到非常小的文件。
或是这张图,把各个主流文件格式全部导出一遍,可以看到压缩和不压缩区别非常大。
但是像tif这种约等于不压缩的文件格式就非常巨大了。
同时可以看到,这里面有个最小的是pdf,只有6kb,因为它是矢量图,而这张图里的内容非常简单,所以对这张图来说矢量图其实是最优选择。
矢量图或是位图
矢量图文件仅存储图元(比如说点线字符等),所以当图片比较简单的时候,矢量图可以远小于位图,而且矢量图还支持无限放大,不存在清晰度不够的情况。不过也不绝对,当面元点元很多的情况下,PDF也会变得非常大,甚至比位图还大,比如:
这张图上有20000根11个节点的线,此时:
除了tif所有格式的图片都变大了,因为图中元素变多,位图压缩空间变小,矢量图中图元变多,但是tif稳如老狗无所畏惧,反正不压缩,再复杂也就这么大。
此时矢量图pdf的大小就比位图还要大了,在这种图中元素非常复杂的情况下,最好或是导出位图,可以保证清晰的同时最大程度上减小文件大小。
这里可以看出,平均一张图,几kb到几百kb不等,就算一篇文章20页15张大图,也不应当超过6MB。这样存储的好处是:在写毕业论文需要把所有图所有结果放在同一台pdf里的时候,latex编译非常丝滑(我毕设150页40MB)。
论文中的插图可说是论文中除了公式之外最重要的部分,反正我的习惯是,拿到文章看完标题先找图,好的插图可以有效传达科学内容帮助读者找到重点。
所以为了提供舒适的阅读体验,既要杜绝马赛克画质的插图,也要避免一台pdf文件下载十几分钟,打开两三分钟,翻页卡死。 |