LaTeX数学字体选择指南:从Computer Modern到unicode-math的实践
1. 从“默认”到“选择”为什么数学字体值得关注如果你用过LaTeX写过数学论文或者技术报告大概率对默认的数学字体没什么感觉——它清晰、标准能完成任务。但当你需要区分不同类型的数学对象、提升文档的美观度或者向特定期刊投稿时你可能会发现默认的Computer Modern字体并不是唯一的选择甚至不是最好的选择。选择不同的数学字体就像给数学公式换上了一套得体的“正装”或“休闲服”它不仅能改变公式的视觉风格更能微妙地影响阅读体验和排版的专业感。我最初意识到这一点是在准备一篇投稿给某物理学顶刊的论文时。审稿意见里有一条看似无关紧要的备注“建议使用更符合领域惯例的数学字体以提升可读性”。这让我开始深入研究才发现数学字体这个看似细枝末节的问题背后其实有一套完整的逻辑不同的字体家族在字母形状、符号间距、粗体渲染甚至特定符号如积分号、求和号的设计上都存在差异。这些差异直接关系到公式的清晰度、与正文的协调性以及在长时间阅读下的疲劳感。因此这篇文章不会仅仅罗列几个\usepackage命令。我将结合自己排版数学文档的经验深入探讨几款主流数学字体的设计哲学、适用场景、具体配置方法以及那些在官方文档里不会写的“坑”。无论你是正在撰写学位论文的研究生还是需要制作精美技术文档的工程师理解如何为你的公式选择合适的“外衣”都能让你的作品在严谨性之外增添一份独特的专业气质。2. 经典之选Computer Modern 与 Latin Modern 的传承与局限当我们谈论LaTeX的默认数学字体时实际上指的是由Donald Knuth教授为TeX系统设计的Computer Modern字体家族。这套字体是LaTeX美学的基石其数学字体部分cmr,cmmi,cmsy等的特点是笔画对比度适中符号设计经典且高度可读特别是它的意大利斜体italic用于变量表示已经成为学术排版中约定俗成的视觉语言。然而Computer Modern字体是为高分辨率打印如600dpi以上的激光打印机而优化的。在当今主流的屏幕显示尤其是低像素密度的普通显示器和PDF文档中其较细的笔画有时会显得“发虚”影响在屏幕上阅读的清晰度。为了解决这个问题Latin Modern字体应运而生。你可以简单地将Latin Modern理解为Computer Modern的数字化增强版它提供了更完整的字符集如更多的欧文符号、优化的屏幕显示效果并且是大多数现代LaTeX发行版的默认选择。在绝大多数情况下你不需要做任何事LaTeX就会自动调用Latin Modern字体来渲染你的数学公式。它的兼容性是最好的几乎所有数学宏包如amsmath,amssymb都以其为设计基准。但它的“局限”也正在于其“默认”风格过于经典和普遍难以让你的文档在视觉上脱颖而出此外其粗体\mathbf在数学模式下通常只是简单加粗罗马体对于表示矩阵或向量时视觉效果可能不够理想。注意当你使用\usepackage{lmodern}时它主要替换的是正文的罗马字体族。对于数学字体LaTeX引擎如pdfLaTeX通常会自行处理。实际上在pdfLaTeX下即使不显式加载lmodern系统也常常默认使用Latin Modern的数学字体变体。一个更准确的控制方式是使用fontspec包仅限XeLaTeX/LuaLaTeX或mathspec包来精细指定。这里有一个容易被忽略的细节\mathbf的渲染。在默认的Computer Modern/Latin Modern数学字体下$\mathbf{A}$产生的A是罗马体的加粗而不是数学斜体的加粗。这在数学排版中有时是不理想的因为我们通常希望向量或矩阵的符号仍然是斜体只是更粗。要获得真正的粗斜体数学符号你需要使用\bm命令来自bm宏包。这是新手常踩的第一个坑以为\mathbf就能得到粗的数学变量。% 一个简单的对比示例 \documentclass{article} \usepackage{amsmath} \usepackage{bm} % 提供 \bm 命令 \begin{document} 默认粗体罗马体 $\mathbf{ABC}$ $\mathbf{x}$ $\mathbf{\beta}$错误\\ 使用 \texttt{bm} 包粗斜体 $\bm{ABC}$ $\bm{x}$ $\bm{\beta}$正确 \end{document}你会发现\mathbf{\beta}根本无法将希腊字母加粗而\bm{\beta}可以。这是因为\mathbf只改变字族而数学希腊字母在默认字体下不属于罗马字族。bm包则通过更底层的方式实现了真正的数学粗体。3. 专业领域的宠儿Times风格与 Palatino风格的数学字体当你的文档需要更紧凑的排版比如为了节省页数或者追求类似传统出版书籍的“墨水感”时衬线字体中的Times和Palatino风格是常见的选择。它们对应的数学字体包能将正文的经典风格无缝延伸到数学公式中。newtxmath与newpxmath 这是目前最活跃、最完整的Times和Palatino数学字体解决方案。newtxmath配合newtxtext正文字体提供了一套非常成熟的Times风格排版方案。newpxmath则配合newpxtext提供Palatino风格。它们的数学字体设计精良符号库非常全面并且解决了旧版mathptmx或mathpazo包中的许多问题如缺失符号、粗体问题等。为什么推荐newtx/newpx系列首先它们对数学符号的重设计非常用心。例如积分号、求和号、根号等大型运算符的形状更加优美与Times/Palatino的正文风格高度协调。其次它们提供了完整的粗体数学包括粗斜体支持通过\mathbf或\bm都能得到正确结果。最后它们通常能产生比默认字体更紧凑的数学公式这对于包含大量公式的技术报告或论文来说能有效节省版面。% 使用 newtx 系列配置 Times 风格数学文档 \documentclass{article} \usepackage{newtxtext} % 正文 Times 字体 \usepackage{newtxmath} % 数学 Times 字体 \usepackage{bm} % 仍然推荐用于更佳的粗体控制 \begin{document} 这是一段Times风格的正文。与之匹配的数学公式 \[ f(x) \int_{-\infty}^{\infty} \hat{f}(\xi) e^{2\pi i \xi x} \, d\xi \] 粗体测试 $\bm{\nabla} \cdot \mathbf{J} \frac{\partial \rho}{\partial t} 0$ \end{document}一个关键的实操心得如果你从默认字体切换到newtxmath可能会发现某些之前能用的特殊符号比如来自amssymb的某些花体字母不见了或者报错。这是因为newtxmath重新定义了大量数学符号集。解决方案通常是调整宏包加载顺序先加载newtxmath再加载其他数学符号宏包如amssymb,amsfonts。这样后续宏包会尝试用自己定义的符号覆盖newtxmath的从而保证符号的可用性。如果仍有符号缺失newtxmath文档中通常会说明替代命令或需要额外加载的选项。4. 无衬线的现代感Helvetica风格与 Arev 数学字体在幻灯片Beamer、海报或追求极简现代风格的技术文档中无衬线字体是主流。将无衬线正文与默认的衬线数学字体混用会带来视觉上的割裂感。因此我们需要专门为无衬线正文配套的数学字体。arev宏包 这是一个一站式的解决方案。它同时提供了基于Vera Sans字体的无衬线正文字体和一套设计优秀的无衬线数学字体。arev数学字体的特点是线条均匀、造型几何感强、可读性高尤其是在投影仪上显示时其清晰的轮廓比细衬线字体更有优势。% 使用 arev 包获得无衬线数学字体 \documentclass{beamer} \usepackage{arev} % 一次性加载正文和数学无衬线字体 \begin{document} \begin{frame}{一个现代风格的数学幻灯片} \[ \forall \epsilon 0, \exists \delta 0 \text{ such that } |x - c| \delta \implies |f(x) - L| \epsilon \] \begin{itemize} \item 积分 $\int_a^b f(x) dx$ \item 矩阵 $\begin{bmatrix} a b \\ c d \end{bmatrix}$ \end{itemize} \end{frame} \end{document}sansmath宏包 这是一个更轻量、更灵活的选择。它不改变正文字体只提供一个\sansmath命令将其作用范围内的数学字体切换为无衬线样式。这非常适合在 predominantly 衬线排版的文档中局部插入需要突出显示或风格迥异的数学块比如在侧边栏、图表注释中。\documentclass{article} \usepackage{sansmath} \begin{document} 正文是默认的衬线字体Latin Modern。 % 临时切换到无衬线数学 { \sansmath 现在这段文字里的公式是无衬线的 $E mc^2$, $\sum_{i1}^n i \frac{n(n1)}{2}$。 } % 作用域结束恢复原状 外面的公式又变回了衬线体 $\nabla \times \mathbf{E} -\frac{\partial \mathbf{B}}{\partial t}$。 \end{document}踩坑提醒使用无衬线数学字体时最大的挑战是符号的区分度。例如在arev字体下小写字母lell、数字1和大写字母I可能比在衬线字体下更难区分。在包含大量下标和变量的复杂公式中这可能增加阅读的认知负担。因此我的建议是在正式、长篇的学术论文中谨慎使用无衬线数学字体在演示文稿、海报或短篇技术说明中它可以成为提升视觉冲击力的利器。5. 开源几何风Fira Math 与 Libertinus Math 的崛起近年来一些设计理念更新、在屏幕阅读体验上更下功夫的开源字体也推出了配套的数学字体其中Fira Math和Libertinus Math是两个杰出代表。Fira Math 这是为Fira Sans无衬线字体家族设计的数学字体。Fira本身是Mozilla基金会为Firefox OS设计的字体以其优秀的屏幕可读性和友好的几何造型著称。Fira Math继承了这些优点其数学符号设计现代、开放x高度x-height较大在屏幕上显示非常清晰。它特别适合用于网页数学内容渲染通过MathJax或KaTeX或电子书排版。在LaTeX中使用它通常需要配合XeLaTeX或LuaLaTeX引擎并调用unicode-math宏包。Libertinus Math 这是Libertinus字体家族的数学部分。Libertinus是一个旨在替代Times的、专门为学术出版设计的高质量开源字体家族。Libertinus Math的设计目标是成为newtxmath的强大开源替代品它在保持经典美学的同时修正了许多传统数学字体在数字时代显示上的小缺陷并且提供了极其丰富的OpenType数学特性。通过unicode-math宏包加载Libertinus Math你可以获得自动的粗体、花体、手写体等变体而无需记忆复杂的命令。% 在 LuaLaTeX 中使用 unicode-math 加载 Libertinus Math \documentclass{article} \usepackage{unicode-math} % 必须使用 XeLaTeX 或 LuaLaTeX 编译 \setmainfont{Libertinus Serif} \setmathfont{Libertinus Math} \begin{document} Libertinus 字体下的数学排版示例 \[ \mathcal{L}(\psi) \bar{\psi}(i\gamma^\mu \partial_\mu - m)\psi \] 注意花体字母 \mathcal{L} 和粗体希腊字母 \psi 都是直接通过字体特性实现的无需额外宏包。 \end{document}使用unicode-math的注意事项 这是未来数学字体排版的方向但它与传统基于\usepackage的字体包工作方式有根本不同。最大的“坑”在于宏包兼容性。许多传统的LaTeX数学宏包如amsmath的大部分功能已被内建但一些扩展符号包可能会与unicode-math冲突。经验法则是先加载unicode-math再加载其他数学宏包并做好可能需要进行微调的心理准备。但一旦配置成功你将获得前所未有的灵活性和一致性例如数学字体中的字母与正文文本中的字母可以来自同一个现代字体家族实现真正的无缝融合。6. 终极控制unicode-math 与现代字体引擎的威力如前所述unicode-math宏包配合XeLaTeX或LuaLaTeX引擎代表了LaTeX数学字体排版的现代范式。它不再依赖于有限的、预先打包好的“数学字体包”而是直接使用支持OpenType数学表MATH table的现代字体文件。这带来了几个革命性的优势字体选择的无限可能 理论上任何包含MATH表的字体都可以被设置为数学主字体。这包括了一些系统字体如Cambria Math on Windows和大量新兴的开源数学字体如前面提到的Libertinus Math 以及STIX Two Math, TeX Gyre Termes Math等。样式自动匹配 在传统方式下粗体\mathbf、花体\mathcal、黑板粗体\mathbb分别由不同的字体文件或宏包命令提供容易不一致。而unicode-math下这些变体Bold, Script, Fraktur, Double-Struck等都是主数学字体内部的“样式”由引擎自动切换确保了高度的视觉统一。更直观的命令 它提供了更符合直觉的命令如\symbf用于数学粗体自动处理希腊字母\symcal用于花体等。配置示例与常见问题\documentclass{article} \usepackage{unicode-math} % 设置主字体和数学字体 \setmainfont{TeX Gyre Termes} % 正文字体 \setmathfont{TeX Gyre Termes Math} % 配套数学字体 % 也可以为不同的数学样式设置备用字体 \setmathfont[range{\mathcal,\mathbfcal}, StylisticSet1]{XITS Math} % 使用XITS Math的特定花体样式 \begin{document} 现代数学排版 $\symbf{F} m\symbf{a}$ 傅里叶变换 $\mathcal{F}\{f(t)\}$。 \end{document}必须警惕的兼容性问题与bm包unicode-math提供了自己的\symbf通常不需要bm包。如果同时加载可能会冲突。建议先尝试只用unicode-math的粗体机制。与amsmathunicode-math会自动加载并重新定义amsmath的大部分功能通常可以和平共处但加载顺序应是unicode-math在前。符号命令的变化 一些特殊符号的命令可能变了。例如传统的\leq和\leqslant在有些unicode-math字体下可能指向同一个符号。需要查阅字体和宏包的文档。我的个人经验是对于新项目尤其是涉及复杂数学符号和多语言文本的强烈建议从LuaLaTeX unicode-math开始。虽然初期可能会遇到一些转换的阵痛主要是旧宏包和习惯命令的调整但其带来的长期维护性和排版质量提升是巨大的。对于需要与大量使用传统pdfLaTeX的同事协作的旧项目则可能暂时沿用newtxmath等方案更为稳妥。7. 实战为你的项目选择并配置数学字体了解了各种选项后如何为你的具体文档做出选择下面是一个决策流程和配置清单第一步确定约束条件投稿要求 目标期刊或会议是否有明确的字体要求这是最高优先级。编译引擎 你被限制使用pdfLaTeX吗如果是那么unicode-math和需要Xe/LuaLaTeX的字体如Fira Math就被排除了。你的选择主要是newtxmath,arev,mathpazo旧版Palatino等。文档性质 是长篇学术论文优先可读性和传统、演示文稿优先清晰度和现代感、还是书籍可能需要紧凑排版第二步根据场景选择通用学术论文pdfLaTeX\usepackage{newtxtext, newtxmath}是目前最安全、最专业的选择之一能很好地平衡美观、兼容性和符号完整性。演示文稿Beamer\usepackage{arev}或使用\usefonttheme{professionalfonts}配合sansmath是不错的选择。如果想用衬线字体newtxmath同样适用。现代开源项目可自由选择引擎 尝试LuaLaTeX\usepackage{unicode-math}\setmathfont{Libertinus Math}。你会获得一流的排版质量和未来的可扩展性。需要与Word/Cambria风格匹配 在Xe/LuaLaTeX下可以尝试\setmathfont{Cambria Math}Windows系统自带。第三步配置与测试选定方案后创建一个最小的测试文档务必包含以下测试公式以检查关键特性是否工作正常基础公式$E mc^2$, $\alpha, \beta, \gamma$, $\sum_{i1}^n$, $\int_a^b f(x)dx$粗体与样式$\mathbf{v}$向量$\bm{\Sigma}$粗体希腊需bm包$\mathcal{L}$花体$\mathbb{R}$黑板粗体需amsfonts或amssymb。你文档中的特殊符号 比如特定的箭头、运算符、关系符号等。第四步处理依赖与冲突将字体宏包放在文档导言区尽可能靠前的位置但要在\documentclass之后。其他数学相关宏包amsmath,amssymb,bm,mathtools等放在字体宏包之后。如果遇到符号缺失或报错查阅该字体宏包的文档看是否需要添加选项如[slantedGreek]或加载额外的辅助包如newtxmath可能需要[amssymb]选项。最后记住一个原则数学字体的首要任务是清晰、准确、无歧义地传达数学信息。美观和风格是第二位的。在做出最终决定前将测试页打印出来或在目标设备如投影仪、电子阅读器上查看实际效果确保它在真实的使用场景下依然具备优秀的可读性。

