latex 双列布局设置图形加载在单列上

latex 双列布局设置图形加载在单列上

这是双列代码

\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分割内容。在这种情况下,您不能使用任何浮动材料。

centercaptionof和为例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}

相关内容