防城港市网站建设_网站建设公司_加载速度优化_seo优化
2025/12/26 14:33:30 网站建设 项目流程

LaTeX科研写作入门:公式、图表与参考文献

几周前的《科技论文写作》课程只有短短八个学时,讲到LaTeX时几乎只是走马观花。但最近导师让我整理课堂笔记,正好借此机会系统梳理一遍——毕竟,谁还没被参考文献编号错乱、公式排版崩溃折磨过呢?

这篇笔记不追求大而全,而是聚焦科研中最高频使用的几个功能:公式怎么写才不飘?图表如何插得稳?文献引用为何总少一条?所有示例均基于IEEE期刊模板bare-jrnl.tex,适配大多数中英文期刊投稿要求,拿来即用。


工具链准备:别在第一步就卡住

写LaTeX不是打开编辑器就开始敲代码,先确保工具链完整:

  • 发行版:选 TeX Live(跨平台)或 MiKTeX(Windows),它们自带 pdflatex、xelatex 编译器和宏包管理器;
  • 编辑器:推荐 TeXstudio(开箱即用)、Overleaf(在线协作)或 VS Code + LaTeX Workshop 插件(轻量高效);
  • 图像处理:Adobe Illustrator 或 Inkscape 处理.pdf/.eps矢量图,避免放大后模糊;
  • 文献管理:Zotero/JabRef 导出 BibTeX 文件,比手动打参考文献快十倍。

这些装好之后,基本可以告别“为什么编译报错”“字体找不到”这类低级问题。


参考文献:别再手打了

你有没有试过改完格式发现引用序号全乱了?或者删了一篇文献,结果后面所有\bibitem都要重排?这就是为什么我坚决推荐用.bib文件自动化管理。

推荐做法:BibTeX + Zotero 流水线

  1. 用 Zotero 收集文献,一键导出为references.bib
  2. .bib文件和.tex放同一目录;
  3. 在文档末尾加入:
\bibliographystyle{IEEEtran} \bibliography{references}

正文中这样引用:

According to \cite{zhang2023swift}, ms-swift supports over 600 large models.

⚠️ 注意:首次编译必须跑四遍才能出正确参考文献:

pdflatexbibtexpdflatexpdflatex

很多人只跑两遍,结果参考文献显示成[?],其实是流程没走完。

不推荐的手动方式

虽然也能实现,但代价太大:

\begin{thebibliography}{99} \bibitem{zhang2023swift} Y. Zhang et al., ``ms-swift: A Unified Framework for Large Model Training and Deployment,'' 2023. \end{thebibliography}
  • 不能自动排序;
  • 引用计数要自己维护;
  • 中文标点容易导致编译失败(除非加载ctex宏包)。

除非你只引两三篇,否则真没必要自找麻烦。


公式排版:科研人的基本功

LaTeX 最让人上瘾的功能就是数学公式排版。但很多人只会$...$$$...$$,结果出来的公式要么挤在一起,要么编号乱飞。

行内 vs 行间:别混用

行内公式用单美元符号包裹,适合嵌入句子中:

The mass-energy equivalence is $E = mc^2$.

输出效果:The mass-energy equivalence is $E = mc^2$.

注意:LaTeX 会忽略$...$内的手动空格。如果想控制间距,要用\,(小空)、\:(中空)、\;(大空),甚至\!(负空)微调。

行间公式建议用equation环境,自动编号且居中显示:

\begin{equation} f(x) = \int_{-\infty}^{\infty} \hat{f}(\xi) e^{2\pi i \xi x} d\xi \end{equation}

如果不想要编号,有两种方法:

\begin{equation} \lim_{n \to \infty} \frac{1}{n} = 0 \nonumber \end{equation}

或者直接用equation*

\begin{equation*} a^2 + b^2 = c^2 \end{equation*}

多行公式对齐:align是王道

长公式经常需要分行并对齐等号。这时候千万别用多个equation,会炸编号。正确的做法是用align

\begin{align} a &= b + c \\ &= d + e + f \notag \\ &= g \end{align}
  • &指定对齐位置(通常放在=前);
  • \\换行;
  • \notag取消某一行编号。

如果你希望多行公式共用一个编号,可以用split包裹在equation中:

\begin{equation} \begin{split} y &= ax^2 + bx + c \\ &= a(x-h)^2 + k \end{split} \label{eq:quadratic} \end{equation}

引用时统一用\eqref{eq:quadratic}即可。


数学符号实战技巧

希腊字母太常见,别拼错

$\alpha, \beta, \gamma, \delta, \epsilon$ $\Gamma, \Delta, \Theta, \Lambda$

记住规则:小写\alpha,大写\Gamma,首字母大写就行。

括号自动伸缩:\left\right必须成对出现

\left( \frac{a}{b} \right), \quad \left[ \frac{a}{b} \right], \quad \left\{ \frac{a}{b} \right\}

如果只在一侧加括号,另一侧用.占位:

\left. \frac{df}{dx} \right|_{x=0}

矩阵排版:选对环境事半功倍

\begin{equation} \mathbf{A} = \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix} \end{equation}
  • matrix:无边框;
  • pmatrix:圆括号;
  • bmatrix:方括号;
  • vmatrix:竖线(行列式常用)。

特殊格式控制:细节决定专业度

  • 数学模式下默认斜体,函数名应直立:
$\mathrm{ReLU}(x) = \max(0, x)$
  • 分数太小看不清?强制用\displaystyle
$\displaystyle \sum_{i=1}^n \frac{1}{i}$