相关新闻

本地化多智能体RAG系统在法证科学证据推理中的应用与构建

本地化多智能体RAG系统在法证科学证据推理中的应用与构建

1. 项目缘起:当法证科学遇上多智能体RAG在法证科学领域,证据链的构建与推理,从来都不是一件简单的事。一份现场报告、一份毒物分析、一段数字痕迹,背后往往关联着海量的文献、过往案例、标准操作程序以及不断更新的科学知识。传统…

2026/10/9 11:36:23 阅读更多 →
Linux编译环境配置:解决configure: error: C compiler cannot create executables

Linux编译环境配置:解决configure: error: C compiler cannot create executables

1. 问题现象与本质剖析 “configure: error: C compiler cannot create executables”这个错误信息,对于任何在Linux或类Unix系统上尝试从源码编译软件的人来说,都堪称一个“里程碑”式的拦路虎。它通常在你满怀期待地执行 ./configure 脚本&#xff0…

2026/9/27 11:18:11 阅读更多 →
使用油猴脚本破解网页输入框粘贴限制:原理、实现与实战

使用油猴脚本破解网页输入框粘贴限制:原理、实现与实战

1. 项目概述:当网页“锁死”了你的粘贴板你有没有遇到过这种情况?在一个在线考试系统里答题,或者在一个内容管理后台写文章,想从别处复制一段文字贴进去,却发现那个输入框怎么都粘贴不进去。右键菜单里的“粘贴”选项是…

