
\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}
решение1
Я думаю, вы можете использовать этот код для изменения своего.
\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}
Будет отображаться
Редактировать
В отредактированной
\correct
команде вам нужно ввести format\correct{option}{the answer}
сoption
MUST в числовом формате. В вашем примере тогда опция1
,2
,3
, или4
.\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}
Второе редактирование:
Пожалуйста, замените
\newcommand{\correct}[2]
код выше на этот.\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} }
Если вам нужно использовать персидский язык, просто замените
pertama
,kedua
,ketiga
, иkeempat
на свой.
решение2
Вот одно из возможных решений. Я определил \CorrectSolution
команду с необязательным аргументом, который будет передан необязательному аргументу solutionorbox
:
\CorrectSolution[2in]
и \coreectoption
команда, которая будет использоваться внутри choices
среды для выбора правильного ответа:
\begin{choices}
\correctoption{a}
\choice b
\choice c
\choice d
\end{choices}
затем \CorrectSolution
автоматически извлечет значение правильного ответа и преобразует его в соответствующую порядковую строку с помощью пакета fmtcount
.
Код:
\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}
Поскольку в моей системе нет шрифта B Nazanin
, я закомментировал эту строку. Я также удалил пакеты и настройки, которые не имели отношения к ответу.