AnswerBun.com

Printing solution of mcq using xsim

TeX - LaTeX Asked on January 3, 2022

How to print the solution of multiple choice question in the following example ?

documentclass{scrartcl}
usepackage[clear-aux]{xsim}

usepackage{enumitem,amssymb,fmtcount}
newlist{choices}{itemize}{1}
setlist[choices]{label=$Box$}
newcommand*choice{item}

DeclareExerciseProperty{choices}
DeclareExerciseProperty*{multiple}
DeclareExerciseEnvironmentTemplate{mc}
  {%
    UseExerciseTemplate{begin}{default}%
    IfExerciseBooleanPropertyTF{multiple}
      {Select one or more correct answers}
      {%
        GetExercisePropertyT{choices}
          {Select numberstringnum{#1} correct answerifnum#1>1 sfi.}%
      }%
    begin{choices}
  }
  {%
    end{choices}
    UseExerciseTemplate{end}{default}%
  }

DeclareExerciseType{mc}{
  exercise-env = multiplechoice ,
  solution-env = correctchoices ,
  exercise-name = Question ,
  solution-name = Solution ,
  exercise-template = mc ,
  solution-template = mc ,
  counter = exercise
}

xsimsetup{
  exercise/name = Question ,
  solution/name = Solution
}

begin{document}

section{Questions}
begin{multiplechoice}[choices=1]
  choice one
  choice two
  choice three
  choice four
end{multiplechoice}

begin{exercise}
  Answer this question on a separate sheet.  
end{exercise}

begin{multiplechoice}[multiple]
  choice one
  choice two
  choice three
  choice four
end{multiplechoice}

begin{multiplechoice}[choices=2]
  choice one
  choice two
  choice three
  choice four
end{multiplechoice}

end{document}

I tried with

%preamble
exercise/print = true,
solution/print = true,

%document
begin{correctchoices}
    choice two
end{correctchoices}

But it is giving odd output.

Also, is it possible to mark the answer on the question itself while printing solution?

One Answer

Starting with version 0.17 (2020/02/21) xsim has the exercise property solution which tells xsim to use the same environment body for the exercise and the solution. This is very convenient here. Using IfInsideSolutionTF then allows us to insert the checkmark where needed:

documentclass{scrartcl}
usepackage{xsim}[2020/02/21]

usepackage{enumitem,fontawesome,fmtcount,multicol}
newlist{choices}{itemize}{1}
setlist[choices]{label=faSquareO}

newcommand*correct{IfInsideSolutionTF{faCheckSquareO}{faSquareO}}

newcommand*choice{item}

DeclareExerciseProperty{choices}
DeclareExerciseProperty*{multiple}
DeclareExerciseEnvironmentTemplate{mc}
  {%
    UseExerciseTemplate{begin}{default}%
    IfExerciseBooleanPropertyTF{multiple}
      {Select one or more correct answers}
      {%
        GetExercisePropertyT{choices}
          {Select numberstringnum{#1} correct answerifnum#1>1 sfi.}%
      }%
    begin{choices}
  }
  {%
    end{choices}
    UseExerciseTemplate{end}{default}%
  }

DeclareExerciseType{mc}{
  exercise-env = multiplechoice ,
  solution-env = correctchoices ,
  exercise-name = Question ,
  solution-name = Solution ,
  exercise-template = mc ,
  solution-template = mc ,
  counter = exercise
}

xsimsetup{
  exercise/name = Question ,
  solution/name = Solution ,
  print-solutions/headings=false
}

begin{document}

begin{multicols}{2}
section{Questions}
begin{multiplechoice}[choices=1,solution]
  choice one
  choice[correct] two
  choice three
  choice four
end{multiplechoice}

begin{exercise}
  Answer this question on a separate sheet.  
end{exercise}

begin{multiplechoice}[multiple,solution]
  choice[correct] one
  choice two
  choice three
  choice[correct] four
end{multiplechoice}

begin{multiplechoice}[choices=2,solution]
  choice one
  choice[correct] two
  choice three
  choice[correct] four
end{multiplechoice}

columnbreak

section{Answers}
printsolutions
end{multicols}

end{document}

enter image description here

Answered by cgnieder on January 3, 2022

Add your own answers!

Related Questions

Modern Chapter Heading

1  Asked on November 23, 2020 by toni

     

Extracting first and second coordinates of an ordered pair

1  Asked on November 21, 2020 by faheem-mitha

 

Adobe Garamond Pro and Esperanto

1  Asked on November 21, 2020 by marcel-s

     

Struggling with font size of Tex Gyre

1  Asked on November 21, 2020 by ju

   

Ask a Question

Get help from others!

© 2023 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP