必须重新编译两次才能更新目录:第一次生成.toc文件,第二次读取并渲染;所有标题须用\section及其子命令,禁用手动编号;残留辅助文件需清理,验证需检查PDF目录与.toc内容是否一致。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

LaTeX修改正文后,大纲(即目录)不会自动同步更新,必须重新编译生成新的.toc辅助文件并读取它,否则PDF中显示的仍是旧章节标题、页码或层级结构。
确认文档已正确使用章节命令
检查正文是否全部使用标准章节命令,例如\section{引言}、\subsection{实验设置}、\subsubsection{参数配置}。若混用普通文本加粗或手动编号(如“1.1 实验设置”),LaTeX无法识别为目录项,后续编译也不会将其纳入大纲。
【必须确保所有标题都由\section及其子命令生成】
执行两次连续编译
在终端或编辑器中运行:pdflatex main.tex → pdflatex main.tex。
第一次编译会扫描所有\section类命令,写入main.toc文件;第二次编译才读取该文件,渲染出更新后的目录。只编译一次会导致目录空白、条目缺失或页码全为??。
如果使用Overleaf,点击“Recompile”按钮即可自动完成两次编译;VS Code中按Ctrl+Alt+B两次,或配置为“自动多遍编译”模式。
检查并清理残留辅助文件
方法一:手动删除旧辅助文件
关闭编译进程,删除当前目录下除.tex和.bib外的所有文件,包括:.toc、.aux、.out、.lof、.lot。再重新编译两次。
方法二:使用latexmk全自动清理与编译
在终端输入:latexmk -c → latexmk -pdf main.tex。前者清除所有辅助文件,后者智能判断需几遍编译并执行完毕。
注意:某些编辑器(如TeX Live自带的TeXworks)默认不自动清理,残留的.toc可能长期掩盖新标题变更,导致你反复编译仍看不到更新。
验证目录是否真实更新
第一步:打开生成的PDF,跳转到目录页,肉眼核对标题文字、编号顺序、页码是否与最新正文一致。
第二步:用文本编辑器打开main.toc文件,查看其中内容是否包含你刚新增或重命名的\section命令对应行,格式类似\contentsline {section}{\numberline {2.1}数据预处理}{5}{section.2.1}。
若.toc里没有新条目,说明LaTeX根本没识别到该标题——大概率是漏写了\section,或该段落在某个未启用的条件编译分支中(如被\iffalse...\fi包裹)。

















