LaTeX双栏模板插入通栏公式(跨栏插图)

1. 利用带星号的浮动体环境

带星号的浮动体figure和table环境可以在双栏模板中使用,例如我们以IEEEtran为例,插入通栏公式

\documentclass{IEEEtran}
\usepackage{amsmath,lipsum}
\begin{document}
\lipsum[1]
\begin{figure*}
\begin{align}
a&=b+c=b+c=b+c=b+c=b+c=b+c
&=b+c=b+c=b+c=b+c=b+c=b+c
\end{align}
\end{figure*}
\lipsum[1-10]
\end{document}

可以发现,这样确实实现了公式的通栏,但是这个带星号的浮动体只会出现在下一页的顶部,无法出现在当前位置,所以会使得公式的顺序紊乱,如果手动将公式提前,使得它出现在当前页的顶部,会使得公式的编号紊乱,需要手动更改计数器equation的值,这样并不是一个最好的方法.

2. 利用cuted包提供的strip环境

cuted包可以说是完全解决了一个这样的问题,把公式环境用strip环境包裹,可以直接在当前位置插入通栏公式

\documentclass{IEEEtran}
\usepackage{amsmath,lipsum}
\usepackage{cuted}%%stripsep-3pt
\begin{document}
\lipsum[1-2]
\begin{strip}
\begin{align}
a&=b+c=b+c=b+c=b+c=b+c=b+c
&=b+c=b+c=b+c=b+c=b+c=b+c
\end{align}
\end{strip}
\lipsum[1]
\begin{strip}
\begin{align}
a&=b+c=b+c=b+c=b+c=b+c=b+c
&=b+c=b+c=b+c=b+c=b+c=b+c
\end{align}
\end{strip}
\lipsum[1-2]
\end{document}

效果如下
在这里插入图片描述
不过大家发现这里的公式上下似乎出现了不小的间距,小问题,在我的代码中有一个带注释的命令stripsep,这个命令就是strip环境的前后弹性粘连(间距),它的默认值为15pt plus 2pt minus 2pt,可以更改它的值来改变这个间距.例如这里的stripsep-3pt或者stripsep=-3pt将使得strip环境的前后间距设置为-3pt,不过我们还是建议大家将这个间距设置为弹性距离,方便在换页时候的排版,例如stripsep -3pt plus 3pt minus 2pt.这样的话,cuted包就彻底解决了双栏模板的通栏公式问题.

3. 双栏模板下插入跨栏的图片(表格)

对于一些强迫症患者,不仅希望公式当前位置,甚至也希望图表也在当前位置。原则上图表用figure和table环境可以使得图表在双栏模板下浮动到下一页的顶部,然后实现交叉引用即可,但是如果借助cuted包也可以实现将图表放在当前位置。在这里首先要注意的问题是,strip环境其实相当于是一个盒子,浮动体是不能放在限制浮动的盒子里面的,因此第一个想法是用float包,然后begin{figure}[H]放在strip环境中取消figure环境的浮动,但是这么做之后得到的效果并不理想,甚至也可以说是失败。一番尝试以后,我找到了另一个方法,就是加载caption宏包,不用figure环境而直接使用captionof命令。下面的mwe经过调试大家就知道了

\documentclass[twocolumn]{ctexart}
\usepackage{lipsum,mwe,cuted}
\usepackage{float}%%%%提供浮动体的[H]选项,进而取消浮动
\usepackage{caption}%%提供captionof命令
\stripsep-2pt
\begin{document}
\lipsum[1]
\begin{strip}
\begin{figure}[H]
  \centering
  \includegraphics[width=0.6textwidth]{example-image}
  \caption{跨栏不理想}
\end{figure}
\end{strip}
 
\begin{strip}
\centeringincludegraphics[width=0.3textwidth]{example-image}
\captionof{figure}{跨栏插图成功}
\end{strip}
 
\lipsum[1-2]
\end{document}

在这里插入图片描述

https://blog.csdn.net/weixin_39942033/article/details/110606149

### LaTeX 排版中公式跨栏解决方案 对于LaTeX中的文档,在处理较长的公式时,如果希望这些公式能够跨越两个目,则可以采用特定的方法来实现这一需求。针对`twocolumn`选项下的文章类文档,直接使用`\begin{multicols}`的方式并不是最佳选择,因为这会在已有的结构内再创建新的多环境[^2]。 为了使长公式能够在布局下正常显示并横跨两,推荐的做法是在需要插入大尺寸内容的地方临时切换回单模式。具体来说,可以通过定义一个新的命令或利用现有的宏包功能完成此操作: #### 方法一:使用 `figure*` 或 `table*` 虽然这种方法通常用于图表而非公式,但对于某些情况同样适用。通过将公式放入一个浮动体环境中,并指定该浮动体为星号版本(即带有`*`),可以让它自动扩展到整个页面宽度而不是局限于某一列之中。 ```tex \documentclass[twocolumn]{article} ... \begin{figure*}[!htp] \[ % Your long equation here. E=mc^2+\sum_{i=0}^{n}(a_i+b_i)+\int_a^bf(x)\,\mathrm dx \] \end{figure*} ``` 需要注意的是,这种方式可能会导致页码顺序上的变化以及与其他元素之间的相对位置调整。 #### 方法二:应用 `\onecolumn` 和 `\twocolumn` 命令组合 另一种更为灵活的选择是显式地改变当前部分文档的列数设置。可以在要放置大型对象之前调用`\onecolumn`指令恢复成单格式;而在之后立即跟上另一个`\twocolumn`声明重新回到原来的样式。 ```tex % Switch to one column before the large object \onecolumn \section*{Large Equation Section} Here is a very important and lengthy mathematical expression: \[ E=\gamma m_0c^2-\frac{\hbar c}{r_e}\left(\alpha Z\right)^2+... \] % Return back to two columns after it ends \twocolumn ``` 然而,频繁更改全局列宽可能会影响整体美观度和一致性,因此建议仅当其他手段不可行时才考虑这种方法。 #### 方法三:借助第三方宏包如 `widetext.sty` 还有专门为此目的设计的一些辅助工具可供选用,比如`widetext.sty`就是一个不错的选择。这个宏包允许作者轻松地在不破坏原有布局的前提下加入全幅宽的内容区块。 安装完成后只需简单导入即可开始使用: ```tex \usepackage{widetext} ... \begin{widetext} The following line will span across both columns: \[ H=-J\sum _{{<ij>}}S_{i}S_{j}-h\sum _{i}S_{i}. \] \end{widetext} ``` 上述三种方式各有优劣,可以根据实际应用场景和个人偏好做出适当选择。值得注意的是,无论采取哪种策略都应确保最终输出效果满足期刊投稿或其他正式出版物的要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值