
\documentclass[cancelspace,10pt]{exam}
\usepackage{multicol}
%********************************************************** End of Listing Setting
\usepackage[explicit]{titlesec}
\usepackage[dotinlabels]{titletoc}
\usepackage{pifont}
\usepackage{times,color}
\usepackage{tikz}
\usepackage{circuitikz}
\usepackage{enumerate}
\usepackage{xepersian}
% *********************************************************** Document Font
\settextfont[Scale=1.2]{B Nazanin}
%*******************************************
\renewcommand*\questionlabel{\color{blue}\thequestion-}
\renewcommand*\thechoice{\arabic{choice}}
\renewcommand*\choicelabel{\thechoice)}
%*******************************answer
\renewcommand{\solutiontitle}{\noindent\textbf{solution:}\par\noindent}
\shadedsolutions
\definecolor{SolutionColor}{rgb}{0.8,0.9,1}
\printanswers
% *********************************************************** begin Doc
%\DefaultMathsDigits
\begin{document}
% ----------------------------------------------------------------
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%end-title
\begin{persian}
\begin{questions}
% *********************************************************** Start Doc
\begin{latin}
%#############################################################################
% *********************************************************** Start QUESTION #1
\question
She's not very .............. in the way she treats her children;they may be punished today for somthing they were rewarded for yesterday!
% *********************************************************** Choices
\begin{multicols}{4}
\begin{choices}
%**************************************************************************** Choice 1
\choice
a
%**************************************************************************** Choice 2
\choice
b
%**************************************************************************** Choice 3
\choice
c
%**************************************************************************** Choice 4
\choice
d
\end{choices}
\end{multicols}
\begin{solutionorbox}[2in]
a
\end{solutionorbox}
% *********************************************************** End QUESTION #1
\end{latin}
\end{questions}
\end{persian}
\end{document}
Respuesta1
Creo que puedes usar este código para modificar el tuyo.
\documentclass{exam}
\usepackage{xcolor}
\usepackage{ifthen}
\shadedsolutions
\definecolor{SolutionColor}{rgb}{0.8,0.9,1}
\printanswers
\newcommand{\answer}{unknown}
\newcommand{\correct}[1]
{
\ifthenelse{\equal{#1}{a}}{\renewcommand{\answer}{The first }}{}
\ifthenelse{\equal{#1}{b}}{\renewcommand{\answer}{The second }}{}
\ifthenelse{\equal{#1}{c}}{\renewcommand{\answer}{The third }}{}
\ifthenelse{\equal{#1}{d}}{\renewcommand{\answer}{The fourth }}{}
\renewcommand{\solutiontitle}{\noindent \textbf{Solution:} \answer option is correct.\par\noindent}
\begin{solutionorbox}[2in]
#1
\end{solutionorbox}
}
\begin{document}
\correct{a}
\correct{b}
\correct{c}
\correct{d}
\end{document}
Mostrará
Editar
En
\correct
el comando editado, debe escribir el formato\correct{option}{the answer}
conoption
MUST en el formato de número. En su ejemplo, la opción es1
,2
,3
o4
.\documentclass{exam} \usepackage{xcolor} \usepackage{ifthen} \usepackage{fmtcount} \shadedsolutions \definecolor{SolutionColor}{rgb}{0.8,0.9,1} \printanswers \newcommand{\correct}[2] { \renewcommand{\solutiontitle}{\noindent \textbf{Solution:} The \textcolor{red}{\ordinalstringnum{#1}} option is correct.\par\noindent} \begin{solutionorbox}[2in] \textcolor{red}{#2} \end{solutionorbox} } \begin{document} \correct{1}{c} \correct{2}{d} \correct{1}{You should choose this as your answer} \correct{2}{I think this is the right answer} \end{document}
Segunda edición:
Reemplace
\newcommand{\correct}[2]
el código anterior con este.\newcommand{\answer}{unknown} \newcommand{\correct}[2] { \ifthenelse{\equal{#1}{1}}{\renewcommand{\answer}{pertama }}{} \ifthenelse{\equal{#1}{2}}{\renewcommand{\answer}{kedua }}{} \ifthenelse{\equal{#1}{3}}{\renewcommand{\answer}{ketiga }}{} \ifthenelse{\equal{#1}{4}}{\renewcommand{\answer}{keempat }}{} \renewcommand{\solutiontitle}{\noindent \textbf{Solution:} The \answer option is correct.\par\noindent} \begin{solutionorbox}[2in] #2 \end{solutionorbox} }
Si necesita utilizar el idioma persa, simplemente reemplace
pertama
,kedua
,ketiga
ykeempat
con el suyo.
Respuesta2
Aquí hay una posible solución. Definí un \CorrectSolution
comando con un argumento opcional que se pasará al argumento opcional de solutionorbox
:
\CorrectSolution[2in]
y un \coreectoption
comando que se utilizará dentro del choices
entorno para seleccionar la respuesta correcta:
\begin{choices}
\correctoption{a}
\choice b
\choice c
\choice d
\end{choices}
luego \CorrectSolution
tomará automáticamente el valor de la respuesta correcta y lo convertirá a su cadena ordinal asociada con la ayuda del fmtcount
paquete.
El código:
\documentclass[cancelspace,10pt]{exam}
\usepackage{multicol}
\usepackage{fmtcount}
\usepackage{color}
\renewcommand*\questionlabel{\color{blue}\thequestion-}
\renewcommand*\thechoice{\arabic{choice}}
\renewcommand*\choicelabel{\thechoice)}
%*******************************answer
\renewcommand{\solutiontitle}{\noindent\textbf{solution:}\par\noindent}
\shadedsolutions
\definecolor{SolutionColor}{rgb}{0.8,0.9,1}
\newcounter{tmp}
\newcommand\correctoption[1]{\gdef\Correctoption{#1}\choice#1\setcounter{tmp}{\value{choice}}}
\newcommand\CorrectSolution[1][-1t]{%
\begin{solutionorbox}[#1]
The \ordinalstring{tmp} option is correct.\par\Correctoption
\end{solutionorbox}%
}
\printanswers
\begin{document}
\begin{questions}
\question
She's not very .............. in the way she treats her children;they may be punished today for somthing they were rewarded for yesterday!
\begin{multicols}{4}
\begin{choices}
\correctoption{a}
\choice b
\choice c
\choice d
\end{choices}
\end{multicols}
\CorrectSolution[2in]
\question
What is the answer to the ultimate question of life, the universe, and everything?\begin{multicols}{4}
\begin{choices}
\choice 15
\choice 23
\choice $\pi$
\correctoption{42}
\choice 31
\end{choices}
\end{multicols}
\CorrectSolution[2in]
\end{questions}
\end{document}
Como mi sistema no tiene la B Nazanin
fuente, comenté esa línea. También eliminé paquetes y configuraciones que no eran relevantes para la respuesta.