我想在考试文档类中水平显示多项选择题的选项。
环境oneparchoices
水平显示选项,但选择仍然左对齐。
我尝试了以下修复:\renewcommand{\choiceshook}{\setlength{\itemsep}{1in}}
,但这当然不会影响 oneparchoices 环境,而且显然\oneparchoiceshook
没有定义。
经过大量时间的浪费后,我切换到\choices
环境,添加了multicol
包并multicols
为每个问题添加了一个环境(见下文)。
虽然这达到了预期的效果,但除了令人厌烦的重复之外,我无法\columnsep
全局更改选择的(我知道这一定很容易,我只是不知道如何);并且环境multicols
中的环境choices
似乎添加了缩进(比较下面环境中的相同方法parts
);更不用说\columnsep
如果不同的问题有不同数量的选择时可能出现的间距问题……
`\documentclass[11pt]{exam}
\RequirePackage{amssymb, amsfonts, amsmath, latexsym, verbatim, xspace, setspace}
\usepackage[margin=1in]{geometry}
\usepackage{multicol}
\begin{document}
\begin{choices}
\setlength{\columnsep}{30pt}
\begin{multicols}{5}
\choice First.
\choice Second.
\choice Third.
\choice Fourth.
\choice Fifth.
\end{multicols}
\end{choices}
% Compare multicols within a parts environment - no additional indent:
\begin{parts}
\setlength{\columnsep}{30pt}
\begin{multicols}{5}
\part A.
\part B.
\part C.
\part D.
\part E.
\end{multicols}
\end{parts}
\end{document}
考试文档类中是否有针对此问题的简单解决方案?
我不太了解不同类别的使用,并且想知道在多大程度上坚持一个类别并在内部进行更改是可取的(关于文章类别的这个问题有一些帖子)。
答案1
我以为你想要多项选择题,因为你提到了oneparchoices
环境。我使用xpatch
包将选项之间的 1em 替换为\hfill
均匀分布选项。这对于非常短的答案很有用。如果你有较长的答案,那么你应该看看这个问题。初始问题(第一个代码块)中的代码运行良好。
\documentclass[11pt]{exam}
\RequirePackage{amssymb, amsfonts, amsmath, latexsym, verbatim, xspace, setspace}
\usepackage[margin=1in]{geometry}
\usepackage{xpatch}
\xpatchcmd{\oneparchoices}{\penalty -50\hskip 1em plus 1em\relax}{\hfill}{}{}
\xpatchcmd{\oneparchoices}{\penalty -50\hskip 1em plus 1em\relax}{\hfill}{}{}
\begin{document}
\begin{questions}
\question
First multiple choice question, with five evenly spread choices:
\begin{oneparchoices}
\choice First.
\choice Second.
\choice Third.
\choice Fourth.
\choice Fifth.
\end{oneparchoices}
\question
Second multiple choice question, with four evenly spread choices:
\begin{oneparchoices}
\choice First.
\choice Second.
\choice Third.
\choice Fourth.
\end{oneparchoices}
\question
Be careful. It gets screwy when the answers are long.
\begin{oneparchoices}
\choice First not long at all.
\choice Second somewhat longer.
\choice Third getting to the longer choices.
\choice Fourth now we have a really really long answer choice.
\end{oneparchoices}
\end{questions}
\end{document}