貌似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}
\newenvironment{figurehere}
\makeatother
二、 图片位置的控制 多图 1,插入并列的子图
\usepackage{subfigure}
\begin{figure}[H]
\centering
\subfigure[SubfigureCaption]{
\label{Fig.sub.1}
\includegraphics[width=0.4\textwidth]{figurename.eps}}
\subfigure[SubfigureCaption]{
\label{Fig.sub.2}
\includegraphics[width=0.4\textwidth]{figurename.eps}}
\caption{MainfigureCaption}
\label{Fig.lable}
\end{figure}
2,控制图片位置
如果不喜欢让Latex自动安排图片位置,可以使用float包,然后
用\begin{figure}[H]。
\usepackage{float}
1,插入jpg图片
在命令行环境下,使用命令:
ebb figure.jpg
生成bounding box文件figure.bb。
使用如下命令:
\includegraphics[width=0.8\textwidth]{figure.jpg}
可以使用Pdf Texify直接编译成pdf文件。
2,插入bmp图片
还没有找到直接插入bmp图片的方法。现在的方法是,使用
gimp将bmp转换成jpg,然后按上述方法插入。转换时不要
使用windows自带的painter,图片质量损失太多。用gimp或
fastone image viewer,将jpg质量选为最高,转换之后得到的
图片质量较好。
3,同时插入jpg和eps图片
插入的命令不变。编译时使用Latex, dvi2pdf,两种格式的
图片都可以显示。
插入eps图片
使用\includegraphics[选项]{文件} 命令可以插入eps图片。下面是一个最简单的例子:
\documentclass{article}
\usepackage{graphicx} %使用graphicx包
\begin{document}
\includegraphics{file.eps} %插入图片,按图片原尺寸插入
\end{document}
注意:
(1)eps文件和tex文件放在同一个文件夹,只用文件名就可以调用,不用写路径。
(2)编译时不能使用pdflatex,会出错。即使不出错,也看不到图。应使用latex编译生成dvi,然后dvi2ps,ps2pdf就可以看到图了。
使用[选项]可以指定图片大小:
\includegraphics[width=3in]{file.eps}
设定图片宽度为3 inches,图片高度会自动缩放。
\includegraphics[width=\testwidth]{file.eps}
设定图片宽度为文本宽度。
\includegraphics[width=0.8\textwidth]{file.eps}
设定图片宽度为文本宽度的0.8倍
\includegraphics[width=\testwidth-2.0in]{file.eps}
设定图片宽度比文本宽度少2 inches。
使用[选项]指定图片旋转角度:
\includegraphics[angle=270]{file.eps}
将图片旋转270度。
两个选项同时使用,中间用逗号隔开:
\includegraphics[width=\testwidth, angle=270]{file.eps}