图表插入:让数据说话

表格别画线太多,简洁更专业

\begin{table}[htbp] \centering \caption{Supported Model Types in ms-swift} \label{tab:models} \begin{tabular}{|l|c|} \hline \textbf{Model Type} & \textbf{Count} \\ \hline Text-only LLMs & 600+ \\ \hline Multimodal Models & 300+ \\ \hline All-to-All Modal & Yes \\ \hline \end{tabular} \end{table}
  • [htbp]控制浮动位置(here/top/bottom/page);
  • |l|c|定义列格式:左对齐、居中,带竖线;
  • \hline加横线。

进阶建议:使用booktabs宏包替代\hline,用\toprule,\midrule,\bottomrule实现更优雅的无框表格。


图片插入:优先用矢量图

先加载宏包并设置路径:

\usepackage{graphicx} \graphicspath{{figures/}}

插入图片:

\begin{figure}[htbp] \centering \includegraphics[scale=0.7]{ms-swift-arch} \caption{Architecture overview of ms-swift framework} \label{fig:arch} \end{figure}

尺寸调整方式灵活:
-scale=0.7:缩放比例;
-width=0.8\linewidth:宽度设为行宽的80%;
-height=4.5cm:固定高度;
-keepaspectratio:保持宽高比不变。

推荐写法:

\includegraphics[width=0.9\linewidth, keepaspectratio]{model}

子图组合:一图胜千言

需要对比多个实验结果?用subcaption宏包拆分:

\usepackage[font=small]{subcaption} \begin{figure}[htbp] \centering \begin{subfigure}{0.45\linewidth} \includegraphics[width=\linewidth]{fig1a.pdf} \caption{Training loss curve} \label{fig:loss} \end{subfigure} \begin{subfigure}{0.45\linewidth} \includegraphics[width=\linewidth]{fig1b.pdf} \caption{Accuracy trend} \label{fig:acc} \end{subfigure} \caption{Training dynamics of ms-swift on multimodal tasks.} \label{fig:training} \end{figure}

引用子图时这样写:

See Fig.~\ref{fig:training}(\subref{fig:loss}) for convergence behavior.

输出效果:See Fig. 1(a) for convergence behavior.


结合AI工具:从实验到论文一键打通

LaTeX 虽强,但面对现代AI研究动辄几十个模型、上百组实验数据,手动整理图表效率太低。这时候就得靠自动化工具链来提效。

比如魔搭社区推出的ms-swift,就是一个全流程大模型训练部署框架,现已支持:

  • 🍎 600+ 纯文本大模型与 300+ 多模态大模型;
  • 内置150+数据集,覆盖预训练、SFT、DPO、VQA等任务;
  • 支持 LoRA、QLoRA、DoRA、Adapter 等轻量微调;
  • 提供 DeepSpeed、FSDP、Megatron 分布式训练后端;
  • 支持 BNB、GPTQ、AWQ 等主流量化方案导出;
  • 集成 vLLM、SGLang、LmDeploy 推理加速引擎;
  • 评测模块基于 EvalScope,支持100+ benchmark测试。

这意味着你在做实验时,脚本运行完就能自动生成:
- 训练日志 → 提取超参数写进正文;
- 性能曲线 → 导出.pdf插入论文;
- 模型结构图 → 渲染为矢量图直接引用。

例如,在描述实验设置时可以直接写:

We fine-tuned LLaMA-2-7B using QLoRA within the ms-swift framework \cite{ms-swift2024}, with rank $r=64$, dropout rate $0.1$, and AdamW optimizer ($\beta_1=0.9, \beta_2=0.999$).

性能对比图也无需手动绘图:

\begin{figure}[htbp] \centering \includegraphics[width=0.7\linewidth]{results/ms-swift-bench} \caption{Comparison of training speed across different frameworks.} \label{fig:bench} \end{figure}

整个流程变成:“训练→输出→写作”一体化,不仅提升效率,还增强可复现性。


快速启动工作流(实操建议)

  1. 评估资源需求:根据模型大小(7B/13B)估算显存(≥24GB推荐);
  2. 启动云端实例:如 A100×1 GPU 实例;
  3. 运行自动化脚本:执行/root/yichuidingyin.sh,选择任务类型;
  4. 提取输出文件:从outputs/获取.png,.pdf,.log
  5. 整合进LaTeX:图表放figures/,数据转tabular
  6. 编译PDF:用xelatexpdflatex编译,检查引用是否完整。

这个流程我已经跑了不下二十次,从实验结束到论文初稿完成,最快能在两小时内搞定。


最后一点经验分享

LaTeX 的价值不在“会用”,而在“用得好”。真正拉开差距的是那些细节:

  • 公式引用一律用\eqref{},保证括号统一;
  • 图表标题首字母大写,句末不加句号(IEEE规范);
  • 所有.bib条目字段补全,避免出现[Online]. Available:缺失;
  • 编译前清空临时文件(.aux,.bbl,.log),防止缓存干扰。

还有个小技巧:写论文时开启latexmk -pvc实时预览模式,保存即刷新PDF,写作节奏感立马不一样。


站在巨人的肩膀上,不只是借用思想,更是利用他们打造的工具。掌握\cite{},\ref{},\eqref{}这些基本操作,善用align,subcaption,graphicx这些核心宏包,再结合 ms-swift 这类现代AI开发框架,你完全可以在一周内完成别人一个月的工作量。

愿你在科研路上,少些调试,多些灵感。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询