Memoir 的单列 \newfloat 不能与多列一起使用吗?

Memoir 的单列 \newfloat 不能与多列一起使用吗?

我一直在使用 memoir 的 \newfloat 来制作在多列文档中浮动的文本框。当我使用双列模式时,一切都正常。但是,我需要使用 multicol 包来制作列,因为这允许我制作跨列的节标题(无需开始新的页面,就像在双列模式下尝试这样做时一样)。

当我使用带星号的 memoir float 版本时,结果会按预期跨越多列(在双列模式和使用多列时均如此)。但是,使用多列时,未带星号的版本无法显示。

\documentclass{memoir}

\usepackage{lipsum}
\usepackage{multicol}
\usepackage{xcolor}

\pagestyle{empty}

% Create memoir float...
\newfloat{F}{X}{capname}

% Make section title span columns...
\let\oldsection\section
\renewcommand*{\section}[1]{%
    \end{multicols}%
    \oldsection{#1}%
    \begin{multicols}{2}%
    }

\begin{document}

\begin{multicols}{2}

\section{Section title modified to span columns}

\lipsum[1-2]

\begin{F} % Non-starred is supposed to float contents within a column -- this works with twocolumn, but not multicols?
\color{red}{\lipsum[3]}
\end{F}

\lipsum[4-5]

\begin{F*} % Non-starred is supposed to float contents across all columns on next page -- this works.
\color{green}{\lipsum[6]}
\end{F*}

\lipsum[7-8]

\end{multicols}

\end{document}

答案1

您真的需要multicols环境吗?或者您可以使用multicols常规\onecolumn\twocolumn宏的混合使用吗?正如@DavidCarlisle 所说,multicol不支持单列浮点数。

\documentclass{memoir} % defaults to \onecolumn
\usepackage{multicols}
\begin{document}
Text in one column ...
\twocolumn % starts new page in two column
Text in two columns
\onecolumn % starts new page in one column
Text
\begin{multicols}{2} % starts two columns
Text in two columns
\end{multicols} % reverts back (to onecolumn)
Text
\end{document}

通过巧妙的调整,您可能能够在 a\twocolumn而不是 a中获取一列数字multicols{2}

相关内容