LaTeX技巧306:multicols宏包插入图片丢失,怎么办?

问题描述
貌似multicols环境中不能放图片,即
\begin{multicols}{2}
\begin{figure}
\centering
\includegraphics[width=0.309\textwidth]{fig0001.eps}
\caption{图} \label{fig:1}
\end{figure}
\end{multicols} 是不允许的,图片丢失,可是如把图片放在multicols环境外图片就是单栏的了,是不是这样?

发布时间:2010-07-04 14:38:30
文章类别:插图技巧
原文地址:http://blog.sina.com.cn/s/blog_5e16f1770100k267.html

QQ群:91940767/145316219/141877998/80300084/194770436
淘宝店:http://latexstudio.taobao.com
技巧续篇:http://latexstudio.net/
常见数学公式问题集下载

原文地址:http://bbs.chinatex.org/forum.php?mod=viewthread&tid=5023&extra=
问题描述
貌似multicols环境中不能放图片,即
\begin{multicols}{2}
\begin{figure}
\centering
\includegraphics[width=0.309\textwidth]{fig0001.eps}
\caption{图} \label{fig:1}
\end{figure}
\end{multicols} 是不允许的,图片丢失,可是如把图片放在multicols环境外图片就是单栏的了,是不是这样?


解释说明:Package multicol Warning: Floats and marginpars not allowed inside `multicols'
environment!.
就是说multicols环境里,是不允许浮动环境存在的。
解决方案
方案一、参见ctex-faQ,59个问题。摘录如下:
如果你使用的是LATEX 标准文档类的twocolumn 模式,那么使用figure 和table 环境可以产生单列的
浮动图形或者表格,而使用figure* 和table* 环境则可以产生通栏的浮动图形或者表格。
如果你使用的是multicol 宏包提供的multicols 环境,那么就有一点小问题了。figure 和table 在这种方式下无法正常工作,会导致图形或者表格丢失。但是, figure* 和table* 仍然可以正常工作,产生通栏的浮动图形或者表格,就像在标准文档类的twocolumn 模式下一样。
要在multicols 环境中使用单栏的图形或者表格,可以使用float 宏包提供的[H] 位置选项。例如
\begin{figure}[H]
...
\caption{...}
\end{figure}
但是要注意的是,这种方式产生的对象是不能“浮动”的,也就是说位置是固定的。因此,有时候你必须仔细调整它的位置,以免造成分栏的底部参差不齐。

方案二、在双栏环境下,我们可以不使用figure。可以直接插入图片,居中的话可以用center环境。若是想使用caption和label,导言区 加入代码:
\makeatletter
\def\@captype{figure}
\makeatother
\caption{???}\label{xxx}


这样会让图和表格的标题都以figure ,若是table也正常的话。每次使用前修改为\makeatletter
\def\@captype{table}
\makeatother
或者重新定义为:
\makeatletter
\newcommand\figurecaption{\def\@captype{figure}\caption}
\newcommand\tablecaption{\def\@captype{table}\caption}
\makeatother
然后用\figurecaption{XXX}和\tablecaption{XXX}来加标题吧!

方案三、定义新的环境来使用。
\makeatletter
\newenvironment{tablehere}
{\def\@captype{table}}
{}


\newenvironment{figurehere}
{\def\@captype{figure}}
{}
\makeatother

我们直接使用 figurehere 和 tablehere环境就可以了。

分享到:
未经允许不得转载:LaTeX技巧306:multicols宏包插入图片丢失,怎么办?
已有 条意见

    最新文章

    加载中...
      本站提供专业LaTeX排版、咨询、定制服务,请点击下图咨询详情


      全国首个精品的LaTeX视频教程,大牛带着你入门,让LaTeX学习不再纠结,请点击下图咨询详情

      热门评论

        联系我们

        交流QQ群:91940767
        本站QQ号:343083553
        邮箱联系latexstudio@qq.com
        淘宝店铺latexstudio.taobao.com 提供排版,模板定制,培训,图片处理,视频教程等LaTeX服务。

        关注微信公众号: latex2015

        如果您投稿或者希望加入我们团队,请发送您的简历到latexstudio@qq.com。

        科技艺术的完美融合,专业精致的排版体验

        联系我们联系我们