这是双列代码
\begin{multicols}{2}
\begin{figure*}[!ht]
\centering
\includegraphics[height=60mm]{CC.jpg}
\caption{AA \cite{BB}}
\end{figure*}
\end{multicols}
但图像占用了两列。我怎样才能让它只显示在一列上?
答案1
使用环境center
而不是图形。当然,您必须使用\captionof{figure}{<text>}
或与包 caption 一起使用\captionsetup{type=figure}
。
multicols
用于saveboxes
分割内容。在这种情况下,您不能使用任何浮动材料。
以center
、captionof
和为例captionsetup
:仅供参考:captionof
需要包 caption 或 capt-of 或 KOMA Bundle 的 documentclass;captionsetup
需要包 caption。
\documentclass[english,demo]{scrreprt}
\usepackage{babel}
\usepackage{blindtext}
\usepackage{multicol}
\usepackage{graphicx}
\usepackage{caption}
\begin{document}
\blindtext
\begin{multicols}{2}
\blindtext
\begin{center}
\includegraphics[height=60mm]{CC.jpg}
\captionof{figure}{AA \cite{BB}}
\end{center}
\blindtext[2]
\end{multicols}
\blindtext
\clearpage
\blindtext
\begin{multicols}{2}
\blindtext
\begin{center}
\captionsetup{type=figure}
\includegraphics[height=60mm]{CC.jpg}
\caption{AA \cite{BB}}
\end{center}
\blindtext[2]
\end{multicols}
\blindtext
\begin{thebibliography}{99}
\bibitem{BB} Name, Title
\end{thebibliography}
\end{document}
答案2
环境figure
在环境中不起作用multicol
。您必须选择\twocolumn
命令或包caption
,然后
\begin{multicols}{2}
\begin{center}
\includegraphics[height=60mm]{CC.jpg}
\captionof{figure}{AA \cite{BB}}
\end{center}
\end{multicols}
但是,如果您希望图像跨越两列,那么您必须分割multicol
环境:
\begin{multicols}{2}
foo
\end{multicols}
\begin{figure}[!ht]
\centering
\includegraphics[height=60mm]{CC.jpg}
\caption{AA \cite{BB}}
\end{figure}
\begin{multicols}{2}
bar
\end{multicols}
答案3
您还可以使用 usepackage{here} 并使用 H
\begin{multicols}{2}
\begin{figure*}[H]
\centering
\includegraphics[height=60mm]{CC.jpg}
\caption{AA \cite{BB}}
\end{figure*}
\end{multicols}