Table of Contents
PowerPoint的qpdf linearize warning问题
和powerpoint导出pdf以后qpdf linearize warning相关的问题斗了一个晚上
虽然出现了警告,但qpdf处理以后的pdf看起来也没什么问题
(object 599 0): object has offset 0 - a common error handled correctly by qpdf and most other applications
相关警告锁定在pdf的wingdings/dingbats字体上,可以很容易地用一个新的pptx进行验证:
创建一个空白pptx,只有这些内容:

然后导出pdf并尝试对pdf进行线性化处理
果不其然也出现了warning
所以到底应该如何去掉这个warning呢?
尝试用纯字符(而不是powerpoint内置的list)直接渲染listing符号,并在这一步尝试各种字体,包括且不限于sf pro, apple symbols, Noto Sans Symbols 2, dejavu sans, ZapfDingbatsITC
都失败了,字体本身都能嵌入pdf并正常渲染,但就是会出warning
试试keynotes,为了确保最大兼容直接创建.key文件并包含一个简单的list然后导出pdf
pdf有字体LucidaGrande和helvetica neue
qpdf照样出warning,太糟糕了苹果
试试libreoffice,先试试空白模版直接创建list
导出的pdf由OpenSymbol提供check mark符号的渲染
linearize没有warning
再试试libreoffice打开pptx
由Wingdings提供字体渲染(因为pptx之前是powerpoint创建的,所以使用了巨硬的字体)
linearize没有warning
最后试试libreoffice打开一个复杂的pptx
由OpenSymbol提供check mark符号的渲染
linearize没有warning
试完了,总结为libreoffice牛逼
但keynote和powerpoint同时出事并不一定是两家的app有问题,也可能是macOS Quartz PDFcontext有问题(keynote和powerpoint都用这个,libreoffice似乎不用)
升级到macOS 27了,还是有这个问题,此外之前一直在追踪的PDF空白问题也没有解决:🔗 [macOS打开某些PDF页面为空白的测试 - Truxton's blog] https://truxton2blog.com/macos-open-special-pdf-pages-blank/
macOS复制文件的ts不一致
TIL:如果用finder复制粘贴了1个文件(普通文件),原文件为file A,新文件为file B,那么:
虽然file A和file B在finder里面显示它们拥有相同的last modified time,但实际上两者的last modified time(有概率)并不相同,有时就差一点点点点点点点点:
file A:
mtime: 2026-09-08 14:58:04.919421
mtime_ns: 1788897484919420644
file B:
mtime: 2026-09-08 14:58:04.919421
mtime_ns: 1788897484919420600
mtime diff: 44 ns/0.000000044 seconds新工具
新发现的工具1:🔗 [Capitalize Your Title] https://title.sh/
可以自动规范化论文/插图的title
有用的新工具2:
🔗 [BurntSushi/ripgrep: ripgrep recursively searches directories for a regex pattern while respecting your gitignore] https://github.com/burntsushi/ripgrep 解决了grep无法跳过二进制文件的问题
🔗 [chmln/sd: Intuitive find & replace CLI (sed alternative)] https://github.com/chmln/sd 相比于sed而言避开了正则的麻烦
这样就不需要每次都求助vscode了
