考试包:如何将零件和解决方案盒粘在一起?

考试包:如何将零件和解决方案盒粘在一起?

我正在使用考試班parts并且与环境结合时会出现问题solutionorboxpart和相应的solutionorbox应该在同一页面上。 以下是演示该问题的示例:

\documentclass{exam}
\usepackage{blindtext}
\begin{document}
\begin{questions}
\titledquestion{Farben}
\begin{parts}
\part[4] Question 1 \blindtext
\begin{solutionorbox}[16cm]
    \blindtext
\end{solutionorbox}
\part[4] Question 2 \blindtext
\begin{solutionorbox}[10cm]
    \blindtext
\end{solutionorbox}
\end{parts}
\end{questions}
\end{document}

我曾尝试\part使用etoolbox包修改命令,但它不适用于:

\preto{\part}{\par\nobreak\vfil\penalty 9999\vfilneg\vtop\bgroup}

part这是考试目录

\def\part{%
  \@bonusfalse
  \process@part
}%

如果需要,我该如何添加,\newpage以使问题和解决方案的空间位于同一页面上,而无需添加\newpage

答案1

这可能不是一个好的解决方案,但这是一个开始。

首先,您必须在环境\preto中移动补丁parts,因为\part在那里定义了。然后,因为\part现在有一个\bgroup,您必须用一个来结束您的项目\egroup

\documentclass{exam}
\usepackage{blindtext}
\usepackage{etoolbox}
\begin{document}
\begin{questions}
\titledquestion{Farben}
\begin{parts}
\preto{\part}{\par\nobreak\vfil\penalty 9999\vfilneg\vtop\bgroup}
\part[4] Question 1 \blindtext
\begin{solutionorbox}[16cm]
    \blindtext
\end{solutionorbox}
\egroup
\part[4] Question 2 \blindtext
\begin{solutionorbox}[10cm]
    \blindtext
\end{solutionorbox}
\egroup
\end{parts}
\end{questions}
\end{document}

在此处输入图片描述

答案2

您可以尝试\filbreak在每个\part命令前放置一个。这会尝试将所有分页符放在一个\filbreak命令处,但如果到下一个命令为止的所有文本都有剩余空间,则不会分页\filbreak

相关内容