我有一个两列文档(使用multicol
),并希望插入不跨列的图形。我搜索了一番,唯一能找到的说是只figure*
支持跨整个页面(两列)的 。有没有办法使用 s 在文档中获取单列图形multicol
?
答案1
\documentclass[a5paper]{article}
\usepackage{multicol,caption}
\usepackage[demo]{graphicx}
\usepackage{lipsum}
\newenvironment{Figure}
{\par\medskip\noindent\minipage{\linewidth}}
{\endminipage\par\medskip}
\begin{document}
\begin{multicols}{2}
\lipsum[1]
\begin{Figure}
\centering
\includegraphics[width=\linewidth]{foo}
\captionof{figure}{my caption of the figure}
\end{Figure}
\lipsum[1]
\end{multicols}
\end{document}
无法在multicols
环境内定义放置选项。
答案2
“解决这个问题的一个方法是不要让你的浮标漂浮。该float
软件包提供了[H]
浮点说明符来避免这种情况”(取自沃纳的答案在这里:https://tex.stackexchange.com/a/75939/182467)
\usepackage{float}
[...]
\begin{figure}[H]
[...]
\end{figure}
答案3
一个解决方案是使用nonfloat
包。
\documentclass[]{article}
\usepackage{nonfloat}
\usepackage{multicol}
\usepackage[demo]{graphicx}
\usepackage{lipsum}
\newcommand\myfigure[1]{%
\medskip\noindent\begin{minipage}{\columnwidth}
\centering%
#1%
%figure,caption, and label go here
\end{minipage}\medskip}
\begin{document}
\begin{multicols}{3}
\lipsum[1]
%
\myfigure{\includegraphics[width=.9\columnwidth]{test}%
\figcaption{\emph{I am a figure caption!}}}
%
\lipsum[1]
\end{multicols}
\end{document}