2026/10/12 15:06:45 阅读更多 →

最新新闻

信创招标要求写在哪一节_96万的燃气项目

信创招标要求写在哪一节_96万的燃气项目

10 月 12 日,焦作市公共资源交易中心公示了一个城市燃气安全监测服务项目的中标结果。金额不大——96 万元,中标方是中国移动通信集团河南有限公司焦作分公司,评审总得分 93.92。项目内容是对市区 150 处燃气领域相邻空间节点建设全覆盖、全天…

2026/10/14 2:02:18 阅读更多 →
Cadence Cerebrus 用户指南:强化学习驱动的数字后端 PPA 自动调优实战

Cadence Cerebrus 用户指南:强化学习驱动的数字后端 PPA 自动调优实战

简介:Cadence Cerebrus User Guide 是面向电子设计自动化工程师与技术人员的官方操作指南,聚焦 Cadence Cerebrus 工具在芯片设计流程优化中的实际应用。该指南对应产品版本 22.1x,最后更新于 2023 年 12 月,内容涵盖工具特定指令…

2026/10/14 2:02:18 阅读更多 →
astropy SAMP Hub 启动与停止完全指南:三种方式详解与底层原理

astropy SAMP Hub 启动与停止完全指南:三种方式详解与底层原理

科学计算科研数据分析 【免费下载链接】astropy Astronomy and astrophysics core library 项目地址: https://gitcode.com/gh_mirrors/as/astropy 点击查看 免费下载 导读 SAMP(Simple Application Messaging Protocol,简单应用消息协议&a…

