如何在 mcexam 和 longtables 中拆分列

如何在 mcexam 和 longtables 中拆分列

朋友们!

我想在 multicol 框架中排版 mcexam (或 longtable)。

是否可以更正确地分列,即使用某种变体\columnbreak

我发现的唯一解决方法是使用间距参数,如下\vspace{.1pt}例所示:

\documentclass{article}
\usepackage[output=exam,randomizequestions=false]{mcexam}
\usepackage{multicol}

\newsavebox\mybox

\begin{document}
\begin{multicols}{2}
\setbox\mybox\vbox{
\makeatletter\col@number\@ne
\begin{mcquestions}
\question How much is $2+2$?\par
\begin{mcanswerslist}
\answer two
\answer[correct] four
\answer five
\answer six
\answer seven
\answer eight
\end{mcanswerslist}
\vspace{.1pt}
\question How much is $5-3$?
\begin{mcanswerslist}
\answer 1
\answer[correct] 2
\end{mcanswerslist}
\end{mcquestions}
\unskip
\unpenalty
\unpenalty}
\unvbox\mybox
\end{multicols}
\end{document}

得出

pdfLaTeX 输出

如果没有间距参数,\vspace{.1pt}Tex 会生成这样的 Hurenkind,

pdfLaTeX 输出无间距参数

这很丑陋并且令人困惑:想象一下多项选择题的最后一个答案在下一页。

我的问题是在 LaTeX 中平衡多列内的长表,大量引用了 David Carlisle 的回答。

附言

这是我在 tex.stackexchange 上提出的第一个问题,尽管我从 1990 年就开始与 TeX 和朋友合作。

相关内容