如何创建一组可以跨列但不能分成两页的小页面?

如何创建一组可以跨列但不能分成两页的小页面?

我正在尝试绘制一张用于教育目的的考试图表。我使用该包multicols将问题显示为两列。该考试的每个问题分为三个部分:

  1. 基础文本
  2. 措辞
  3. 答案

我将这些区块分别分组放在一个迷你页面中,这样它们就不会被拆分。我们希望这些区块能够跨越同一页上的列,但我们很难找到如何防止一个问题被分成两页。

以下是一个例子:

\documentclass[a4paper]{article}

\usepackage[utf8]{inputenc}
\usepackage[left=15mm,right=15mm,top=15mm,bottom=15mm]{geometry}
\usepackage[portuguese]{babel}
\usepackage{multicol}
\usepackage{blindtext}

\begin{document}

\begin{multicols*}{2}

\begin{minipage}{0.48\textwidth}
\noindent{\bf QUESTION 1}\\
\textbf{BASE-TEXT}\\
\blindtext
\end{minipage}
\vfill
\begin{minipage}{0.48\textwidth}
\textbf{WORDING}\\
\blindtext
\end{minipage}
\vfill
\begin{minipage}{0.48\textwidth}
\textbf{ANSWERS}\\
\blinditemize
\end{minipage}

\vfill

\begin{minipage}{0.48\textwidth}
\noindent{\bf QUESTION 2}\\
\textbf{BASE-TEXT}\\
\blindtext
\end{minipage}
\vfill
\begin{minipage}{0.48\textwidth}
\textbf{WORDING}\\
\blindtext
\end{minipage}
\vfill
\begin{minipage}{0.48\textwidth}
\textbf{ANSWERS}\\
\blinditemize
\end{minipage}

\vfill

\begin{minipage}{0.48\textwidth}
\noindent{\bf QUESTION 3}\\
\textbf{BASE-TEXT}\\
\blindtext
\end{minipage}
\vfill
\begin{minipage}{0.48\textwidth}
\textbf{WORDING}\\
\blindtext
\end{minipage}
\vfill
\begin{minipage}{0.48\textwidth}
\textbf{ANSWERS}\\
\blinditemize
\end{minipage}

\end{multicols*}
\end{document}

如果你编译此代码,你会注意到问题 2 的块跨越了两列,这是可取的(列约束),但问题 3 分为两页(页面约束),我们不能让这种情况发生。

我们尝试使用\samepage,但没有效果。

我们还尝试在第一个和第二个块之后添加\nobreak。我们没有\nobreak在第三个块之后添加,因为我们不想在此时阻止中断。一旦每个问题都完全放在一列中,此尝试就会保持页面约束,但会破坏列约束。

有没有办法在 LaTeX 中同时保持这两个约束?

美好祝愿。

答案1

对于这一点来说,使用标准可能更容易,twocolumn而不是multicol因为全局平衡使得更难知道您处于哪一列。

在此处输入图片描述

\documentclass[a4paper,twocolumn]{article}

\usepackage[utf8]{inputenc}
\usepackage[left=15mm,right=15mm,top=15mm,bottom=15mm]{geometry}
\usepackage[portuguese]{babel}
\raggedbottom

\usepackage{blindtext}
\setlength\parindent{0pt}

\makeatletter

\def\hmm{\par\if@firstcolumn\else \par \nopagebreak \fi\par\bigskip}

\makeatother

\begin{document}



\begin{minipage}{\columnwidth}
\textbf{QUESTION 1}\\
\textbf{BASE-TEXT}\\
\blindtext
\end{minipage}
\hmm
\begin{minipage}{\columnwidth}
\textbf{WORDING}\\
\blindtext
\end{minipage}
\hmm
\begin{minipage}{\columnwidth}
\textbf{ANSWERS}\\
\blinditemize
\end{minipage}

\vfill

\begin{minipage}{\columnwidth}
\textbf{QUESTION 2}\\
\textbf{BASE-TEXT}\\
\blindtext
\end{minipage}
\hmm
\begin{minipage}{\columnwidth}
\textbf{WORDING}\\
\blindtext
\end{minipage}
\hmm
\begin{minipage}{\columnwidth}
\textbf{ANSWERS}\\
\blinditemize
\end{minipage}

\vfill

\begin{minipage}{\columnwidth}
\textbf{QUESTION 3}\\
\textbf{BASE-TEXT}\\
\blindtext
\end{minipage}
\hmm
\begin{minipage}{\columnwidth}
\textbf{WORDING}\\
\blindtext
\end{minipage}
\hmm
\begin{minipage}{\columnwidth}
\textbf{ANSWERS}\\
\blinditemize
\end{minipage}


\end{document}

相关内容