2026/10/14 2:02:18 阅读更多 →
Knative Eventing 跨命名空间事件链接(Cross Namespace Event Links)特性全解析

Knative Eventing 跨命名空间事件链接(Cross Namespace Event Links)特性全解析

文档教程云原生 【免费下载链接】docs User documentation for Knative components. 项目地址: https://gitcode.com/gh_mirrors/docs1/docs 点击查看 免费下载 Knative Eventing 从 1.15 版本起引入了 cross-namespace-event-links 实验特性,允许 Trig…

2026/10/14 2:02:18 阅读更多 →
NPO光引擎替掉4.8万个光模块_买的是什么

NPO光引擎替掉4.8万个光模块_买的是什么

1. 引言:一次「不追求更快」的互联替换华为在 HUAWEI CONNECT 2026 上发布的 Ascend 960 SuperPoD,宣传语是「业界首个基于近封装光学(NPO)的超节点」。它给了一组很好算的数字:约 5500 个 Hi-ONE 光引擎,替…

2026/10/14 2:02:18 阅读更多 →
基于Vue3+SpringBoot的前后端分离电商系统设计与实现:以雪地装备销售平台为例

基于Vue3+SpringBoot的前后端分离电商系统设计与实现:以雪地装备销售平台为例

简介:一套基于Vue.js、SpringBoot与MySQL构建的雪地装备销售系统成品源码,面向计算机专业毕业设计或课程设计场景,可直接作为高评分项目提交。系统覆盖商品展示、搜索、购买、订单处理、支付接口及用户注册登录等完整电商流程,采用…

2026/10/14 2:01:18 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →