双栏论文排版指南:跨栏大图与长公式的处理技巧

📅 发布时间:2026/9/29 7:27:20
双栏论文排版指南:跨栏大图与长公式的处理技巧
1. 双栏版式下的“宽度危机”问题根源与排版机制1.1 栏宽和页宽一张大图为什么会“顶破”栏框先说一个我实际遇到过的画面帮同事改一篇 IEEE Transactions 的返修稿他投的是双栏模板正文用的栏宽大约只有 82mm但他那套系统架构图原图宽度是 170mm。第一次他把图片缩到单栏宽度硬塞进去结果图的标注小到需要拿放大镜看审稿人直接在意见里写“Figures should be legible”。第二次他使了个“更狠”的办法把图原样放上去不缩放结果图左右两侧直接顶到页边距外面连页码都被盖住了。这不是个例而是双栏论文里非常普遍的“宽度危机”。要理解这件事得先算一笔尺寸账。以最常见的 A4 纸为例页面宽度 210mm左右页边距通常各 20mm 左右正文区域 \textwidth 大约是 170mm。如果开启双栏栏与栏之间还要留 6~10mm 的栏间距columnsep那么每栏的宽度 \columnwidth 就只剩下约 80~85mm。也就是说同样的图单栏模板能享受 170mm 宽度双栏模板只能给它一半不到的空间。很多人第一次在双栏文档里插图时用的是\includegraphics[width\linewidth]{xxx}以为这样图片就该占满“一行”了。但实际上在双栏模式下\linewidth等价于\columnwidth它只等于单栏宽度。所以图片会自动被压缩到栏宽以内字号自然就变得非常小。这就是“为什么我的图明明不窄跑进双栏模板就糊了”的核心原因。同样的道理也适用于长公式。双栏里一行公式的可用宽度就 80mm 上下一个带有积分号、求和上下标和多个括号的推导式很容易超过这个长度。公式和普通文本不同的是普通文本会自动换行而数学公式默认不会在任意位置断行一旦超过栏宽就会直接溢出形成明显的 Overfull \hbox 警告严重点甚至会把相邻栏的文本顶开。1.2 LaTeX和Word对“跨栏”的不同处理逻辑同样是“两栏变一栏”LaTeX 和 Word 的工作机制完全不一样但很多人混在一起理解所以第一步要把二者的底层逻辑分清。在 LaTeX 里双栏不是一种“格式刷”级别的属性而是由文档类选项控制的全局状态比如\documentclass[twocolumn]{article}或者像 IEEEtran、Elsevier 的 elsarticle 等模板内部已经开启了双栏。所有浮动体图、表默认都被限制在当前栏的“盒子”里浮动如果想跨越两栏必须使用专门的figure*、table*环境告诉 LaTeX“这个对象占整页宽度”。而公式则是行内或行间元素它本来没有“跨栏”一说只能靠拆行、缩放或者把公式塞进一个跨栏容器里。Word 的逻辑则完全不同。Word 的分栏是“节Section”级别的属性页面被分成几栏取决于当前节。跨栏的本质是改变处理区域所属那一节的栏数而不是给单个图片一个“跨栏”开关。所以很多人在 Word 里右键图片翻遍“大小与位置”也找不到“跨栏”选项就是因为找错了地方。你需要用分节符把目标区域单独隔离出来再把这个新分成的“节”设置成单栏。搞清楚这个区别后面所有操作才能对号入座LaTeX 优先找环境和宏包Word 优先找分节符和分栏设置。2. LaTeX 跨栏大图浮动体路径与固定位置路径2.1 标准做法figure*/table* 环境让浮动体通栏LaTeX 官方提供的跨栏方案是带星号的浮动体环境。把普通的figure改成figure*表格就改成table*这个浮动体就不再局限于单个栏而是自动占据整个\textwidth宽度。基本用法如下\begin{figure*}[!t] \centering \includegraphics[width\textwidth]{architecture.png} \caption{完整的系统架构图} \label{fig:arch} \end{figure*}关键点在于[!t]这个位置参数。星号浮动体和普通浮动体有个重要区别figure*不支持[h]和[H]只支持t顶部、b底部和p单独一页。也就是说你不能指望它像普通figure一样被放在文字中间某个精确位置跨栏图最常见的归宿是“当前页或下一页的顶部”。!是让 LaTeX 忽略内部比例限制以争取更快放置配合t使用最常见。width\textwidth是另一个容易迷惑人的地方。在双栏文档里\textwidth是整页正文宽度而\linewidth是当前栏宽度。跨栏浮动体把“当前行宽”变成了整页宽度所以用\textwidth能确保大图撑满整个正文区域。如果图本身不需要撑满可以改成width0.9\textwidth之类的比例别用\linewidth否则图会突然变小一半和你的预期天差地别。表格跨栏同理\begin{table*}[!t] \centering \caption{各方法在大规模数据集上的性能对比} \label{tab:comparison} \begin{tabular}{lcccc} \toprule Method P5 R5 F1 Runtime\\ \midrule ... \bottomrule \end{tabular} \end{table*}长表格或宽表格放进table*后列宽可以按照整页宽度设计不必再纠结栏宽限制。这里要提醒一句table*里的caption默认格式和普通表格一致但位置仍遵循浮动体的设置。如果模板要求表格标题在表上方你需要先确认自己的文档类是不是已经做了处理尤其是 Elsevier 的elsarticle模板跨栏表格的标题格式经常和单栏表格不一样建议用\captionsetup统一。2.2 控制跨栏浮动体的摆放位置与间距跨栏浮动体的位置选择是新手最容易翻车的地方。很多人在双栏模板里写完\begin{figure*}[!t]后发现图跑到一两页之后去了页面顶部空一大块。这不是 LaTeX 卡了而是浮动体的放置算法本身就存在“权衡”对于跨栏浮动体尤其严格。可以尝试用以下常规手段介入。首先在导言区加载宏包stfloats它允许跨栏浮动体出现在页面底部\usepackage{stfloats} \fnbelowfloatstfloats解决了“跨栏图不可以在页底显示”的限制。如果你希望跨栏表格或跨栏图出现在页面底部这个宏包几乎是必选项。其次dblfloatfix宏包可以提升跨栏浮动体的放置能力它把[t]、[b]、[p]的可选比例放宽并支持跨栏浮动体放置在当前页顶部而不是被强制推到下一页\usepackage{dblfloatfix}这个宏包很老但很稳定尤其在 IEEEtran 模板下能让figure*的放置更“听话”。第三跨栏浮动体与文本之间的垂直间距由\dbltextfloatsep控制而不是\textfloatsep。如果你发现跨栏图上方下方空白太大可以调整\setlength{\dbltextfloatsep}{10pt plus 2pt minus 2pt}需要注意这个长度既影响跨栏浮动体与上方文本的距离也影响它与下方文本的距离。如果只想控制上下侧需要结合\topskip或其他垂直间距命令但绝大多数情况下统一调小即可。再补充一个经常被忽略的细节当跨栏图被放到下一页顶部时当前页底部的留白会很刺眼。这时可以在文档类里加上\raggedbottom让文本底部高度变得“自适应”虽然不会消除空白但至少不会出现一栏长一栏短的严重落差。你还可以通过调整浮点参数让它更紧凑\renewcommand{\topfraction}{0.9} \renewcommand{\bottomfraction}{0.8} \renewcommand{\textfraction}{0.1}这些参数的意思是允许页面顶部最多 90% 被浮动体占据底部最多 80%文本最少占 10%。数值越大浮动体被放置到本页的可能性越高但过度提高也会导致正文过分压缩。一般稍微放宽到 0.85~0.95 即可不要用极端值。2.3 想要“固定在这里”怎么办cuted宏包的strip环境跨栏浮动体毕竟是“浮动”的如果投的期刊对图片位置要求并不严格浮动路径完全够用。但总有少数情况你希望一张大图紧跟在某个段落后面最好就落在当前位置这时 LaTeX 本身的机制做不到因为它压根不允许跨栏对象在正文中间固定放置。一个相对可行的方案是使用cuted宏包提供的strip环境。用法如下\usepackage{cuted} \begin{strip} \centering \includegraphics[width\textwidth]{architecture.png} \captionof{figure}{完整的系统架构图} \label{fig:arch2} \end{strip}strip环境会把内部的“栏”暂时恢复成整页宽度内容正好落在当前页两栏文本的交汇处视觉上就是跨栏的。它没有浮动性所以位置是固定的不会乱跑但代价是破坏了 LaTeX 的“流式双栏”机制当前页底部可能留下额外的空白或文本错位。此外strip内部如果要加标题普通\caption在 strip 里可能因为缺少浮动体上下文而报错需要搭配caption宏包的\captionof{figure}{...}来强制生成图标题。交叉引用虽然能用\label和\ref但在部分旧版本配合中会有编号顺序问题建议生成 PDF 后仔细核对。相比之下很多模板其实不允许正文中途插入跨栏大图。投稿前最好先看期刊的作者指南如果对方只接受把跨栏图置于页顶或页底就不要用strip。我自己的经验是strip更适合内部报告、技术文档这些排版自由度高的场景用于严格期刊投稿时反而容易因为“位置不正确”被退回修改。2.4 跨栏图与标题、引用的联动设置跨栏图虽然物理宽度变了但标题格式、编号引用的逻辑不会自动改变。用caption宏包可以统一控制所有浮动体的标题格式\usepackage[fontsmall,labelfontbf]{caption}如果你希望跨栏图标题的字号、字体与单栏图有细微差异可以用\captionsetup按环境单独设置\captionsetup[figure*]{fontsmall,labelfontbf,positiontop}自动编号方面figure*和figure共享同一套计数器所以跨栏图的编号依然按顺序生成。但有一个隐藏风险跨栏浮动体往往被放置到后面的页面导致图号顺序和正文引用顺序出现错位。比如正文先引用图 3但图 3 被浮动到下一页才出现与此同时原本应该编号为图 4 的单栏图先出现在上一页底部形成编号倒挂。规避方法是在最终提交前逐段核对\ref和\label。如果模板对图号顺序非常敏感可以把跨栏图的位置参数从[!t]改成[tp]让它更容易被延后到单独一页或者手动调整图片出现位置确保编号顺序与正文引用顺序一致。这种问题不会报编译错误所以没人提醒往往发现不了属于最典型的“无声的坑”。另一个常见陷阱是跨栏表格的 caption 与列宽不匹配。当表格宽度接近\textwidth时如果 caption 依旧使用单栏的居中模式可能看起来“居中偏移”。建议在跨栏表格标题里用\captionsetup{width\textwidth}指定标题宽度至少保证视觉上对齐。3. 长公式的单栏化拆行、压缩与跨栏三种路线3.1 拆行是最稳妥的选择split/multlined/align长公式的处理逻辑和大图不太一样。图片跨栏只要改环境就行但公式跨栏的“历史包袱”很重很多期刊模板压根不支持跨栏公式即使支持也容易导致编号混乱。所以我在实战中首选永远是“拆行”把一条长公式拆成多行让每行都能放进单栏宽度。最常见的拆行环境是amsmath提供的split。它支持用指定对齐点通常放在equation里以保证公式编号独立\usepackage{amsmath} \begin{equation} \begin{split} H(\mathbf{x}) \sum_{i1}^{n} x_i^2 - \frac{1}{2}\sum_{i1}^{n}\sum_{j1}^{n} a_{ij} x_i x_j \\ \quad \lambda \sum_{i1}^{n} \left| x_i \right| \mu \left\| \mathbf{x} \right\|_2^2 \end{split} \end{equation}这里的关键是第二行开头用了\quad让续行的第一个字符排在等号右边而不是顶着行首。许多初学者只写和换行符结果第二行紧贴栏边看起来像一条孤立的公式不够美观。如果公式较长且不需要太严格的对齐用multiline更合适。它允许第一行左对齐、最后一行右对齐中间的行自动居中\begin{multline} A a b c d e\\ f g h i j k l m n \end{multline}更精细的多行对齐可以试试mathtools宏包提供的multlined环境它像是内嵌在多行公式里的“迷你 multiline”常用于某个子式内部继续换行\usepackage{mathtools} \begin{equation} \begin{multlined}[t] f(x) \Bigl( x^3 x^2 1\Bigr)\\ \qquad \cdot \Bigl( x^4 - 2x^2 \sqrt{x} \Bigr) \end{multlined} \end{equation}如果你用的是 IEEEtran 模板它自带的IEEEeqnarray也非常强大。它可以精细控制每一行的对齐、间距和编号\begin{IEEEeqnarray}{rCl} f(x) a b c d \notag\\ \quad e f g h \end{IEEEeqnarray}IEEEeqnarray的三列{rCl}分别表示“右对齐、居中对齐、左对齐”适合手工安排公式行的视觉结构。它比split更灵活但需要额外记忆控制符号建议看过模板手册再用。拆行之后长公式问题通常就解决了。公式编号默认垂直居中在几行之间这是国际期刊最常见的样式一般不会有人挑毛病。3.2 实在拆不动再考虑跨栏公式有少数公式在数学语义上非常“紧密”拆行会严重破坏可读性比如很长的矩阵乘法、概率密度函数指数部分、以及整块分类讨论的 cases。这时才需要跨栏。一个比较实用的跨栏公式方案是继续用cuted宏包的strip环境把公式整体放在跨栏区域里\usepackage{cuted} \begin{strip} \begin{equation} \label{eq:long-posterior} P(\theta \mid D) \frac{p(D \mid \theta)\, \pi(\theta)} {\int_{\Theta} p(D \mid \theta)\, \pi(\theta)\, d\theta} \end{equation} \end{strip}这样公式占满整个页面宽度编号照常。但要注意公式所在页的双栏文本流会被打断页面底部可能出现空白位置也不会完全跟随上下文。如果期刊的投稿系统在生成 PDF 时采用列优先级扫描这种跨栏公式会导致版面条理变得混乱。此外有些作者会把长公式塞进figure*浮动体里我强烈不建议。因为figure*内部不支持equation编号硬塞的话需要手动打编号而且图目录中会多出一条“假图题”编辑看到会头大。只有在你完全不希望公式有编号并且只是把公式当作“展示对象”时才勉强可以考虑。3.3 缩放公式的适用边界还有一种“偷懒”做法是用\resizebox把公式等比缩到栏宽以内\resizebox{\textwidth}{!}{% $\displaystyle \int_{0}^{1} f(x)\, dx \sum_{i1}^{n} w_i f(x_i) R_n $ }效果确实“放得下”但副作用很直接公式里所有字体、括号厚度、上下标尺寸都被等比例压缩数学符号的视觉体量会失衡。两个来自不同公式的字母放到一起读者会明显感觉一个字大一个字小这在正式论文里非常扎眼。审稿人如果较真多半会给你一条“Font size mismatch”的意见。用\resizebox处理矩阵或单个括号结构有时尚可接受但用于整行公式就很危险。另一个类似方案是\scalebox或\adjustbox{max width...}本质相同。所以结论是缩放只建议作为“临时查看”手段比如你自己写草稿时先看看完整公式长什么样最终提交前还是用拆行或者跨栏环境格式化。你要记住公式的可读性优先于排版美观审稿人绝不会因为你公式缩得太小而夸你机智。4. Word里的两栏变一栏分节符、表格法与审阅安全4.1 用分节符把图片“夹成”单栏Word 里没有figure*这种一键跨栏的环境但通过分节符完全可以实现同样的效果。核心思路把需要跨栏的图片单独放进一个“单栏的小节”并且这个小节只包含图片本身。具体步骤如下。第一步在图片所在位置的前面插入一个分节符。鼠标定位到图片前一段的末尾点击“布局-分隔符-分节符-连续”。注意不要选“下一页”除非你希望图片强制开启新的一页。多数情况下连续分节符更适合在页面中间腾出位置放跨栏图因为它不会强制分页后续双栏内容还会继续在同一页下方接排。第二步图片后同样插入一个“连续分节符”。这样图片就被夹在两个分节符中间形成了一个独立的“节”。第三步把光标放进新产生的节中点击“布局-栏-更多栏”在“预设”中选择“单栏”然后点确定。这一步会改变当前节的栏数使其从双栏变成单栏。由于前后两节仍是双栏图片所在区域就自然变为“两栏中的一栏”。下面这张示意图可以帮你理解节与栏的关系位置布局图片前分节符连续图片所在节布局-栏-单栏图片后分节符连续后续节自动恢复为双栏这里容易踩的坑是在 Word 中插入分节符后节的属性会继承上一节的格式而不是自动变为双栏。所以必须在图片所在节手动把栏数改成单栏。同时分节符还会影响页眉页脚。如果论文要求每页页眉一致插入分节符后 Word 可能会自以为你要“重新开始页眉”导致后续页眉空白。解决方法很简单双击页眉区取消勾选“链接到前一节”再手动复制一次页眉内容。这个坑我在给研究生改 Word 版毕业论文时几乎每隔几篇就要踩一次。如果你希望跨栏图出现在页面顶部可以把第一个分节符选成“下一页”图片节也被放到页面顶部再在图片后插入“连续分节符”恢复双栏。如果只是想让图夹在两栏文字中间“连续分节符”就够用。4.2 表格法实现“伪跨栏”的注意事项很多人也问 Word 里能不能像 LaTeX 一样让图片不插入分节符而是直接横跨两栏。答案是直接做不到但有一种“伪跨栏”方法可以快速预览跨栏效果却不适合提交终稿。做法是插入一个单行单列的表格把图片放进表格单元格设置表格宽度为页面宽度比如 16cm去掉所有边框然后右键表格选择“环绕-上下型”。这样图片在视觉上看起来是横跨两栏的。由于表格宽度大于栏宽Word 会把它当做一个“块级对象”处理强行让它占据整个页面宽度从而在编辑视图里的确呈现跨栏效果。但这个方法有两个致命问题。第一表格实际仍然是当前栏的元素只是它的宽度超出栏宽和正文重叠的概率很高。第二跨栏表格一旦触发重新分页可能把图片推到页边距外或者让文字环绕位置漂移最终生成的 PDF 可能和你在 Word 窗口里看到的不一样。所以我只在做内部讨论稿时用这个办法“糊弄”一下投稿时永远使用分节符路径而不是表格法。还有一种“文本框法”也类似插入文本框设置宽度为页面宽度图片放进去去掉边框再设置文字环绕为“上下型”。这种方式对图片本身的位置控制相对灵活但 Word 文本框本质是浮于文字上方的对象排入 PDF 后容易发生偏移在不同版本的 Word 或 Adobe Distiller 里表现不一致。不建议用于正式投稿。4.3 Word 中长公式的处理方式Word 的长公式处理和 LaTeX 不同但思路接近能拆行就拆行不能拆行就调整版式。如果你用的是 Word 自带的公式编辑器Office 数学公式可以在公式内部直接按 Enter 键换行然后用符号在公式的“对齐点”上对齐。操作路径是点中公式点击“公式工具-设计-对齐”或者在需要对齐的位置输入在 Unicode 数学模式下是“对齐点”。这套机制和 LaTeX 的align很像只是界面不同。如果公式特别长比如矩阵求逆展开式单栏宽度依然不够那么只能用分节符把公式区域临时改成单栏方法和前面图片跨栏一致。公式所在节设为单栏后公式可以占满整行编号可以手动放在公式后面或下方。需要注意跨栏的公式在 Word 里很可能比图片更容易被“拉伸”或“压缩”因为 Word 有时候会根据分栏调整对象大小所以放进去之后要仔细观察字号是否发生变化。如果用的 MathType可以在“MathType 选项卡”中找到“插入方程-拆分方程”的功能把长公式手动拆成多行这个功能对编辑体验友好很多。MathType 拆出来的公式使用制表位对齐在双栏模板里比 Word 自带的公式换行更稳定。还要提醒一句Word 自动编号公式的功能在分节符干扰下可能“重启编号”。如果你用 Word 的“题注”功能给公式编号那么在插入了分节符后注意题注的编号是从“1”还是从“3”开始必要时右键点击“更新域”刷新编号。每学期都有学生因为在图片分节符之后忘了更新公式编号导致整个论文后半部分公式号全乱改起来非常痛苦。5. 投稿前必须做的检查与常见返修点5.1 跨栏对象超出页边距、编号错乱、留白过大聊完全部操作最后一步是“检查”。我见过太多人在 Author 版本里排得好好的一提交到期刊系统生成 PDF 就变样原因几乎都集中在跨栏对象上。因此下面这几个检查点值得你养成习惯每次投稿前都过一遍。第一看跨栏图是否超出页边距。在 LaTeX 里编译日志如果出现Overfull \hboxwarning说明图片或公式宽度超了。你可以用\includegraphics[width\textwidth]来避免大多数溢出但如果原图纵横比过大宽度撑满了也未必安全。用 PDF 阅读器放大到 200% 以上把跨栏图左右边界和正文页边距对齐确认没有压线或跨页。第二看跨栏浮动体是否造成页面下方大量留白。如果你用的是[!t]图被放在页顶下方正文又不足以填满剩余半页就会产生明显空白。解决办法是把后续文本用\newpage人工调整或者把图的位置改成[!b]用stfloats支持页底。不要为了消除空白而盲目拉大图片高度会让图变形。第三看公式编号顺序。跨栏公式如果用了strip编号可能和当前栏的公式编号错位。比如第 5 页第一个公式编号是 (11)但上一栏末尾的跨栏公式编号已经是 (12)然后下一页又出现 (13)这种“前后颠倒”的编号在视觉上非常难以发现。建议生成 PDF 后把正文里所有(编号)按顺序扫一遍尤其注意跨栏区域前后的编号是否递增。第四在 Word 里要额外检查分节符是否影响了页眉页脚和页码。连续分节符通常不会改页码但如果你的第一个分节符选的是“下一页”则页码可能从那一页重新开始。解决方法是进入“插入-页码-设置页码格式”把“页码编号”选为“续前节”。5.2 审稿人最常见的抱怨图太小、公式不清晰从审稿人的角度看跨栏排版相关的意见其实很集中就那么几条。知道了这些“常见雷区”你就能提前规避。第一条图太小。这是双栏论文被审稿人挑毛病最多的地方。很多作者怕图跨栏麻烦硬把大图缩到单栏宽度结果图内文字可读性极差。我的建议是“物尽其用”系统架构图、流程图、实验装置照片、电路版图这类宽幅内容只要原图宽度超过二倍栏宽就该考虑跨栏。不要为了排版方便牺牲信息可读性。第二条公式不清晰。公式被盲目缩放后模板和上下标都变小投影到屏幕上几乎看不清。拆行虽然会占用更多纵向空间但保证了符号大小。期刊编辑通常更接受拆行而不是缩小的公式。第三条跨栏图与正文的间距不一致。如果你的跨栏图有的在页顶、有的在页底、有的在文字中间之间留白忽大忽小整体版式会显得不专业。投稿前统一浮动体位置策略要么全部页顶要么全部页底至少让版式有规律可循。这些意见本身不需要你用高深技巧去解决只要把前面几章的方法用到位基本都能避免。真正靠的是动手时多看一眼而不是依赖某个万能按钮。5.3 从 Overleaf/WinEdt 到提交 PDF 的最后一步最后聊聊工作流层面的经验。无论你用 Overleaf、TeXstudio 还是本地 WinEdt跨栏对象检查的路径都差不多。在 Overleaf 中编译后先看右侧日志面板有没有Overfull \hbox和Underfull \hboxwarning。尤其是有figure*或strip的页面一旦报Overfull优先解决宽度问题。然后点击 PDF 左下角的页码跳转功能一页页检查跨栏对象的位置。不要直接用网页预览的缩略图因为 Overleaf 小窗预览往往会压缩图片清晰度你以为图糊了可能只是预览窗口的问题但反过来预览里能看清的图往往是安全的。本地编译时我习惯在导言区临时加一行\overfullrule2pt这会让超宽的盒子在右侧显示一条垂直黑条一眼就能定位到哪个公式或图片超出了栏宽。检查完再把这行删掉避免影响最终 PDF。确定终稿前把 PDF 打印成小尺寸或者用手机横屏扫一遍会发现很多电脑屏幕上注意不到的排版问题。跨栏排版这一块尤其如此因为宽幅对象在屏幕上容易被“视觉补偿”但打印出来栏间距和空白的问题会暴露得很直接。这套方法听起来土但确实帮我抓到过多次编号倒挂和分节符导致的页眉偏差问题。我自己现在养成的习惯是在项目最开始就把所有可能超过栏宽的大图和长公式做成清单写进README或注释里等正文初稿完成后统一处理跨栏而不是写成 bug 再局部修补。双栏论文的大图与长公式本质上不是排版难题而是规划问题——提前把宽度需求看清后面每一步都走得稳。