防止多列星号环境后出现分页符

防止多列星号环境后出现分页符

multicols环境multicol package在星号版本中产生分页符。我们如何才能避免这种分页符?

\documentclass{book}
\usepackage{amsmath,amssymb,amsthm}
\usepackage{multicol}
\begin{document}
    \begin{proof}
        \begin{enumerate}
            \begin{multicols*}{4}
                \item First
                \columnbreak
                \item Second
                \columnbreak
                \item Third
                \columnbreak
                \item Fourth
            \end{multicols*}
        \end{enumerate}
    \end{proof}
Can you help me to stay in the same page?
\end{document}

答案1

请注意,由于校样名称的原因,校样的第一行比其他行短。您需要决定是否将小页放在第一行。如果是,则使用计算出的宽度作为小页的宽度。如果不是,则将其用作\strut\newline第一行。

\documentclass{book}
\usepackage{amsmath,amssymb,amsthm}
\usepackage{multicol}
\usepackage{showframe}

\newlength{\tempdima}

\begin{document}
    \begin{proof}%
      \settowidth{\tempdima}{\textit{Proof}.}%
      \rule{\dimexpr \linewidth-\tempdima-\labelsep}{1pt}\linebreak
      \begin{minipage}{\linewidth}
        \begin{enumerate}
          \begin{multicols*}{4}
            \item First
            \columnbreak
            \item Second
            \columnbreak
            \item Third
            \columnbreak
            \item Fourth
          \end{multicols*}
        \end{enumerate}
      \end{minipage}
    \end{proof}
\noindent Can you help me to stay in the same page?
\end{document}

演示

相关内容