多项选择题类型设置查询

多项选择题类型设置查询

在此处输入图片描述

我需要四份不同的试卷,其中上述问题的顺序只是发生了变化,我需要在单独的纸张上给出相应试卷的答案。所以请帮我准备这些试卷。我需要通过打乱问题顺序来准备另一份试卷,我需要分别给出答案。我该怎么做?

 \documentclass[12pt,a4paper]{exam}
    \usepackage{amsmath,amsthm,amsfonts,amssymb,dsfont}
    \setlength\parindent{0pt}
        %usage \choice{ }{ }{ }{ }
        %(A)(B)(C)(D)
        \newcommand{\fourch}[4]{
        \par
                \begin{tabular}{*{4}{@{}p{0.23\textwidth}}}
                (a)~#1 & (b)~#2 & (c)~#3 & (d)~#4
                \end{tabular}
        }

        %(A)(B)
        %(C)(D)
        \newcommand{\twoch}[4]{

                \begin{tabular}{*{2}{@{}p{0.46\textwidth}}}
                (a)~#1 & (b)~#2
                \end{tabular}
        \par
                \begin{tabular}{*{2}{@{}p{0.46\textwidth}}}
                (c)~#3 & (d)~#4
                \end{tabular}
        }

        %(A)
        %(B)
        %(C)
        %(D)
        \newcommand{\onech}[4]{
        \par
              (a)~#1 \par (b)~#2 \par (c)~#3 \par (d)~#4
        }

        \newlength\widthcha
        \newlength\widthchb
        \newlength\widthchc
        \newlength\widthchd
        \newlength\widthch
        \newlength\tabmaxwidth

        \setlength\tabmaxwidth{0.96\textwidth}
        \newlength\fourthtabwidth
        \setlength\fourthtabwidth{0.25\textwidth}
        \newlength\halftabwidth
        \setlength\halftabwidth{0.5\textwidth}

      \newcommand{\choice}[4]{%
      \settowidth\widthcha{AM.#1}\setlength{\widthch}{\widthcha}%
      \settowidth\widthchb{BM.#2}%
      \ifdim\widthch<\widthchb\relax\setlength{\widthch}{\widthchb}\fi%
      \settowidth\widthchb{CM.#3}%
      \ifdim\widthch<\widthchb\relax\setlength{\widthch}{\widthchb}\fi%
      \settowidth\widthchb{DM.#4}%
      \ifdim\widthch<\widthchb\relax\setlength{\widthch}{\widthchb}\fi%
      \ifdim\widthch<\fourthtabwidth
        \fourch{#1}{#2}{#3}{#4}
      \else\ifdim\widthch<\halftabwidth
        \ifdim\widthch>\fourthtabwidth
          \twoch{#1}{#2}{#3}{#4}
        \else
          \onech{#1}{#2}{#3}{#4}
        \fi
      \fi\fi
    }
    \begin{document}
     \begin{questions}
    \question If $a = 3 + i$ and $z = 2 - 3i$ then the points on the Argand diagram
    representing az, 3az and - az are
    \choice{Vertices of a right angled triangle}{ Vertices of an equilateral 
    triangle}{Vertices of an isosceles triangle}{Collinear}
    \question If z represents a complex number then $\arg (z) + \arg\left(\bar z\right)$ is 
    \choice{$\dfrac{\pi}{4}$}{$\dfrac{\pi}{2}$}{0}{$\dfrac{\pi}{6}$}
    \question If the amplitude of a complex number is $\dfrac{\pi}{2}$ then the number is
    \choice{ purely imaginary}{purely real}{0}{neither real nor imaginary}
    \question The value of $i + i^{22} + i^{23} + i^{24} + i^{25}$ is
    \choice{i}{-i}{1}{-1}
    \question The volume generated by 
    rotating the triangle with vertices at
    (0, 0), (3, 0) and (3, 3) about x-axis is
    \choice{$18\pi$}{$2\pi$}{$36\pi$}{$9\pi$}\end{questions}
    \end{document}

    \end{document}

还有一个问题 ##

如果我想打乱问题顺序来准备四份不同的试卷,这些试卷有相同的问题,但问题编号不同,我该怎么做……??

也就是说,我需要将上面给出的试卷标记为代码 A。并且我需要打印另一份标记为代码 B 的试卷,并且在此试卷中,第一个问题代码 A 应该在问题编号 5 中,同样其他问题也应该有不同的位置...

提前谢谢你的帮助...

答案1

我合并了这个答案解决你的问题。写完四个选项后,将正确的选项(a、b、c 等)放在括号中作为第五个选项。

\documentclass[12pt,a4paper]{exam}
\usepackage{amsmath,amsthm,amsfonts,amssymb,dsfont}
\usepackage{ifthen}

% Accumulate the answers. Unmodified from Phil Hirschorn's answer
% https://tex.stackexchange.com/questions/15350/showing-solutions-of-the-questions-separately/15353
\newbox\allanswers
\setbox\allanswers=\vbox{}

\newenvironment{answer}
{%
    \global\setbox\allanswers=\vbox\bgroup
    \unvbox\allanswers
}%
{%
    \bigbreak
    \egroup
}

\newcommand{\showallanswers}{\par\unvbox\allanswers}
% End Phil's answer


% Is there a better way?
\newcommand*{\getanswer}[5]{%
    \ifthenelse{\equal{#5}{a}}
    {\begin{answer}\thequestion. (a)~#1\end{answer}}
    {\ifthenelse{\equal{#5}{b}}
        {\begin{answer}\thequestion. (b)~#2\end{answer}}
        {\ifthenelse{\equal{#5}{c}}
            {\begin{answer}\thequestion. (c)~#3\end{answer}}
            {\ifthenelse{\equal{#5}{d}}
                {\begin{answer}\thequestion. (d)~#4\end{answer}}
                {\begin{answer}\textbf{\thequestion. (#5)~Invalid answer choice.}\end{answer}}}}}
}

\setlength\parindent{0pt}
%usage \choice{ }{ }{ }{ }
%(A)(B)(C)(D)
\newcommand{\fourch}[5]{
    \par
    \begin{tabular}{*{4}{@{}p{0.23\textwidth}}}
        (a)~#1 & (b)~#2 & (c)~#3 & (d)~#4
    \end{tabular}
    \getanswer{#1}{#2}{#3}{#4}{#5}
}

%(A)(B)
%(C)(D)
\newcommand{\twoch}[5]{
    \par
    \begin{tabular}{*{2}{@{}p{0.46\textwidth}}}
        (a)~#1 & (b)~#2
    \end{tabular}
    \par
    \begin{tabular}{*{2}{@{}p{0.46\textwidth}}}
        (c)~#3 & (d)~#4
    \end{tabular}
    \getanswer{#1}{#2}{#3}{#4}{#5}
}

%(A)
%(B)
%(C)
%(D)
\newcommand{\onech}[5]{
    \par
    (a)~#1 \par (b)~#2 \par (c)~#3 \par (d)~#4
    \getanswer{#1}{#2}{#3}{#4}{#5}
}

\newlength\widthcha
\newlength\widthchb
\newlength\widthchc
\newlength\widthchd
\newlength\widthch
\newlength\tabmaxwidth

\setlength\tabmaxwidth{0.96\textwidth}
\newlength\fourthtabwidth
\setlength\fourthtabwidth{0.25\textwidth}
\newlength\halftabwidth
\setlength\halftabwidth{0.5\textwidth}

\newcommand{\choice}[5]{%
\settowidth\widthcha{AM.#1}\setlength{\widthch}{\widthcha}%
\settowidth\widthchb{BM.#2}%
\ifdim\widthch<\widthchb\relax\setlength{\widthch}{\widthchb}\fi%
    \settowidth\widthchb{CM.#3}%
\ifdim\widthch<\widthchb\relax\setlength{\widthch}{\widthchb}\fi%
    \settowidth\widthchb{DM.#4}%
\ifdim\widthch<\widthchb\relax\setlength{\widthch}{\widthchb}\fi%

% These if statements were bypassing the \onech option.
% \ifdim\widthch<\fourthtabwidth
%     \fourch{#1}{#2}{#3}{#4}{#5}
% \else\ifdim\widthch<\halftabwidth
% \ifdim\widthch>\fourthtabwidth
%     \twoch{#1}{#2}{#3}{#4}{#5}
% \else
%      \onech{#1}{#2}{#3}{#4}{#5}
%  \fi\fi\fi}

% Allows for the \onech option.
\ifdim\widthch>\halftabwidth
    \onech{#1}{#2}{#3}{#4}{#5}
\else\ifdim\widthch<\halftabwidth
\ifdim\widthch>\fourthtabwidth
    \twoch{#1}{#2}{#3}{#4}{#5}
\else
    \fourch{#1}{#2}{#3}{#4}{#5}
\fi\fi\fi}



\begin{document}
\begin{questions}

\question If $a = 3 + i$ and $z = 2 - 3i$ then the points on the Argand diagram representing az, 3az and - az are
\choice{Vertices of a right angled triangle}{Vertices of an equilateral triangle}{Vertices of an isosceles triangle}{Collinear}{a}

\question If z represents a complex number then $\arg (z) + \arg\left(\bar z\right)$ is 
\choice{$\dfrac{\pi}{4}$}{$\dfrac{\pi}{2}$}{0}{$\dfrac{\pi}{6}$}{b}

\question If the amplitude of a complex number is $\dfrac{\pi}{2}$ then the number is
\choice{purely imaginary}{purely real}{0}{neither real nor imaginary}{a}

\question The value of $i + i^{22} + i^{23} + i^{24} + i^{25}$ is
\choice{i}{-i}{1}{-1}{c}

\question The volume generated by rotating the triangle with vertices at (0, 0), (3, 0) and (3, 3) about x-axis is
\choice{$18\pi$}{$2\pi$}{$36\pi$}{$9\pi$}{a}

\question To complete the song, the last answer should be
\choice{a}{b}{c}{d}{e} % Invalid answer choice


\question To complete the song, the last answer should be 
\choice{a long tex a long tex a long tex a long tex a long tex a long tex a long tex a long tex a long tex}{b}{c}{d}{a} 
\end{questions}

%\newpage  %Uncomment to put on new age
\bigskip
Answer Key:
\bigskip  
\showallanswers % Phil Hirschorn

\end{document}

在此处输入图片描述

答案2

您可以使用自动多选包。借助相关(开源)软件,您将能够根据已完成的答题纸扫描件自动更正答题纸。例如:

\documentclass[a4paper]{article}
\usepackage[box,completemulti,separateanswersheet]{automultiplechoice}
\usepackage{multicol}
\begin{document}

\AMCrandomseed{1237893}

\element{general}{
  \begin{question}{coll}    
    If $a=3+i$ and $z=2-3i$ then the points on the Argand diagram representing $az$, $3az$ and $-az$ are
    Among the following persons, which one has ever been a President of the French Republic?
    \begin{multicols}{2}
      \begin{choices}
        \wrongchoice{Vertices of a right angled triangle}
        \wrongchoice{Vertices of an equilateral triangle}
        \wrongchoice{Vertices of an isocele triangle}
        \correctchoice{Collinear}
      \end{choices}
    \end{multicols}
  \end{question}
}

\element{general}{
  \begin{question}{arg-sum}    
    If $z$ reprensents a complex number then $arg(z)+arg(\bar z)$
    \begin{multicols}{4}
      \begin{choices}
        \wrongchoice{$\pi/4$}
        \wrongchoice{$\pi/2$}
        \correctchoice{$0$}
        \wrongchoice{$\pi/6$}
      \end{choices}
    \end{multicols}
  \end{question}
}

\onecopy{4}{    

%%% beginning of the test sheet header:    

\noindent{\bf QCM  \hfill TEST}

\begin{center}
  \large\bf Test\\ Examination on Jan. 1st, 2008
\end{center}

%%% end of the header

\shufflegroup{general}
\insertgroup{general}

\AMCcleardoublepage    

\AMCformBegin    

%%% beginning of the answer sheet header

{\large\bf Answer sheet:}
\hfill \namefield{\fbox{    
    \begin{minipage}{.5\linewidth}
      Firstname and lastname:

      \vspace*{.5cm}\dotfill
      \vspace*{1mm}
    \end{minipage}
  }}

\begin{center}
  \bf\em Answers must be given exclusively on this sheet: 
  answers given on the other sheets will be ignored.
\end{center}

%%% end of the answer sheet header

\AMCform    

}  

\end{document}

答案3

您还可以查看该esami包,它提供了简单的命令来自动实现您想要的功能。

该包的文档文件包含各种示例,但如果您在设置考试表时需要任何帮助,请随时询问。

相关内容