
\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
鍵入格式。在您的範例中,選項是、、或。\correct{option}{the answer}
option
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}
then\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
字體,因此我註解掉了該行。我還刪除了與答案無關的套件和設定。