文档类中的问题(考试)

文档类中的问题(考试)

我正在使用考试类编写 MCQ 测试。main.tex 位于:

\documentclass[12pt,a4paper]{exam}
\usepackage{amsmath,amsthm}
\usepackage{ifthen,amsfonts,amssymb,dsfont}
\usepackage{etoolbox,multicol}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{geometry}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{enumitem,kantlipsum}
\usepackage[dvips]{graphicx,color}
\usepackage{verbatim, pstricks,ulem}
\usepackage{syntonly}
\newcommand{\newmatrix}[2]{\left(\begin{array}{#1} #2\end{array}\right)}

\newbox\allanswerkeys
\setbox\allanswerkeys=\vbox{}
\newenvironment{answerkey}
{%
\global\setbox\allanswerkeys=\vbox\bgroup
\unvbox\allanswerkeys
}%
{%
\bigbreak
\egroup
}

\newcommand{\showallanswerkeys}{\par\unvbox\allanswerkeys}

\newcommand*{\getanswerkeys}[6]{%
\item[\thequestion.]\begin{answerkey}(#5)\end{answerkey}
}

\newbox\allanswers
\setbox\allanswers=\vbox{}

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

\newcommand{\showallanswers}{\par\unvbox\allanswers}

\newcommand*{\getanswer}[6]{%
\ifthenelse{\equal{#6}{}}{}{
\item[\thequestion.]\begin{answer}(#5)~#6\end{answer}
}}

\setlength\parindent{0pt}

\newcommand{\fourch}[6]{
\par
\begin{tabular}{*{4}{@{}p{0.23\textwidth}}}
    (a)~#1 & (b)~#2 & (c)~#3 & (d)~#4
\end{tabular}
\getanswer{#1}{#2}{#3}{#4}{#5}{#6}
\getanswerkeys{#1}{#2}{#3}{#4}{#5}{#6}
}

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

\newcommand{\onech}[6]{
%\par
\begin{tabular}{@{}p{0.04\textwidth}@{}p{0.91\textwidth}}
(a) & #1
\end{tabular}\vspace{2pt}
\begin{tabular}{@{}p{0.04\textwidth}@{}p{0.91\textwidth}}
(b) & #2
\end{tabular}\vspace{2pt}
\begin{tabular}{@{}p{0.04\textwidth}@{}p{0.91\textwidth}}
(c) & #3
\end{tabular}\vspace{2pt}
\begin{tabular}{@{}p{0.04\textwidth}@{}p{0.91\textwidth}}
(d) & #4
\end{tabular}

\getanswer{#1}{#2}{#3}{#4}{#5}{#6}
\getanswerkeys{#1}{#2}{#3}{#4}{#5}{#6}
}

\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}[6]{%
\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>\halftabwidth
\onech{#1}{#2}{#3}{#4}{#5}{#6}
\else\ifdim\widthch<\halftabwidth
\ifdim\widthch>\fourthtabwidth
\twoch{#1}{#2}{#3}{#4}{#5}{#6}
\else
\fourch{#1}{#2}{#3}{#4}{#5}{#6}
\fi\fi\fi}

\newcommand{\mcq}[8]{
\question #2
\choice{#3}{#4}{#5}{#6}{#7}{#8}
}

\def\blankpage{%
  \clearpage%
  \thispagestyle{empty}%
  \addtocounter{page}{-1}%
  \null%
  \clearpage}

\begin{document}
\begin{questions}
\mcq{245}{Let $A$ be a symmetric matrix of order $n$ and $B$ be a skew-    symmetric matrix of order $n$. Then which one of the following is a skew-symmetric matrix?}{$A^{2}$}{$B^{2}$}{$AB+BA$}{$AB-BA$}{c}{}{}

\mcq{248}{A square matrix is a diagonal matrix if and only if it is}{upper triangular}{lower triangular}{both upper triangular and lower triangular}{none of these}{c}{}{}

\mcq{249}{Let $A$ be a non-singular matrix of order $3$. Then the rank of matrix $A^{2018}$ is}{$1$}{$2$}{$3$}{$9$}{c}{Note that $A^{2018}$ is a non-singular matrix of order $3$. Hence rank $(A^{2018})=3$.}{}

\mcq{250}{If $A=\newmatrix{ccc}{0 & 1 & 0\\0 & 0 & 1\\1 & 0 & 0}$, then rank of the matrix $A+A^{2}+A^{3}$ is}{$1$}{$2$}{$3$}{none of these}{a}{Note that $A+A^{2}+A^{3}=\newmatrix{ccc}{1 & 1 & 1\\1 & 1 & 1\\1 & 1 & 1}$. Hence rank $(A+A^{2}+A^{3})=1$}{} 
\end{questions}
\begin{center}
Space for rough work
\end{center}
\newpage  
\bigskip
\Huge{Answer Key:}
\bigskip  
\setcounter{page}{1}
\begin{center}
\begin{multicols}{6}
\showallanswerkeys 
\end{multicols}
\end{center}

\bigskip
\Huge{Hint/Explanation of Selected Problems:}
\bigskip\bigskip
\showallanswers
\end{document}

这在 overleaf 中不起作用。但如果我以以下方式更改 \mcq{250},则程序可以在 overleaf 中运行。

\mcq{250}{If $A=\newmatrix{ccc}{0 & 1 & 0\\0 & 0 & 1\\1 & 0 & 0}$, then rank of the matrix $A+A^{2}+A^{3}$ is}{$1$}{$2$}{$3$}{none of these}{a}{Note that $A+A^{2}+A^{3}=$. Hence rank $(A+A^{2}+A^{3})=1$}{} 

请帮我。

答案1

只需在\protect最后一个命令之前添加命令 ,如下所示:\newmatrix\mcq{250}

\mcq{250}{If $A=\newmatrix{ccc}{0 & 1 & 0\\0 & 0 & 1\\1 & 0 & 0}$, 
             then rank of the matrix $A+A^{2}+A^{3}$ is}
         {$1$}{$2$}{$3$}{none of these}{a}
{Note that $A+A^{2}+A^{3}=\protect\newmatrix{ccc}{1 & 1 & 1\\1 & 1 & 1\\1 & 1 & 1}$. 
Hence rank $(A+A^{2}+A^{3})=1$}{}

这样就行了!

相关内容