搞科研写作的人,大概率都绕不开 IEEETrans.cls 这套模板。不管你是第一次投 Transactions 系列期刊,还是被导师丢过来一份改了三轮的稿件,只要涉及 IEEE 体系的论文排版,就一定会跟这个 LaTeX 类文件打交道。它的排版风格统一、参考文献格式自动生成、双栏布局完全贴合期刊要求,但它的学习曲线和隐藏坑位,也足够让人在截稿前夜怀疑人生。
这篇博文不是模板的说明书复述,而是我把自己从“装环境、跑样例、排公式、调图片、处理引用”这一路踩过的坑和总结出来的方法,完整梳理一遍。适合三类人看:一是第一次用 LaTeX 写 IEEE 论文的研究生,二是从 Word 转过来、对模板机制完全不熟的投稿人,三是已经在用但经常被编译报错卡住、想系统排查问题的老手。读完你至少能做一件事:从零搭建一个能稳定编译的 IEEEtran 工程,遇到常见报错知道去哪里看、怎么修。
1. 内容整体设计与思路拆解
1.1 为什么是 IEEETrans.cls,而不是随便找个第三方模板
IEEE Transactions 系列期刊对稿件格式的要求非常死板,字体、字号、栏宽、参考文献风格都有明确规定。官方直接提供这套 LaTeX 类文件,目的就是让作者在提交时能生成“最接近最终出版格式”的 PDF,减少编辑部技术审查时的来回拉扯。
很多人会去网上搜“某某大佬精简版”“更适合中文写作的修改版”,我个人的建议是:除非你非常清楚自己在做什么,否则一律用官方原版。原因很简单,编辑部审稿时对比的是官方模板生成的版面,第三方改过的模板有可能在字体嵌入、脚注格式、参考文献编号规则上出现偏差。轻则要求你重新排版,重则在技术审查阶段直接被退回。官方模板虽然有些地方用起来别扭,但它是唯一一个“出问题了抱怨不到别人头上”的选择。
1.2 先摸清模板包里到底有什么
下载下来的官方模板压缩包解开之后,里面通常有这些文件:
ieeetran.cls:核心类文件,所有排版规则都在里面IEEEtran.bst:BibTeX 参考文献样式文件IEEEtran_HOWTO.pdf:官方排版指南,建议至少翻一遍bare_jrnl.tex:期刊论文裸模板,写正文从它开始bare_conf.tex:会议论文裸模板,投会议时用bare_jrnl_compsoc.tex:计算机学会(Computer Society)专用变体
关键点在于,bare_jrnl.tex不是让你直接往里面写最终内容就完事了,它是用来“演示模板用法”的骨架文件。里面注释了大量说明,比如作者单位写在哪里、摘要怎么填、图片命令怎么写。很多新手直接在上面改,改到一半发现注释和正文混在一起,编译报错根本找不到位置。
建议的做法:把bare_jrnl.tex另存一份作为参考手册,自己新建一个干净的.tex文件,按需从裸模板中复制命令过来。这样你的主文件始终处于“只有正在用的代码”的状态,排查起来清爽得多。
1.3 编译环境选型:TeX Live 还是 MiKTeX
LaTeX 的发行版主要是 TeX Live 和 MiKTeX 两个阵营。
TeX Live 是跨平台的,Windows、macOS、Linux 都有对应版本,宏包集合完整,一年一更。MiKTeX 在 Windows 上比较常见,有个“自动安装缺失宏包”的功能,听起来很方便,但实际用起来有两个问题:一是自动安装需要联网,遇到网络不稳定会卡住;二是它安装的宏包版本可能跟 TeX Live 的宏包版本不一致,某些依赖关系复杂的宏包组合容易出兼容性问题。
我给所有问我的朋友都推荐 TeX Live。安装时哪怕硬盘空间紧张,也建议选择完整版(full scheme),不要用 basic 或 medium。原因非常现实:IEEEtran 模板本身依赖的宏包不算多,但你的论文一旦要插图、做三线表、调整超链接,就会不断引入新的宏包。精简单版装到一半缺宏包,tlmgr install一个个补,心情会变得很差。完整版一次到位,省下的事情远大于省下的硬盘空间。
编译引擎方面,官方模板默认是为 PDFLaTeX 设计的,所以日常编译用pdflatex最稳妥。后面提到中文内容时,再考虑 XeLaTeX 的方案,但那是特殊需求,不是默认路线。
2. 环境搭建与最小源码验证
2.1 安装 TeX Live 的三种方式
最简单的安装方式取决于你的操作系统。Windows 用户直接下载安装 ISO 或者网盘分卷包,国内网络环境下推荐用清华镜像站的安装包。macOS 用户通常用 MacTeX,它是 TeX Live 的 macOS 封装版,装完自带 TeX Live Utility。Linux 用户直接用发行版仓库安装,Debian/Ubuntu 上是texlive-full,Arch 上是texlive-most和texlive-langchinese。
装完以后,先打开终端验证一下环境变量是否生效:
tex --version pdflatex --version如果提示找不到命令,Windows 上需要检查一下 TeX Live 的 bin 目录是否加入了系统 PATH。TeX Live 安装器默认会修改 PATH,但如果你用的是便携版或者自定义安装路径,就可能漏掉。macOS 的 MacTeX 一般不需要额外配置,Linux 的包管理器也会自动处理。
没有弹出目录说明的话,可以再跑一句kpsewhich --var-value TEXMFDIST,能输出一个路径就代表 TeX 系统本身可用。
2.2 获取模板源码的正确姿势
获取 IEEETrans.cls 的官方渠道有几个:期刊官网的“Author Center”页面会提供下载链接;Overleaf 的模板库里也有官方上传的版本,搜索 IEEEtran 就能找到。这里要特别提醒一句:Overleaf 上有大量个人上传的“改动版”,如果你选择 Overleaf 在线模板,注意看模板描述里是否写着“Official”或者上传者是否为 IEEE 官方账号。用个人改过的版本,风险跟用网上下载的修改版一样。
下载之后,把模板包解压到你的工作目录。目录结构按这样组织,后面会舒服很多:
project/ ├── main.tex ├── refs.bib ├── figures/ │ ├── fig1.pdf │ └── fig2.png └── paper.bblmain.tex是主文件,refs.bib是参考文献数据库,figures目录放图片。LaTeX 对文件路径中的空格和中文支持不够好,目录名和文件名尽量只用小写英文字母、数字、下划线。
2.3 第一个能编译的最小示例
新建一个main.tex,先别写正文,只放一个最小可编译的骨架:
\documentclass[journal]{IEEEtran} \usepackage{cite} \usepackage{amsmath,amssymb,amsfonts} \usepackage{algorithmic} \usepackage{graphicx} \usepackage{textcomp} \begin{document} \title{Your Paper Title} \author{Author~Name} \maketitle \begin{abstract} This is a minimal example. \end{abstract} \section{Introduction} Your text here. \end{document}然后在终端里执行:
pdflatex main.tex pdflatex main.tex为什么要跑两遍?第一遍 LaTeX 会把正文里所有的交叉引用、公式编号、图表编号写入.aux辅助文件,第二遍才能读取这些编号生成正确的引用。如果你后面用了 BibTeX,编译顺序会变成四步:pdflatex→bibtex→pdflatex→pdflatex,关于这个我放在参考文献部分展开。
如果这两遍跑完没有报错,你的环境就是可用的,后面所有问题都可以在这个最小框架内排查。
2.4 编码与中文处理的坑
bare_jrnl.tex默认用的是pdfLaTeX引擎和UTF-8编码。绝大多数文本编辑器默认就是 UTF-8,所以英文内容完全不会有问题。
问题出在中文。IEEE Transactions 的正文原则上要求英文,但有些场景下你需要在论文里出现中文信息,比如中英文标题对照、中文作者名、中文致谢等。我试过几种方案,结论如下:
- 方案一:全部用英文。投稿系统要求提交的总是最终排版文件,中文信息在投稿说明的附加材料里单独提交。最省事,推荐。
- 方案二:XeLaTeX + ctex 宏包。能编译通过,但 IEEETrans.cls 的双栏布局和某些脚注命令跟 ctex 兼容性不稳定,我遇到过脚注跑到错误位置的情况。需要折腾,不推荐作为默认选项。
- 方案三:pdfLaTeX + CJKutf8 宏包。老方案,在 Overleaf 上偶尔还能用,但字体配置繁琐,效果也一般。
如果你确实需要在论文里内嵌中文,我的建议是:单独建立一个.tex文件专门生成“中文信息页”,正文主文件保持纯英文。这样投稿时可以只提交英文正文,中文信息页自己存档或者作为附加材料提交,互不干扰。
3. 核心用法与排版要点
3.1 标题、作者与所属单位:别让脚注吃掉你的通讯作者
标题的写法最基础,但有很多人栽在小细节上。\title命令里如果标题中有换行需求,用\\手动换行。IEEE 的标题排版默认是全部大写,你不必自己在源码里大写,模板类会在编译时处理。
作者的写法是这类模板里最容易犯错的区域。多作者时,用\author命令并列,作者名之间用\and分隔:
\author{ Author~One, Author~Two, \and Author~Three }这里有两个细节容易被忽略。第一,作者名里的点号、缩写建议用控制空格~来防止换行把名字断成两截,比如Author~One中的空格不会在换行时断开。第二,通讯作者的标注和基金项目信息通过\thanks{}命令放入脚注,但 IEEETrans.cls 默认在双栏格式下不会把作者脚注放在第一页底部,它会生成一个“脚注页”效果。如果你发现脚注没显示,不要慌,先编译两遍再看 PDF,或者检查是不是漏了\maketitle。
单位信息在\thanks或\author内部通过\IEEEauthorblockN{}和\IEEEauthorblockA{}来分区排版,这是 IEEEtran 特有的命令,用于显示作者名块和单位块。直接在\author{}里写普通换行文本,得到的排版效果经常不符合模板要求。
3.2 摘要与关键词:长度和格式都有约定
摘要放在\begin{abstract}环境中,IEEE 的格式要求是 150 到 250 词左右,不要含有未定义的缩写,不要包含引用。写作时建议用一段式或两段式,突出方法、结果、结论三个要素。
关键词用专门的IEEEkeywords环境,不需要手动加粗,模板会自动处理:
\begin{IEEEkeywords} Image processing, deep learning, edge detection \end{IEEEkeywords}一个经验之谈:关键词的书写风格应和论文标题中的术语保持一致,别标题里写 full name,关键词里却只写缩写,审稿人看了会觉得术语不统一。
3.3 正文章节结构与特殊环境
IEEEtran 的章节命令用法和标准 LaTeX 没太大区别:
\section{Introduction} \subsection{Related Work} \subsubsection{Preliminaries}但注意 IEEE 排版风格中,section 标题是罗马数字编号的,subsection 是1.1格式,subsubsection 是1.1.1格式。这些都不用手动输入编号,LaTeX 自动管理。
如果你的论文涉及定理、引理、证明,IEEEtran 环境里虽然内置了相关环境,但需要显式加载amsmath系宏包才能获得完整的编号支持。举个例子:
\begin{theorem} For any sufficiently large $n$, the proposed method converges. \end{theorem}这里有个容易踩的坑:theorem环境的编号默认是独立的计数序列,如果希望跟章节编号关联(比如第 2 节的定理编号为 Theorem 2.1),需要在导言区加一行:
\usepackage{amsthm} \newtheorem{theorem}{Theorem}[section]否则可能出现整篇文章定理只有一个连续编号序列的问题,这在投稿时很容易被审稿人提意见。
3.4 图片插入:格式、宽度与跨栏
图片插入推荐用graphicx宏包,命令本身不复杂:
\begin{figure}[!t] \centering \includegraphics[width=\columnwidth]{figures/fig1.pdf} \caption{The overall framework of the proposed method.} \label{fig:framework} \end{figure}这里最容易出问题的就是宽度参数。\columnwidth是单栏宽度,\textwidth是版心总宽度。双栏论文里,普通图片占一栏,用\columnwidth;需要跨两栏的大图(比如系统架构图、流程图),要用双栏浮动环境:
\begin{figure*}[!t] \centering \includegraphics[width=\textwidth]{figures/fig1.pdf} \caption{The overall architecture.} \label{fig:architecture} \end{figure*}注意figure*中带了一个星号,意思是“跨栏图”,且它只能放在页面顶部(!t是常用选项)。如果你用小写figure环境却想跨栏,图片永远只占一栏,排版会非常丑。
图片格式方面,IEEEtran 用 PDFLaTeX 编译时,建议把所有图转成 PDF 或 PNG。位图用 PNG,600 dpi 以上;矢量图用 PDF。不要用 EPS 格式,因为 PDFLaTeX 原生不支持 EPS,除非你专门加载epstopdf宏包并让系统自动转换。与其依赖这个机制,不如在画图时就导出 PDF。
3.5 表格:三线表是底线
IEEE 论文里的表格基本都要求三线表风格,也就是顶线、表头线、底线三条横线,中间没有竖线。推荐用booktabs宏包:
\usepackage{booktabs} \begin{table}[!t] \centering \caption{Comparison of different methods.} \label{tab:comparison} \begin{tabular}{lccc} \toprule Method & Accuracy & Precision & Recall \\ \midrule Method A & 92.1\% & 91.3\% & 90.2\% \\ Method B & 94.5\% & 93.0\% & 92.8\% \\ Ours & \textbf{97.2\%} & \textbf{96.1\%} & \textbf{95.5\%} \\ \bottomrule \end{tabular} \end{table}booktabs的\toprule、\midrule、\bottomrule三条线的粗细不同,排版很精致。如果你试了却发现编译报错,先确认宏包有没有安装,再确认是不是用了|竖线画表格风格,跟三线表混用。
表格内容出现很长英文语句时,默认的tabular不会自动换行,会把表格撑出页面。解决办法是用p{3cm}这种指定列宽的方式,或者加载tabularx宏包,让特定列自动换行:
\usepackage{tabularx} \begin{tabularx}{\columnwidth}{lX}X列会自动展开剩余宽度并换行,适合放描述性文字。
3.6 公式:编号与多行对齐
公式是科研论文的重头戏。IEEEtran 默认通过amsmath宏包处理公式环境,最常用的是equation:
\begin{equation} \mathcal{L}(\theta) = \sum_{i=1}^{N} \left( y_i - f(x_i; \theta) \right)^2 \label{eq:loss} \end{equation}多行公式推荐用align环境,需要对齐的等号位置用&标注:
\begin{align} a &= b + c \\ d &= e + f \label{eq:second} \end{align}如果你希望某一行的公式不编号,在后面加\notag:
\begin{align} a &= b + c \notag \\ & = b + c' \label{eq:new} \end{align}公式部分最常见的报错,我认为是这两类。一类是“Missing$inserted”,原因是公式环境外出现了数学模式才能用的符号,比如_^\frac,检查一下是不是有特殊字符漏进正文了。另一类是\begin{aligned}在\begin{document}结束时没闭合,多半是花括号没配对,或者公式中间误用了\\导致环境解析错乱。
3.7 参考文献:BibTeX 的四步编译法
IEEEtran 官方推荐使用 BibTeX 管理参考文献,样式文件就是IEEEtran.bst。写作流程是:
- 在正文中需要引用的地方写
\cite{key}。 - 在
.bib文件中维护文献条目。 - 在正文末尾指定样式和数据库:
\bibliographystyle{IEEEtran} \bibliography{refs}- 按顺序编译四次:
pdflatex main.tex bibtex main.tex pdflatex main.tex pdflatex main.tex为什么是这个顺序?pdflatex先生成.aux文件,里面记录了正文的引用标记;bibtex读取.aux,在.bib里找到对应条目,生成.bbl文件,里面是排版好的参考文献列表;第二次pdflatex把.bbl编入正文并更新引用编号;第三次pdflatex用于把所有交叉引用最终稳定下来。
如果不按这个顺序编译,最常见的现象是正文里出现[?],或者编译日志提示Citation undefined。
.bib条目的基本格式是:
@article{key2024, author = {Doe, John and Smith, Jane}, title = {A Novel Method for {IEEE} Transactions}, journal = {IEEE Transactions on Example}, volume = {10}, number = {2}, pages = {100--110}, year = {2024} }这里有一个我踩过很多次的坑:作者列表里多人姓名之间必须用and连接,不能写&,也不能只写逗号。&在 BibTeX 条目中会被解析成特殊字符,轻则警告,重则导致整个.bib文件无法解析。
题目中的专有名词大小写也可能是个坑。BibTeX 会统一把标题里的字母转成小写(除了第一个字母),如果你想保留某个专有名词,需要用花括号把它包起来,就像上面例子里的{IEEE}一样。
如果你不想用 BibTeX,也可以在.tex文件末尾直接手写thebibliography环境:
\begin{thebibliography}{1} \bibitem{key2024} J.~Doe and J.~Smith, ``A novel method,'' \emph{IEEE Trans. Example}, vol.~10, no.~2, pp.~100--110, 2024. \end{thebibliography}这种方式简单直观,但文献多的时候,编号和顺序要自己维护,容易出现错误,不适合长论文。
3.8 超链接与 PDF 元信息
为了让生成的 PDF 带书签、可点击引用,需要加载hyperref宏包:
\usepackage[hidelinks]{hyperref}hidelinks的作用是去掉超链接默认的红色/蓝色边框,这样 PDF 里链接仍可点击,但打印出来是干净的普通黑色文字。
另一个细节:hyperref一般要放在导言区的最后,也就是其他宏包都加载完之后再加载,否则它可能覆盖其他宏包的链接设置默认值。
如果你在 PDF 里看到书签乱码或者显示??,通常是因为编译顺序不对,重新跑两遍pdflatex就能解决。
4. 常见问题与排查技巧实录
4.1 编译报错速查表
我把实际碰到的、以及同事反馈过的典型报错整理成一张表,方便快速对照:
| 报错信息 | 常见原因 | 解决办法 |
|---|---|---|
File \xxx.sty' not found` | 宏包未安装 | tlmgr install xxx或用完整版 TeX Live |
Missing $ inserted | 正文中直接用了数学符号 | 检查_^\frac是否在数学环境外 |
Undefined control sequence | 命令拼写错误或宏包版本太旧 | 检查命令名,确认宏包已加载 |
Citation \xxx' undefined` | BibTeX 未编译或 key 不匹配 | 重新按四步顺序编译,核对.bib的 key |
Reference \xxx' undefined` | 只编译了一遍 | 再跑一遍pdflatex |
LaTeX Error: \begin{document} ended by \end{xxx} | 环境未闭合 | 检查\begin{}与\end{}是否一一对应 |
Emergency stop | 读取文件失败或权限不足 | 检查文件路径是否含空格/中文,确认文件可读 |
I found no \citation commands | .aux中没有引用记录 | 检查正文是否有\cite{}命令,.tex 是否正确编译 |
这张表不是让你背下来,而是建议你把编译日志完整看一遍。报错信息往往会直接把原因指向具体文件和行号,很多时候不是 LaTeX 不懂,是你没看它给的提示。
4.2 图片相关的坑:EPS、路径与跨栏
图片不显示是投稿阶段最磨人的问题之一。第一种情况是图片位置占位但显示空白,通常是编译器无法解析图片格式,最典型的就是在 PDFLaTeX 下直接用了.eps。解决方法是画图时导出 PDF,或先用工具转一下格式。
第二种情况是图片路径包含中文或空格,比如figures/我的图片.png放在\includegraphics里,编译时会报错说找不到文件。LaTeX 对非 ASCII 路径的支持极差,把图片文件重命名为英文名是最直接的方案。
第三种情况是图片跨栏后跑到文章末尾,或者顺序错乱。浮动体[!t]等位置参数不是强制性的,LaTeX 会根据自己的排版算法重新安排位置。如果你希望图紧跟某段文字,最粗暴的办法是把图片文件直接放在对应位置,不放入浮动环境。虽然专业排版通常不推荐,但投稿初稿阶段为了快速校对,可以临时这么干。
子图是另一个高频需求。IEEEtran 下推荐用subfig宏包(subfigure已经过时):
\usepackage{subfig} \begin{figure}[!t] \centering \subfloat[Case 1]{\includegraphics[width=0.4\columnwidth]{figures/case1.pdf}} \hfill \subfloat[Case 2]{\includegraphics[width=0.4\columnwidth]{figures/case2.pdf}} \caption{Qualitative comparison.} \label{fig:cases} \end{figure}编译后子图会自动得到(a)(b)这样的子编号,正文中用\ref{fig:cases}引用整个图,用\subref{...}引用子图。注意子图标签必须放在每个\subfloat内部,否则引用子图时编号会错乱。
4.3 作者脚注与版面错位问题
\thanks{}的内容在 IEEEtran 下默认不是放在 PDF 第一页底部的普通脚注位置,而是以独立段落形式排在作者信息下面。如果你发现基金号、作者简介没有出现,先检查是否在\author{}环境中、以及是否漏了\maketitle。
另一个常见问题是“标题页脚注里的内容跑到下一页”。这是双栏文档的固有现象,IEEEtran 通过\IEEEoverridecommandlockouts等机制做了一些控制,但如果你在\author{}中自己加了\footnote而不是\thanks{},就会绕过模板的控制,出现错位。记住一点:作者信息相关的内容,一律用\thanks{},不要用\footnote{}。
版面错位还有一种隐蔽来源:正文中使用了\enlargethispage强行调整某一页高度。IEEEtran 对这类命令比较敏感,用了之后容易出现奇偶页不对称。非必要不要碰。
4.4 中文信息与字体警告
如果你的项目确实要支持中文,我前面建议过单独建一个中文信息页。如果一定要在主文件里处理中文,最稳妥的方式是用 XeLaTeX 引擎配合ctex宏包:
\documentclass[journal]{IEEEtran} \usepackage[UTF8]{ctex}但这里有个兼容性问题:IEEEtran 的\IEEEauthorblockN命令和 ctex 的字体切换逻辑在某些版本下冲突,导致作者名块里的中文显示为空白或乱码。我实际遇到过一次,最终的处理是作者信息全部用英文拼音,中文版本的信息放在脚注里用\thanks额外说明。
字体警告Font shape \EU1/...' undefined基本是字体族缺失导致,在 Overleaf 或完整版 TeX Live 上很少出现。如果你用的精简版,安装texlive-lang-chinese和完整的fonts` 支持即可。
4.5 Overleaf 在线编辑的特殊问题
Overleaf 是很多人写论文的首选,它免去了本地环境配置的麻烦,但也有自己的坑。
第一,Overleaf 默认编译器是 PDFLaTeX,如果你不小心在项目设置里切换成 XeLaTeX,而模板用的是官方原始版本,有些图片和字体配置会变得诡异。原因在于两种引擎处理字体的机制完全不同。第二,Overleaf 的“自动编译”默认开启,你在编辑时它会后台不停地跑。如果你的项目包含大量图片或者公式,自动编译会占用资源,导致编辑器卡顿。我的建议是关掉自动编译,改成手动编译(快捷键 Ctrl+S 会触发重新编译)。第三,Overleaf 的模板库中那个官方模板更新频率不一定跟期刊官网同步,我遇到过模板版本不一致导致参考文献格式差了一点的情况。所以我一律建议从期刊官网下载模板后上传到 Overleaf,而不是直接从模板库导入。
5. 投稿前的最终检查清单
5.1 PDF 质量与字体嵌入检查
投稿前一定要检查两个东西。第一,PDF 里的字体是否全部嵌入。IEEE 和其他主流出版社对字体嵌入有硬性要求,未嵌入字体可能在编辑部转换系统时出现乱码。检查方法:用 Adobe Acrobat Reader 打开 PDF,进入“文件” → “属性” → “字体”,如果列表里出现“未嵌入”字样,就要排查。正常情况下,TeX Live 生成的 PDF 字体是完整嵌入的,但如果你用某些在线转换工具修改过 PDF,就可能破坏字体嵌入。
第二,检查 PDF 的书签层级是否正常。加载了hyperref之后,章节标题会自动生成书签。如果书签里出现乱码或层级混乱,大概率是之前编译中断过,重新完整编译两遍即可。
5.2 清理临时文件与最终归档
写完论文准备提交时,一键清理项目里的中间文件:
rm -f *.aux *.log *.bbl *.blg *.out *.synctex.gz.aux是交叉引用辅助文件,.log是编译日志,.bbl是 BibTeX 生成的参考文献正文,.out是 hyperref 的书签辅助文件,.synctex.gz用于编辑器和 PDF 同步定位。这些文件一律可以删除,重新编译时会再生成。
但注意.bbl文件有一点特殊:IEEE 的投稿系统有时候要求提交.bbl文件而不是窗口里显示的参考文献文本。如果期刊给的作者须知提到“Please include BBL file”,那就保留它,并在投稿说明里注明。
5.3 版本控制与修改留痕
写论文的过程中,建议用 Git 做版本控制,每次大改动提交一次。LaTeX 项目的 Git 管理非常简单,在项目目录下初始化即可:
git init git add main.tex refs.bib figures/ IEEEtran.cls IEEEtran.bst git commit -m "Initial submission"好处显而易见:改乱了可以随时回滚,投稿后被要求修改时可以快速对比哪里改了。还有一个小技巧:把编辑器的自动保存目录和临时文件加入.gitignore,避免一堆.synctex.gz和编辑器的.swp文件污染代码库。
6. 写在最后
跟 IEEETrans.cls 打交道这几年,我最大的感受是:这个模板真正难的不是它的命令有多复杂,而是它在 IEEE 几十年排版规范约束下形成的一套“自己的逻辑”。你越是想用普通 LaTeX 文档的思路去套它,越容易踩坑;你越是老老实实按它的约定来,它反而顺手。
我自己有个小习惯,在每个项目里都放一个mini.tex文件,内容只有最简的标题、摘要和一段话,每次环境换了或者编译器升级了,先跑一遍mini.tex验证环境,再打开正式论文编辑。这样做的好处是,一旦正式论文编译报错,我永远可以先确认“环境没问题”,把问题锁定在论文内容层,排查效率高很多,这个习惯你可以直接学走。最后再说一句:工具始终是工具,写论文最重要的还是把内容本身做好,排版再精致也掩盖不了用得不够扎实的草稿,排版粗糙却往往会让扎实的工作在初审阶段就留下坏印象。祝大家的论文都能顺利过审。