flutuação de duas colunas com a mesma página usando multicols

flutuação de duas colunas com a mesma página usando multicols

Estou usando multicolo pacote e não consigo encaixar o figurefloat na mesma página. Meu 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}

Estou esperando a saída conforme abaixo:

insira a descrição da imagem aqui

Responder1

\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}

insira a descrição da imagem aqui

Responder2

Normalmente ao usar multicolsvocê não pode adicionar um float na mesma página. Simplesmente não acontecerá.

No entanto, há uma pequena solução alternativa na página em que você inicia o arquivo multicols. Adicione o flutuadorantesiniciando o multicols. Para saber:

\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}

Irá colocar o float no final da página atual, pois ele foi criado fora do multicols. Não é uma solução geral, mas funciona neste caso (bastante restrito).

informação relacionada