惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
罗磊的独立博客
腾讯CDC
云风的 BLOG
云风的 BLOG
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
U
Unit 42
I
InfoQ
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
美团技术团队
IT之家
IT之家
Stack Overflow Blog
Stack Overflow Blog
F
Fortinet All Blogs
GbyAI
GbyAI
S
SegmentFault 最新的问题

如鱼饮水

2026年高联二试(A卷)几何题的解答 2026年CNMO的几何题的解答(一) 2026年CSMO的几何题的解答(二) 2026年CSMO的几何题的解答(一) 关于新课标初中数学教材的评价 2026年CWMI的几何题的解答(二) 2026年CWMI的几何题的解答(一) 2026年CGMO的几何题的解答 2026 年 IMO 的几何题的解答 本地部署Gemma4-26B-A4B模型 不间断空格的处理方法 一个VSCode插件:支持TikZ预览 在Neovim中支持LuaLaTeX高亮 2026年全国I卷压轴题的解答 2026年北京高联预赛的几何题的解答 垂足三角形、等角共轭点与「六点圆」 本地部署 Hy-MT2 翻译模型 Vibe Coding一个Python版本的pdf2svg 2026 年 USAMO 的几何题的解答(一) 使用天地图API进行坐标反查 使用 Vibe Coding 编写一个属于自己的 VSCode 插件 尝试使用 DeepSeek-OCR 2 尝试使用MinerU 使用VSCode编辑Markdown的几个常用设置 在WSL上挂载U盘 在使用LuaLaTeX时控制中英文字符的间距 使用vLLM框架加速PaddleOCR-VL 关于PaddleOCR-VL和PaddleOCR对数学类书籍识别的对比 尝试使用PaddleOCR-VL 关于DeepSeek-OCR和PaddleOCR对数学类书籍识别的对比
在深色模式下自动切换 SVG 的颜色
西风冷香 · 2025-09-29 · via 如鱼饮水

在之前的几何相关的文章中,我把图片格式从 png/webp 切换到了 svg,这样得到的图片更清晰,而且还可以无损缩放,但图片大小反而更小。

具体的工作流程如下:

graph LR
A(TikZ) --> | lualatex | B([PDF])
B --> | pdftoppm | E([PNG]) --> | cwebp | F(WebP)
B --> | pdf2svg | C([SVG]) --> | svgo | D(minified SVG)

上一篇文章中的第一个图片为例,得到的图片大小如下:

格式 大小
PNG 19371
WebP 10610
SVG 14389
minified SVG 5798

可以看到,生成的 svg 图片大小介于 png 和 webp 之间,而使用 svgo 精简过的 svg 图片大小最小。

但是这里面有一个问题。pdf2svg 生成的 svg 图片的背景是透明的,在浅色模式下一切都正常,但是在深色模式下,图形里面的线段和标记依然是黑色的,根本看不清。

之前的解决方法是把 svg 变为白色背景,这能解决看清楚的问题,但是在暗色模式下不是很协调。另外,在浅色模式的 note 中也比较突兀。

最近在 stackoverflow 上找到了新的解决办法,就是利用 css 让 svg 图片在暗色模式下自动反色。

首先,在 source/_data/styles.styl 中添加如下配置:

1
2
3
4
5
@media (prefers-color-scheme: dark) {
.svg {
filter: invert(1) brightness(2);
}
}

然后在文章中引入 svg 图片的时候,指定为 svg 类:

1
![题目](25CSR6.min.svg){.svg}

这样加载的 svg 图片在暗色模式下会自动反色,就能够看清楚了。