使用多列在同一頁上兩列浮動

使用多列在同一頁上兩列浮動

我有使用multicol包,無法將figure浮動放在同一頁中。我的 MWE 是:

\documentclass{book}
\usepackage{graphics,lipsum,multicol}
\makeatletter
\setlength{\columnseprule}{1pt}
\newenvironment{Figure}
  {\begin{figure*}[b]\par\medskip\noindent\minipage{\textwidth}}
  {\endminipage\par\end{figure*}\medskip}
\makeatother
\begin{document}
\chapter{Chapter Title Here}
\begin{multicols}{2}
\lipsum[1-1]
\begin{Figure}
\centering
{\includegraphics{16627ans_171}}
\end{Figure}
and...

\end{multicols}
\end{document}

我期望輸出如下:

在此輸入影像描述

答案1

\documentclass{book}
\usepackage[demo]{graphicx}
\usepackage{lipsum}
\usepackage{multicol}
\usepackage{caption}
\setlength{\columnseprule}{1pt}
%\makeatletter
%\newenvironment{Figure}
%  {\begin{figure*}[b]\par\medskip\noindent\minipage{\textwidth}}
%  {\endminipage\par\end{figure*}\medskip}
%\makeatother
\begin{document}
\chapter{Chapter Title Here}
\begin{multicols}{2}
\lipsum[1-1]
\end{multicols}%

\begin{center}
\includegraphics{16627ans_171}
%\captionof{figure}{Some Caption} % if needed
\end{center}
and... \lipsum
\end{document}

在此輸入影像描述

答案2

通常使用時multicols不能在同一頁面上新增浮動。根本不會發生。

但是,在您啟動 的頁面上有一個輕微的解決方法multicols。添加浮動開始multicols.至惠特:

\documentclass{book}
\usepackage{graphics,lipsum,multicol}
\makeatletter
\setlength{\columnseprule}{1pt}
\newenvironment{Figure}
  {\begin{figure*}[b]\par\medskip\noindent\minipage{\textwidth}}
  {\endminipage\par\end{figure*}\medskip}
\makeatother
\begin{document}
\chapter{Chapter Title Here}
\begin{Figure}
\centering
{\includegraphics{16627ans_171}}
\end{Figure}
\begin{multicols}{2}
\lipsum[1-1]
and...

\end{multicols}
\end{document}

將把浮動放在當前頁面的底部,因為它是在multicols.它不是一般情況的解決方案,但在這種(相當狹窄的)情況下確實有效。

相關內容