考试课堂中答案的集中

考试课堂中答案的集中

平均能量损失

\documentclass[11pt,a4paper]{exam}
%\documentclass[11pt,a4paper,answers]{exam}

\usepackage{multicol}

\begin{document}
\begin{multicols}{2}
\begin{questions}

\question FIRST QUESTION

\begin{oneparchoices}
\choice ABC
\choice DEF
\CorrectChoice GHI
\choice JKL
\choice MNO
\end{oneparchoices}

\question SECOND QUESTION

\begin{oneparchoices}
\choice ABCDEF
\choice GHIJKL
\CorrectChoice GHI
\choice JKL
\choice MNO
\end{oneparchoices}

\end{questions}

\vfill
\columnbreak

EXAM FINISH

\end{multicols}
\end{document}

我想要在最后一行居中回答或答案。有可能吗?

在此处输入图片描述

...@JasperHabicht 解决方案...

当选择不多时,就会发生这样的事情...... 在此处输入图片描述

可以左对齐(在原包装中)或者分发文本吗?

答案1

一个解决方案是使用方法将段落的最后一行居中,而其余行保持对齐。因此,您可以在文档序言中定义一个新环境并使用它来代替旧环境,如下所示:

\newenvironment{oneparchoicescentering}{
 \begingroup
 \leftskip=0mm plus .5fil%
 \rightskip=0mm plus -.5fil%
 \parfillskip=0mm plus 1fil\relax
 \begin{oneparchoices}
}{
 \end{oneparchoices}
 \par
 \endgroup
}

需要\par以使段落在某种程度上完整。我试过不用,但这似乎不起作用。我猜,需要从水平模式改回垂直模式才能正确放置框。

结果是:

在此处输入图片描述

这是你想要实现的愿望吗?

顺便说一句,您应该在文档类中使用a4paper而不是paper=a4作为选项。另外,我认为只使用大写字母会使文本有点难以阅读...


编辑:如果您想要覆盖oneparchoices环境以便能够保留语法,那么您可以在序言中放入以下内容(以下内容同时是 MWE):

\documentclass[11pt,a4paper]{exam}
\usepackage{multicol}

\let\oldoneparchoices\oneparchoices
\let\oldendoneparchoices\endoneparchoices
\renewenvironment{oneparchoices}{
 \begingroup
 \leftskip=0mm plus .5fil%
 \rightskip=0mm plus -.5fil%
 \parfillskip=0mm plus 1fil\relax
 \begingroup\oldoneparchoices
}{
 \oldendoneparchoices\endgroup
 \par
 \endgroup
}

\begin{document}

\begin{multicols*}{2}
\begin{questions}

\question First Question

\begin{oneparchoices}
 \choice ABC
 \choice DEF
 \CorrectChoice GHI
 \choice JKL
 \choice MNO
\end{oneparchoices}

\end{questions}
\end{multicols*}

\end{document}

单行答案未居中

为了防止单行答案也居中(虽然我个人不会混合居中和右侧参差不齐的文本),可以利用包使用以下代码environ

\documentclass[11pt,a4paper]{exam}
\usepackage{multicol}

\let\oldoneparchoices\oneparchoices
\let\oldendoneparchoices\endoneparchoices
\let\oneparchoices\relax         % We have to unset these to make \NewEnviron work
\let\endoneparchoices\relax
\usepackage{environ}             % Load environ package 
\newlength{\choiceslen}          % Creating new length for later test
\NewEnviron{oneparchoices}{
 \begingroup
 \settowidth{\choiceslen}{%      % Setting the above created length to the length of all answers
  \begingroup\oldoneparchoices
  \BODY
  \oldendoneparchoices\endgroup%
 }
 \ifdim\choiceslen>\linewidth    % Test if length exceeds one line, if yes center last line
  \leftskip=0mm plus .5fil%
  \rightskip=0mm plus -.5fil%
  \parfillskip=0mm plus 1fil\relax
 \fi 
 \begingroup\oldoneparchoices
 \BODY
 \oldendoneparchoices\endgroup
 \par
 \endgroup
}

\begin{document}

\begin{multicols*}{2}
\begin{questions}

\question First Question

\begin{oneparchoices}
 \choice ABC
 \choice DEF
 \CorrectChoice GHI
 \choice JKL
 \choice MNO
\end{oneparchoices}

\question Second Question

\begin{oneparchoices}
 \choice ABC
 \choice DEF
 \CorrectChoice GHI
\end{oneparchoices}

\end{questions}
\end{multicols*}

\end{document}

我希望它能正常工作。结果将是:

在此处输入图片描述

相关内容