使用“twocolumn”参数将一页上的文本从两列转换为一列,然后转换为两列

使用“twocolumn”参数将一页上的文本从两列转换为一列,然后转换为两列

一页纸上的文字、图片、表格,根据参数,从两栏转为一栏,或从一栏转为两栏,都是可行的,twocolumn但从两栏转为一栏,再从一栏转为两栏,就比较困难了。例如:

\documentclass[twocolumn]{book}
\usepackage{graphicx,caption,lipsum,balance}
\begin{document}
\lipsum[1]\par\balance
\twocolumn[
\begin{@twocolumnfalse}
    {
    \centering
    \includegraphics[width=0.8\textwidth]{example-image-a}
    \captionof{figure}{Example image}
    }
\end{@twocolumnfalse}
]
\par
\lipsum[1-3]
\end{document}

生成:

在此处输入图片描述

如何将第二页的内容移动到第一页的底部,同时保持图形在第一页的中间?我不知道如何实现这个效果。

答案1

要真正在不同数量的列之间切换,您可以使用包裹multicol

\documentclass{book}
\usepackage{mwe}
\usepackage{caption}
\usepackage{multicol}
\begin{document}
\begin{multicols}{2}
  \lipsum[1]
\end{multicols}
\noindent\begin{minipage}{\textwidth}
\begin{centering}
  \includegraphics[width=0.8\textwidth]{example-image-a}
  \captionof{figure}{Example image}
\end{centering}
\end{minipage}

\begin{multicols}{2}
  \lipsum[1-3]
\end{multicols}

\end{document}

使用多列

但通常我建议使用figure*将图形浮动到下一页的顶部:

\documentclass[twocolumn]{book}
\usepackage{mwe}
\usepackage{caption}
\begin{document}
\lipsum[1]
\begin{figure*}[t]
  \centering
  \includegraphics[width=0.8\textwidth]{example-image-a}
  \caption{Example image}
\end{figure*}

\lipsum[1-8]

\end{document}

附图示*

您还可以通过混合原生twocolumn模式来达到以下效果multicols

\documentclass[twocolumn]{book}
\usepackage{graphicx,caption,lipsum,balance,multicol}
\begin{document}
\twocolumn[%
{\begin{@twocolumnfalse}
  \begin{multicols}{2}
    \lipsum[1]
  \end{multicols}
    \centering
    \includegraphics[width=0.8\textwidth]{example-image-a}
    \captionof{figure}{Example image}
\end{@twocolumnfalse}}%
]
\par
\lipsum[1-3]
\end{document}

在此处输入图片描述

但我不建议这么做。

相关内容