我的问题与 exam-randomizechoices 包有关。这是一个很棒的包,但我的 TeX 技能有限,所以我不知道如何删除答案选项左侧的大边距。例如
\documentclass{exam}
\usepackage{exam-randomizechoices}
\begin{document}
\begin{questions}
\question What is one plus two?
\begin{randomizechoices}
\choice one
\choice two
\CorrectChoice three
\choice four
\end{randomizechoices}
\end{questions}
\end{document}
给出
这是一道格式良好的考试题目,我喜欢随机选项,但所有选项的左侧都留有大量空白。如何将选项向左对齐并删除这些缩进?
谢谢!
PS 我对 TeX 不是很在行。也许有人知道如何使用以下资源来帮助我?
GitHub:https://github.com/jesseopdenbrouw/exam-randomizechoices
答案1
此代码将选项的标签与问题对齐。
\documentclass{exam}
\usepackage{exam-randomizechoices}
%*************************************** added <<<<<<
\usepackage{calc}
\usepackage{enumitem}
\renewcommand{\choiceshook}{%
\settowidth{\labelwidth}{A.}%
\setlength{\labelsep}{1em} % after A., B.
\setlength{\leftmargin}{\labelindent+\labelwidth+\labelsep-\itemindent}
}
%***************************************
\begin{document}
\begin{questions}
\question What is one plus two?
\begin{randomizechoices}
\choice one
\choice two
\CorrectChoice three
\choice four
\end{randomizechoices}
\end{questions}
\end{document}
以下代码将所有内容与左边距对齐。
\documentclass{exam}
\usepackage{exam-randomizechoices}
%*************************************** added <<<<<<
\usepackage{calc}
\usepackage{enumitem}
\renewcommand{\choiceshook}{%
\setlength{\leftmargin}{0pt}
\setlength{\labelwidth}{-\labelsep}%
\def\makelabel##1{\hskip-\leftmargin##1}%
}
\renewcommand{\questionshook}{%
\setlength{\leftmargin}{0pt}%
\setlength{\labelwidth}{-\labelsep}%
}
%***************************************
\usepackage{showframe} % ONLY to show the margins
\begin{document}
\begin{questions}
\question What is one plus two?
\begin{randomizechoices}
\choice one
\choice two
\CorrectChoice three
\choice four
\end{randomizechoices}
\end{questions}
\end{document}