排版一份带注释的文档时最先“翻车”的往往不是公式也不是图表而是脚注。LaTeX 脚注看着只是\footnote{}一个命令真上手排一篇几十页的稿子编号错位、脚注跑到下一页、表格里的注号对着错的行、双栏文档里脚注横穿两栏、分隔线长短不合适……这些问题一个都躲不掉。我前后帮某高校实验室改过好几份带大量脚注的报告也见过 A 同学把整篇论文的脚注从“手动加星号”改回\footnote花了整整一个下午。下面这些内容就是那几次折腾之后沉淀下来的东西既讲脚注在底层是怎么运作的也讲表格、浮动体、双栏、尾注这些具体场景该怎么处理还包括一份我常用的排查顺序。适合刚开始用 LaTeX 写正式文档的人也适合已经会写但被脚注细节反复折磨的人照着改。1. 把脚注当“浮动对象”看机制层面的三个关键事实很多人对脚注的心理模型是“文字后面跟一段小字”这个模型在单页短文里成立一旦文档变长就会失效。脚注在 TeX 里本质上是一个插入项insertion它和正文是两条并行的流最后在页面断行阶段被“拼”到一起。理解这一点后面百分之八十的怪异现象都能自己推出来。1.1\footnote背后其实做了四件事执行一次\footnote{内容}TeX 依次做的事情是把脚注计数器加一、在当前位置排一个上标记号、把“内容 当前编号 当前页码”打包成一个插入项塞进\footins这个插入寄存器、并在页面底部预留空间。真正把注文排到页脚是页面构建阶段output routine干的活。这就解释了一个常见现象正文里写着\footnote编译出来却出现在下一页的脚注区。原因不是命令写错了而是当前页面底部剩下的空间不够放下这条注文插入项被顺延了。顺延本身不算错误但在正式出版物里往往是硬伤——读者翻页才能看到注释。想强制它留在本页最直接的手段是给脚注加footmisc的bottom选项让 TeX 宁可挤一挤也要把注文放在本页底部。我的经验是短注文用bottom基本没副作用注文超过三行时慎用因为它会挤压正文偶尔导致本页正文只剩一两行比注文翻页更难看。1.2 脚注的“编号”和“注文”是两个可以分开的东西这条事实是很多高级用法的地基。\footnote是“标号 注文”打包版而\footnotemark只放标号并递增计数器\footnotetext只放注文可指定编号。之所以要拆开是因为有些环境不允许在里面写完整脚注或者写进去之后位置会错场景直接写\footnote推荐做法普通正文段落正常直接用tabular表格内能编译注文位置不受控\footnotemark 表外\footnotetext\caption{}内编号错乱、目录里重复出现\protect\footnotemark 表外\footnotetextminipage内注文出现在 minipage 底部视需求多数情况需要换方案\section{}标题内目录、页眉可能重复触发用可选参数给短标题脚注放正文beamer的 frame 内需要[frame]选项或改用\footnotetext显式指定\footnotemark[n]和\footnotetext[n]带可选参数时不会递增计数器而是直接使用你给的数字。这一点必须记牢如果先写\footnotemark不带参数拿到编号 3再写\footnotetext[3]{}那是对的但如果两处都不带参数第二个\footnotetext不会自动配上第一个的编号而是各自独立。配错编号是表格脚注最常见的 bug 来源。1.3 计数器是全局的minipage里那份是“私有的”footnote是一个 LaTeX 计数器。minipage、\parbox这类盒子环境会复制一份计数器在内部使用所以 minipage 里的脚注从 1 开始重新编号注文也排在 minipage 自己的底部而不是页面底部。这个设计本身合理图注、边栏里的小表格确实该有自己的编号体系但它经常被误认为是 bug——有人在minipage里放了三个脚注发现页面底部空空如也注文全挤在那张小图的下面第一反应是“脚注坏了”。如果你需要 minipage 内的脚注和全局共用编号就得在 minipage 内部把计数器手工同步回去或者干脆不用 minipage、改用\parbox之外的排版手段。反过来如果你想要独立编号那 minipage 的默认行为正好省事。判断标准很简单这段脚注是“这段小内容自己的注”还是“全文注释体系的一部分”。前者留着默认行为后者就得拆开处理。2. 表格与浮动体里的脚注三种方案的实际取舍表格脚注是我被问得最多的一类问题。核心矛盾在于表格内容经常被浮动到别的位置顶部、下一页而脚注是跟着“当前位置”走的两者一错位注号就对不上了。所以不要指望一个通用解法得按表格的复杂程度分三档处理。2.1 简单表格\footnotemark与\footnotetext手工配对最轻量的做法不引入任何宏包。要点是表格内只放\footnotemark所有注文统一写在\end{tabular}之后、\end{table}之前。这样注文的位置由你控制不会跟着单元格跑。\begin{table}[htbp] \centering \begin{tabular}{lcc} \toprule 方案 耗时 峰值内存\footnotemark \\ \midrule 基准实现 1.24 31 \\ 缓存改造 0.83 47\footnotemark \\ \bottomrule \end{tabular} \footnotetext[1]{耗时单位秒同一台机器三次运行取平均。} \footnotetext[2]{内存单位 MB含运行时分配开销。} \caption{两种实现的资源占用对比} \end{table}这段代码里有两个细节值得单独说。第一第一个\footnotemark不带参数会消耗掉当前计数器值假设是 1第二个同理拿到 2。后面的\footnotetext[1]和[2]是显式指定不会再次递增所以最终编号是连续的。第二如果表格浮动到了下一页注文会跟着表格一起走因为它们在同一个浮动体内部——这正是我们要的效果。反过来说如果注文写在表格外面浮动一移注号就和注文分家了。这种做法的代价是手工维护编号。表格里加一行、删一行后面的编号全要跟着改。所以我的原则是表格脚注超过两条就换下一档方案。2.2 中等复杂表格threeparttable把表注钉在表格下方threeparttable的思路很朴素给表格加一个“表注区”表注用\tnote{a}之类的小标记而不是走全局脚注计数器。好处是彻底摆脱编号依赖表注跟着表格走永远不会串号坏处是标记体系独立于正文脚注读者看到的表格里是 a、b、c正文里是 1、2、3得在心里做一次换算。\usepackage{threeparttable} % ... \begin{table}[htbp] \centering \begin{threeparttable} \begin{tabular}{lcc} \toprule 方案 耗时\tnote{a} 峰值内存\tnote{b} \\ \midrule 基准实现 1.24 31 \\ 缓存改造 0.83 47 \\ \bottomrule \end{tabular} \begin{tablenotes}[flushleft] \footnotesize \item[a] 耗时单位秒同机三次平均。 \item[b] 内存单位 MB含运行时开销。 \end{tablenotes} \end{threeparttable} \caption{两种实现的资源占用对比} \end{table}tablenotes环境支持[flushleft]、[para]等选项前者让表注左对齐我个人偏好看起来更像正式出版物的表注后者把多条表注排成一段。\tnote的标记默认是小写字母可以在导言区用\renewcommand{\tnote}[1]{...}改成上标字母或其他样式。还有一个容易被忽略的点threeparttable的宽度取自内部tabular的宽度所以表注会自动和表格同宽折行不需要手动设\parbox。如果表格还需要“表格宽度等于文本宽度”这种效果可以直接用threeparttablex包它提供ThreePartTable环境配合tabularx我这里不展开但值得知道它的存在。2.3\caption里塞脚注编号重复的真正原因有些人习惯在图注里加“数据来源”这类说明第一反应是\caption{...\footnote{数据来自某次公开测试。}}。这么写通常会出问题编号跳号或者同一段注文出现两次。原因是\caption的参数会被写进.lof/.lot文件用于生成图表目录写文件的过程中脚注又被执行了一次计数器就多走了一格。正确的写法是两步\caption里用\protect\footnotemark注文用\footnotetext放在\caption之后。\protect的作用是防止命令在写文件时被展开。\begin{figure}[htbp] \centering \includegraphics[width0.8\linewidth]{curve.pdf} \caption{不同批量下的吞吐变化\protect\footnotemark} \footnotetext{测试数据来自压测脚本的单轮结果。} \label{fig:throughput} \end{figure}这里\footnotemark不带参数占掉当前编号紧接着\footnotetext不带参数——注意\footnotetext不带参数时用的是当前计数器值而此时计数器已经被\footnotemark递增过了所以两者编号会差一稳妥做法是给\footnotetext显式写出编号或者用\addtocounter{footnote}{-1}回调一格。这一点在很多教程里被含糊带过实际是表格/图注脚注编号不对的头号原因我建议你养成“配对必写显式编号”的习惯宁可多敲两个字符。提示涉及\caption、\section、\item等会“搬运”参数的命令时脚注相关命令一律加\protect这是最省心的通用做法。另外提一句\section{}里写脚注的问题。\section{标题\footnote{说明}}能编译但标题会同时进目录和页眉脚注可能被触发两次。正规做法是用可选参数给一个不带脚注的短标题\section[短标题]{长标题\footnote{说明}}目录里只出现短标题脚注只排一次。3. 让脚注长得对footmisc的常用开关与参数换算内容排对了之后下一个问题是“好不好看”。LaTeX 默认脚注风格带首行缩进、分隔线固定长度、字号是\footnotesize这套风格偏学术期刊不一定合你的文档调性。footmisc是目前最省事的调整入口但它的选项组合有讲究乱配会互相打架。3.1bottom、hang、flushmargin三个开关的组合效果这三个选项名字看着接近作用完全不同我列个对照选项作用什么时候用副作用bottom强制注文留在本页底部短注文、正式出版物可能挤压正文页尾留白变大hang注文悬挂缩进第二行与第一行文字对齐注文较长、需对齐阅读首行与标号之间留白偏大flushmargin取消首行缩进注文顶格排窄栏、双栏文档与默认风格差异较大multiple多个标号共用一个注文同一处引用多个来源注文内分隔符需自定义para同页所有注文连排成一段注文极多且都很短长注文会连成一大块symbol用* † ‡等符号代替数字图表注、致谢超过 9 个会循环实际使用中我最常用的是[bottom,hang]这组hang让长注文折行后整齐对齐视觉上比默认的“每行都缩进”舒服很多。如果是双栏文档加flushmargin更好看因为窄栏里首行缩进会吃掉本就不多的行宽。\usepackage[bottom,hang]{footmisc}要注意加载顺序。footmisc和hyperref有已知的交互问题脚注链接的锚点位置可能错实测下来比较稳的做法是让hyperref先加载、footmisc后加载如果仍然出现链接跳错位置给footmisc加stable选项能缓解大部分情况。这两个包谁先谁后在不同 TeX 发行版上表现略有差异我的建议是改完之后点一下 PDF 里的注号看跳转是否正确别只看编译有没有报错。3.2 分隔线、间距、字号的手工微调默认分隔线是一段约 0.4pt 粗、占栏宽 40% 的横线。这个长度在 A4 单栏里偏短在双栏里又偏长基本都得改。改法是重定义\footnoterule\renewcommand{\footnoterule}{% \kern-4pt \hrule width 0.3\columnwidth height 0.4pt \kern 3pt }\kern的负值是在“往上提”正值为“往下压”目的是控制横线上下与正文、注文之间的呼吸感。这两个数值不要凭感觉乱给我的经验是横线上方留 4pt、下方留 3pt 在 10pt 正文字号下比较接近常见出版物的视觉比例如果你用的是 12pt 正文把数值按 1.2 倍放大即可。注文与正文之间的整体距离由\skip\footins控制footmisc的bottom模式下这个值会被重新计算。想手动干预\setlength{\skip\footins}{1.2\baselineskip plus 4pt minus 2pt}后面的plus/minus是弹性量TeX 在页面紧张时会自动伸缩。给一点弹性比写死一个固定值更安全写死容易在跨页处产生难看的空隙。至于注文字号默认是\footnotesize一般不用动真有特殊需求比如某些期刊要求 8pt 固定用\renewcommand{\footnotesize}{\fontsize{8}{9.6}\selectfont}覆盖但要注意这会连带影响图表标题等所有使用\footnotesize的地方改之前先全文搜一遍。3.3 符号标记与符号循环星号、剑号、双剑号致谢、图注、作者单位这类脚注用数字反而显得生硬符号更合适\renewcommand{\thefootnote}{\fnsymbol{footnote}}\fnsymbol提供的序列是* † ‡ § ¶ ‖等只到 9 个。超过 9 个会报Counter too large错误。所以用它之前先数一下同页最多几条脚注。如果确实会超过两个办法一是用footmisc的symbol*选项它会在符号用尽后自动切换到数字二是手工定义一套循环标记\renewcommand{\thefootnote}{% \ifcase\value{footnote}\or *\or\textdagger\or\textdaggerdbl\fi}不过手工定义这套写法在计数器超过 3 之后会输出空内容所以更稳的是symbol*。还有一个常见需求同一页里既有符号脚注作者单位又有数字脚注正文注释。这时候单一计数器不够用得启用多套编号体系那就是第 6 节要讲的manyfoot/bigfoot的活儿了。简单说manyfoot定义多条平行的脚注流各自有独立的计数器、标记样式和分隔线代价是配置稍繁琐、与某些包的兼容性要逐个验证。4. 编号策略全局连续、每章重置、每页重置编号规则看着是小事但在长篇文档里直接影响可读性。一本几十页的报告脚注编号一路从 1 编到 200读者看到一个“137”根本无从定位反过来每页重置同一页里出现两个“1”的情况又容易混淆。所以选哪种策略取决于文档篇幅和阅读方式。4.1 全局连续默认行为别轻易改LaTeX 默认就是全文连续编号这也是最省心的方案。短文档20 页以内、脚注总数不多的场景保持默认即可不需要任何配置。需要留意的是全局连续编号下\footnotemark/\footnotetext的手工配对更容易出错因为编号依赖前面所有脚注的累计数。所以用这类手工配对时尽量不要在文档中途增删脚注或者干脆改用threeparttable那种独立标记体系。4.2 每节或每章重置\counterwithin*的正确用法学术报告和书籍常要求脚注按章重置。标准做法是用chngcntr宏包的星号版本\usepackage{chngcntr} \counterwithin*{footnote}{section}星号不能省。不带星号的\counterwithin会把\thefootnote重定义成“节号.注号”的形式也就是输出“2.1”这种编号多数场景下并不想要这个效果。带星号只做计数器归零\thefootnote保持原样输出仍然是单纯的 1、2、3。如果文档用\chapter分章把第二个参数换成chapter即可。不想引入chngcntr的话手写版本是\makeatletter \addtoreset{footnote}{section} \makeatother效果一样但chngcntr的好处是会在\section*等场景下表现更规范我一般直接用包。这里有个坑值得提前说重置之后表格里的\footnotetext[1]显式编号就跟新章节的编号体系对不上了。所以一旦决定了按节重置表格脚注就不要再手写数字改用threeparttable或者用相对编号 \addtocounter计算。这是编号策略和表格方案之间必须一起考虑的地方分开决定往往要在后期返工。4.3 每页重置perpage与footmisc的perpage选项有些出版物尤其是图册、手册要求脚注每页从 1 开始。做法有两种效果基本一致\usepackage{perpage} \MakePerPage{footnote}或者用footmisc自带的选项\usepackage[perpage]{footmisc}两者都需要至少编译两次才能让编号稳定因为页码信息是在前一次运行中记录的。第一次编译出来编号可能是错的别慌再跑一遍。另外每页重置之后跨页的长注文会继承前页编号这一点没有完美的解决方案只能尽量把长注文拆短。还有一个变体是footmisc的perpage配合symbol*实现“每页符号编号、用尽后转数字”。这个组合在需要在一页内区分多个来源比如多个数据来源标注时特别好用我在几份数据报告里用过读者反馈比纯数字清晰。4.4 手动编号什么时候值得冒这个险\footnotemark[42]、\footnotetext[42]这种完全手动的写法唯一合理的场景是“注释由外部系统生成、编号必须与外部一致”。比如某些投稿系统要求脚注编号对应参考文献表里的条目号。除此之外我不建议手动编号理由很实在文档一旦增删内容手工编号全废而且要逐个核对工作量比重写还大。真要用的话记住两条显式编号的\footnotemark[n]不会递增计数器所以后面不带参数的脚注会接着用“没被消耗的那个值”容易出现重号解决办法是在必要处用\setcounter{footnote}{n}强制同步计数器。这条规则听起来绕实际调试时在可疑位置插一句\typeout{FOOTNOTE\the\value{footnote}}打印当前值比猜快得多。5. 那些容易踩的坑一份可复现的排查链路脚注出问题时的麻烦在于“症状离原因很远”。下面这几条是我实际遇到过的按“症状 → 排查动作 → 根因 → 修法”的顺序写你可以照着顺序走一遍不用每次从零开始推理。5.1 脚注“消失”了先查盒子环境再查beamer症状正文里明明写了\footnotePDF 里只有上标页面底部找不到注文。排查第一步往上下各翻两页看注文是不是被顺延到了下一页底部。这是最常见的情况尤其当页面底部只剩一两行空间时。如果是顺延加bottom选项或者调整该段落位置。排查第二步看这段内容是不是在minipage、\parbox、\fbox里。盒子环境内的脚注排在盒子底部盒子小的时候可能被裁掉或者挤在极窄的空间里视觉上像“消失了”。解决办法是把盒子内容提出来单独处理或者接受盒子内的独立编号体系。排查第三步如果是beamerframe里的\footnote需要显式告诉它按 frame 还是按整篇编号写法是\footnote[frame]{...}不加选项时有时会整体不显示。这个坑在演示文稿里非常常见第一次遇到基本都要查半天。5.2 长 URL 撑破脚注行宽脚注里放网址如果网址里没有可断行的位置比如一长串没有连字符的路径就会直接伸出右边距。\url命令解决了等宽字体问题但没解决断行问题。\usepackage{xurl} % 允许在任意字符处断行比 url 包激进xurl是url的加强版允许在斜杠、点号之外的位置断行对长路径效果明显。代价是断行位置可能不太美观会出现在字符串中间。如果不希望断得太随意退回url包并配合\Urlmuskip微调断行惩罚值\usepackage{url} \setlength{\Urlmuskip}{0mu plus 1mu}另外记住一条脚注里不要用\verb。\verb在会被“搬运”的参数里脚注、标题、表格单元格会直接报错因为它依赖特殊的字符处理机制。需要等宽内容就用\texttt{}配合\detokenize或者用\url。5.3 双栏文档里脚注横穿两栏双栏排版时默认脚注会横跨整个页宽排在页面最底部而不是只占当前栏的宽度。学术论文里这通常是对的但在一些杂志风格的排版里会显得很怪。想要“脚注只在当前栏宽度内”加载dblfnote宏包\usepackage{dblfnote}它会重定义双栏模式下的脚注行为让注文只占当前栏宽。代价是每栏能容纳的注文变少长注文更容易顺延到下一页。另一个办法是用footmisc的marginal选项把脚注改成边注彻底绕开这个问题但边注要求页面外侧有足够的页边距A4 默认版式下通常不够得配合geometry一起调。顺带说一个双栏特有的现象如果左栏底部有脚注、右栏正文很长两栏的底部基线会不齐。这不是 bug是插入项占位导致的。\raggedbottom能让页面底部不强制对齐视觉上舒服一些。5.4hyperref与脚注跳转错位开了hyperref之后PDF 里点击注号应该跳到注文。如果跳到了别的位置或者注文上有反向链接但指向错的页通常是包的加载顺序问题。我用的固定顺序是hyperref尽量靠后加载footmisc放在hyperref之后。如果仍然跳错检查是不是同时用了footmisc的bottom和hyperref——这两者在“注文实际位置与记录位置不一致”时会互相干扰stable选项就是为这类情况准备的\usepackage[bottom,stable]{footmisc}还有一个小细节hyperref会给脚注生成锚点如果同一页有\footnotemark/\footnotetext手工配对锚点可能只落在 mark 上、text 上没有反链。这属于可接受的降级不用强求。6. 尾注与多套编号enotez、manyfoot什么时候值得上内容多了之后脚注会变成“翻到页底还得回来”的负担。有些文档类型技术报告、数据集说明更适合把所有注释集中到文末也就是尾注。另外还有一类需求是“同一页里并存两套编号”比如正文注释用数字、图片来源用符号这就得多套脚注流。6.1 用enotez把脚注集中到文末enotez是这几年比较推荐的尾注方案语法接近\footnote迁移成本低\usepackage{enotez} \setenotez{backref true, list-name 注释} % 正文里照常写 正文内容\footnote{这条注释会被收集到文末。} % 文末输出 \printendnotesbackreftrue会在尾注列表里生成“返回正文”的小链接这对长文档很关键——否则读者看到第 40 条注释根本不知道它在正文哪儿。list-name改标题中文文档里设成“注释”或“注”比默认的英文标题自然。这里有个容易忽略的点enotez默认接管\footnote的含义把它变成尾注收集所以不能和原来的脚注混用。如果需要“一部分是脚注、一部分是尾注”得用\DeclareNoteType定义新的注释类型或者干脆老实用manyfoot分两套流。比起老牌的endnotes包enotez在hyperref兼容性和格式定制上更现代一些。endnotes的优势是历史长、各种模板里都能见到如果接手的是别人写好的模板别急着换先看模板里已经用了什么。6.2 多套编号体系manyfoot的配置思路真实场景是这样的一篇报告里正文注释要用 1、2、3 连续编号图片和数据来源用*、†符号致谢部分又是另一套。单一计数器做不了manyfoot就是干这个的\usepackage{manyfoot} \DeclareNewFootnote[plain]{src} % 第二套来源注 \renewcommand{\thefootnoteA}{\fnsymbol{footnoteA}} % 给它换成符号\DeclareNewFootnote会生成一组新命令比如声明了src就得到\footnotemarksrc和\footnotetextsrc。使用时两套互不干扰各自有独立计数器。配置项里的plain是样式名也可以自定义成roman罗马数字等。这玩意儿功能强代价是配置麻烦、容易和其他包冲突。我的判断标准是只有当“两套编号必须在同一页共存”时才值得上manyfoot如果只是想让不同章节用不同样式用\renewcommand{\thefootnote}{...}在章节开头改一下就行不需要引入新包。bigfoot是另一个同类选择它在多套脚注的排版细节比如多套分隔线、注文宽度上更灵活但学习曲线更陡我一般不到万不得已不用。还有一类替代思路值得提一下如果所谓“第二套编号”其实只是图表来源标注threeparttable的\tnote或者直接在图表下方写一行\footnotesize说明文字可能比引入manyfoot简单得多。工具选择上我始终倾向于“能用轻方案解决就别上重方案”因为模板是要给别人用的越少的宏包意味着越少的兼容性惊喜。最后分享一个我在实际操作中的体会脚注相关的问题九成能在“是不是盒子环境”“是不是被搬运的参数”“是不是编号配错”这三个方向上找到答案。每次改完脚注配置别只看编译有没有报错一定要把 PDF 翻到有脚注的那几页逐条对一遍注号和注文再点一下超链接看跳转——这三步加起来不到两分钟但能省掉后期校对时几小时的返工。
企业数字化 ERP 产品动态
相关推荐
OpenClaw自动化工具在CSDN文章发布中的应用 1. OpenClaw与CSDN文章编辑发布概述OpenClaw作为一款新兴的自动化工具,正在技术社区中快速流行。它通过命令行接口和API调用,为开发者提供了强大的自动化能力。在内容创作领域,OpenClaw可以显著提升CSDN这类技术博客平台的运营效率。我最近在… · 2026/11/2 17:46:39
数字8的文化内涵与商业应用解析 1. 项目概述"88888888888888"这个看似简单的数字串,实际上蕴含着丰富的文化内涵和商业价值。作为近年来网络文化中的特殊符号,它已经超越了单纯的数字含义,成为一种独特的社交语言和商业密码。在中文网络文化中,"8… · 2026/11/2 17:45:38
Gazebo固定、随机与移动障碍物生成实践 1. 障碍物生成这件事,先想清楚你要解决什么在仿真环境里搭场景,最耗时间的往往不是建模本身,而是"场景里该有什么、该在哪、该不该动"。我最初做移动机器人避障验证时,花了两天才意识到一个很朴素的事实:如果… · 2026/11/2 17:45:38
开源相控阵雷达PLFM_RADAR:10.5GHz X波段工程实践 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 18:34:26
平台稳定性监控系统设计:从指标采集到动态基线告警的完整实践 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 18:34:26
工业SPI隔离设计:MAX14431BAEE+与STM32F469II高可靠通信实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 18:34:26
PLFM_RADAR:FPGA+STM32相控阵雷达信号处理实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 18:34:26
从碎片化监控到统一感知:平台健康雷达PLFM_RADAR的设计与实践 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 18:34:26
SPI通信隔离方案:MAX14431BAEE+与RA6M3 MCU实战指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 18:33:25
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:42:45
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 5:17:18
雷达信号调制技术解析:从LFM到伪线性调频原理与应用 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 1:01:15
基于MAX14431与TM4C123的工业SPI隔离电路设计全攻略 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 1:01:15
PLFM_RADAR:相位线性调频雷达信号处理框架 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 1:01:15
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:42:45
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 5:17:18