3

I want to create a question paper in exam document class where the questions are marked with different knowledge levels from Revised Bloom's Taxonomy (RBT). There are six levels:

  1. Remembering (R)
  2. Understanding (U)
  3. Applying (Ap)
  4. Analysing (An)
  5. Evaluating (E)
  6. Creating (C)

I want the appearance of the questions as follows: enter image description here

I want to achieve the followings:

  1. I will write \question{R}[2] to obtain the followings:
    • Print the word '(Remembering)' in front of the question as shown in the picture.
    • Print the points of the question in the right margin as shown in the picture.
    • Start two counters for R keeping the number of 'Remembering' questions, and total points for the 'Remembering' questions.
  2. To have the above privilege for all the RBT levels.
  3. To have the above two privileges for all part questions as well: \question, \part, \subpart, \subsubpart. The counter for number of questions will simply increase for every part question of the same kind.
  4. To have a command like \printRBTtable to print a table with RBT levels against their respective number of questions and total marks assigned for that level.
  5. (Optional) To be able to print the \printRBTtable at the beginning of the question paper.

I know that I am asking a lot, but I will humbly appreciate any guidance on what should be done. Please include some resource materials for your suggestions.

This link contains a sample question paper to serve both as an MWE and as a template of how I am managing so far.

Edit: An MWE

\documentclass[a5paper, 11pt, answers]{exam}
\usepackage[margin=0.75in, includefoot, footskip=3ex]{geometry}
\usepackage{etoolbox}
\makeatletter
\setlength\@rightmargin{0.5in}
\patchcmd\setup@point@toks{\llap{\padded@point@block}}{\rlap{\padded@point@block}}{}{}
\patchcmd\droppoints{\llap{\padded@point@block}}{\rlap{\padded@point@block}}{}{}
\patchcmd\droptotalpoints{\llap{\total@block}}{\rlap{\total@block}}{}{}
\patchcmd\droptotalbonuspoints{\llap{\bonustotal@block}}{\rlap{\bonustotal@block}}{}{}
\makeatother\marksnotpoints
\bracketedpoints
\pointsdroppedatright
\renewcommand{\solutiontitle}{\noindent\textbf{Answer Keys:}\enspace}
\renewcommand\partlabel{(\textbf{\alph{partno}})}
\renewcommand{\thesubpart}{(\textit{\roman{subpart}})}
\renewcommand{\subpartlabel}{\thesubpart}
\renewcommand\questionlabel{\textbf{\thequestion.}}
\renewcommand\questionshook{\def\makelabel##1{\hss\llap{\makebox[15pt]{##1}}}}
%
\begin{document}
    \begin{questions}
        \question[2]
            (\emph{Remembering}) Write the transformation formula if the coordinate axes undergoes a rotation followed by a translation.\droppoints
    \end{questions}
\end{document}  

0 Answers0