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

推荐订阅源

aimingoo的专栏
aimingoo的专栏
WordPress大学
WordPress大学
阮一峰的网络日志
阮一峰的网络日志
博客园 - 司徒正美
月光博客
月光博客
宝玉的分享
宝玉的分享
Recent Announcements
Recent Announcements
小众软件
小众软件
H
Hackread – Cybersecurity News, Data Breaches, AI and More
美团技术团队
博客园 - 三生石上(FineUI控件)
A
About on SuperTechFans
J
Java Code Geeks
云风的 BLOG
云风的 BLOG
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
IT之家
IT之家
Vercel News
Vercel News
量子位
Martin Fowler
Martin Fowler
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
腾讯CDC
有赞技术团队
有赞技术团队

如鱼饮水

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 图片在暗色模式下会自动反色,就能够看清楚了。