如何创建包含多章考试试卷的书?

如何创建包含多章考试试卷的书?

我想将多份试卷以装订成册的形式捆绑在一起,作为练习题分发。试卷主要是客观的 MCQ。每章都会有初始描述(文本、图片和图表),然后是一系列多项选择题。我使用 来exam class生成 MCQ 考试,如下面的代码所示。如何将其与书籍模板或其他类结合起来以实现我想要做的事情?

%\documentclass{article}
\documentclass{exam}
\usepackage{graphicx}
\usepackage[export]{adjustbox}

\begin{document}
\begin{questions}

\question
 [A]
question 1 \\
\begin{oneparchoices}
 \choice  option 1
 \choice  option 2
 \choice  option 3
 \choice  option 4
\end{oneparchoices}


\question
 [B]
question 2 \\
\begin{oneparchoices}
 \choice  option 1
 \choice  option 2
 \choice  option 3
 \choice  option 4
\end{oneparchoices}

\question
 [A]
question 3 \\
\begin{oneparchoices}
 \choice  option 1
 \choice  option 2
 \choice  option 3
 \choice  option 4
\end{oneparchoices}

\question
 [D]
question 4 \\
\begin{oneparchoices}
 \choice  option 1
 \choice  option 2
 \choice  option 3
 \choice  option 4
\end{oneparchoices}


\end{questions}

\end{document}

答案1

我假设 OP 只想包含一些像在exam课堂上一样输入的多项选择题,即questions类似于enumerate但使用\question[points]命令而不是的环境;以及类似于内联枚举的\item多项选择环境( ),而不是。oneparchoices\choice\item

两种环境都可以使用enumitem包。它提供可配置列表以及可配置内联列表。因此,在enumitem文档和\newlist 与 \newenvironment 定义单独的列表样式使用 enumitem 创建列表样式,接下来可以做

\documentclass{article}
\usepackage{enumitem}
\usepackage{xparse}

%Idea from https://tex.stackexchange.com/a/236668/1952
\DeclareDocumentCommand\question{o}{%
    \item\IfNoValueTF{#1}{}{(#1 points)}}

\newenvironment{questions}[1][]{\enumerate[,#1]}{\endenumerate}

\newlist{oneparchoices}{enumerate*}{1}
\setlist[oneparchoices,1]{label=\Alph*., itemjoin={{\quad}}}

\newcommand{\choice}{\item}

\begin{document}

Some questions to start with
\begin{questions}[start=4] %<--- start option fixes number for first question
\question[A] question 1 \\
\begin{oneparchoices}
 \choice  option 1
 \choice  option 2
 \choice  option 3
 \choice  option 4
\end{oneparchoices}

\question[B] question 2  \\
\begin{oneparchoices}
 \choice  option 1
 \choice  option 2
 \choice  option 3
 \choice  option 4
\end{oneparchoices}

\question question \label{q}\ref{q} without points
\end{questions}
and, now, two more
\begin{questions}[resume] %<--- resume option follows counting from last time 

\question[A] question 1 \\
\begin{oneparchoices}
 \choice  option 1
 \choice  option 2
 \choice  option 3
 \choice  option 4
\end{oneparchoices}

\question[B] question 2  \\
\begin{oneparchoices}
 \choice  option 1
 \choice  option 2
 \choice  option 3
 \choice  option 4
\end{oneparchoices}
\end{questions}
\end{document}

在此处输入图片描述

相关内容