图表、文献与长文档管理
在完成了一两次短篇推导后,你将不可避免地需要撰写长篇物理文档——例如包含数十组测量数据的大学物理实验报告、结构严谨的学期课程论文,或是贯穿整个学期的系统性物理讲义.
在处理这些长文档时,如何优雅地排版高质量矢量图、构建符合期刊标准的三线表、实现全自动交叉引用、管理数百条参考文献,以及将代码合理拆分为多文件工程,是衡量一个物理研究者工程化能力的关键.
物理插图系统与浮动体机制
在 LaTeX 中插入外部图像,必须在导言区载入标准插图宏包:
1 | |
1. 插入图片的基本语法
1 2 3 4 5 6 | |
物理插图格式首选:PDF 矢量图
在物理研究中,建议优先使用 Python(Matplotlib)、Origin、Mathematica 或 GeoGebra 导出 .pdf 矢量图格式,而不是 .png 或 .jpg 位图.
- 无限缩放不失真:PDF 矢量图在放大数倍打印或在屏幕上精读时,曲线、坐标轴与数据点均保持绝对锐利;
- 文字与正文融为一体:矢量图中的文本在嵌入 LaTeX 时能保持最佳清晰度与字体衬线比例;
- 文件体积更小:由线条和矢量路径构成,通常仅几十 KB 大小.
2. 理解浮动体机制(Float)与位置控制
很多新手常抱怨:「为什么我把图片写在第三段后面,编译出来却跑到了页面最顶端甚至下一页?」
这是因为 LaTeX 具有精密的版面排版引擎,它会自动避免页面底部留出大片难看的空白,将图片或表格视为「浮动体」(Float).你可以通过位置参数给予编译器排版提示:
h(here):尽量放在代码书写的位置;t(top):放在当前页或下一页的页面顶部;b(bottom):放在页面底部;p(page):单独成页(多张大图集中排布);- 推荐组合:
[htbp](赋予排版器最大的弹性以达到最佳页面密度).
如何强制图片「绝对就地显示」
如果写实验报告时,老师要求某张电路图必须紧随文字之后,绝对不允许移动,可以使用 float 宏包:
1 2 3 4 5 6 7 8 | |
3. 多图并排与子图标题(subcaption 宏包)
在对比实验结果时(例如对比不同阻尼下的受迫振动振幅曲线),经常需要两张或三张子图横向并排.请使用现代官方推荐的 subcaption 宏包:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
规范物理实验数据表格
物理学术期刊和实验报告中,严禁使用全网格的横竖线(如普通 Word 默认网格).科学表格的核心原则是:横平竖直,且原则上无竖线,由顶线、底线(粗线)和中间栏目分割线(细线)构成,被称为 三线表.
1.booktabs 规范三线表
在导言区载入:
1 | |
标准三线表结构:
1 2 3 4 5 6 7 8 9 10 11 12 | |
\toprule:顶线(较粗);\midrule:栏目分界线(较细);\bottomrule:底线(较粗);\cmidrule(lr){2-3}:部分列横线,适合复合表头.
2. 小数点与科学数据对齐:siunitx 的 S 列
在传统表格中,如果数据包含正负号、指数或不同有效位数,简单的居中 c 会导致小数点错乱错位.siunitx 提供了神奇的 S 列格式:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
注意保护非数据表头
在 S 列中,非数值内容(例如文字表头、单位)必须用一对花括号 {...} 包裹起来,以防止 siunitx 将其当做数字解析报错.
自动化交叉引用与超链接体系
在物理写作中,凡提到具体某条公式、某张图或某张表时,严禁写「见上图」或「见前述公式」,而必须使用标签引用.
1. 核心规则:\label 的位置
- 公式:
\label{eq:name}必须写在equation或align环境内部; - 图表:
\label{fig:name}或\label{tab:name}必须严格写在\caption{...}之后或内部!如果写在\caption之前,编译生成的引用编号会错乱变成当前小节号.
2. 标签前缀命名最佳实践
| 对象类型 | 推荐前缀 | 示例 | 引用命令 |
|---|---|---|---|
| 数学公式 | eq: | \label{eq:schrodinger} | 式~\eqref{eq:schrodinger} |
| 插图 | fig: | \label{fig:spectrum} | 图~\ref{fig:spectrum} |
| 表格 | tab: | \label{tab:constants} | 表~\ref{tab:constants} |
| 章节/小节 | sec: | \label{sec:derivation} | 第~\ref{sec:derivation} 节 |
波浪号 ~ 的物理含义:不可断行空格
在输入 图~\ref{fig:1} 或 式~\eqref{eq:2} 时,中间的波浪号 ~ 表示「无间断空格」(Tie).它确保排版在行末换行时,「图」字和数字「1」永远紧挨在一起,绝不会发生「图」在行末、「1」在下一行开头的尴尬分行.
3. 超链接宏包配置:hyperref
1 2 3 4 5 6 7 | |
参考文献管理与 BibTeX/Zotero 工作流
当引用的学术论文和教材超过 3 篇时,手工写参考文献就是一场噩梦.BibTeX 将文献信息与文档正文完全解耦,自动负责编号与排序.
1. 结构化文献库文件:references.bib
在工程根目录新建文本文件 references.bib,存储参考文献元数据:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
2. 在正文中引用与生成参考文献列表
在主文档 .tex 中:
1 2 3 4 5 6 7 8 9 10 11 | |
3. Zotero 文献管理联动
推荐使用开源文献管理神器 Zotero 配合 Better BibTeX 插件:
- 在浏览物理论文(arXiv、APS、IEEE 等)时,点击浏览器插件一键抓取文献;
- 在 Zotero 中右键文献库或特定分类,选择 导出分类
-> Better BibLaTeX/Better BibTeX; - 勾选「Keep updated(自动保持同步更新)」并保存到你的 LaTeX 工程目录下;
- 每次在 Zotero 中添加新文献,本地的
.bib文件会自动更新,在 VS Code 中直接\cite{...}即可自动补全!
多文件长文档项目工程化规范
当物理讲义或毕业论文达到数十页时,把所有公式和文字堆在同一个 main.tex 里会导致代码滚不到头、定位困难、团队协作频繁冲突.必须采用模块化工程结构:
1.\input 与 \include 的区别与选型
\input{filename}:纯粹的「文本包含」.将目标文件的全部内容原封不动插入当前位置,不会产生任何强制分页.适合引入独立的导言区宏定义、单张复杂图形代码或短小节.\include{filename}:会隐式调用\clearpage,强制使该部分从一个新页面开始排版.适合作为长书、专著或大作业的独立「章」(Chapter).支持配合\includeonly{...}仅编译某一个特定章节以大幅缩短编译等待时间.
2. 标准物理长篇工程目录规范
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
在 main.tex 中只需简洁明了地装配:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
这种工程化结构不仅让整个物理写作过程条理清晰,也极大方便了多人协同与长期归档.
本页面最近更新:2026/10/1 10:49:01,更新历史
发现错误?想一起完善? 在 GitHub 上编辑此页!
本页面贡献者:Leafuke, Physics Learning Wiki Team
本页面的全部内容在 CC BY-SA 4.0 和 SATA 协议之条款下提供,附加条款亦可能应用