[Tex/LaTex] Comparing packages which facilitate typesetting exercises and solutions: exercise vs. answers vs. probsoln

answersexercisespackagesprobsoln

Could someone with experience in using these exercise typesetting packages please offer a quick compare and contrast of these packages to help me choose? Packages under consideration are:

  1. exercise
  2. answers
  3. probsoln

Having read briefly the documentation, they all seem to do the same thing generally, so could you please focus on the differences? Some differences will not be obvious until I've learnt and used all the different packages but I want to better appreciate the differences now, a priori.

Best Answer

I didn't use these packages (I have written my own, which I'm redesigning now, and I had a talk about it during EuroBachoTeX 2011 - you can download the slides from http://www.gust.org.pl/bachotex/2011/program#section-5), but I've skimmed through their docs and this is what I can say:

  • With exercise you can typeset exercises (possibly split in parts) with answers. You can hide (= not typeset) exercises or answers, or typeset exercises or answers in another part of the document (although they are remembered in a vbox, which is imho one of the worst ways usually). With each exercise you can associate its origin and difficulty (and typeset them if you wish). You can customize the way an exercise is displayed, and also you can select exercises to typeset (based on a list of labels). Markup is quite nice, maybe not the best possible (personally, I tend more towards more formalized markup, like in XML, not the free-form known in the LaTeX world), but still.

  • The answers package seems to be quite sophisticated and powerful, although not very user-friendly. Probably not something you would like to use five minutes before your deadline, but definitely worth checking. Ah, and the name Joseph Wright should guarantee that it works well.

  • The probsoln package is written by Nicola Talbot (quite a prolific and good package author - you should definitely check her datatool bundle!), and seems to be less complicated (and less powerful) than answers, but is probably a bit more user-friendly. Also, it has a few quite unique features: you can select a random subset from a pool of exercises, and also you have \correctitem and \incorectitem for use in enumerate-like environments (these commands mark right and wrong answers in choice tests, but only if you typeset your exercises with solutions.).

Hope that helps.

I'd also recommend reading my slides (which I mentioned before). They are far from perfect (and may contain mistakes), but they contain some possibly useful information. One of the more important isuues is that when typesetting problem sets you should definitely consider some design problems: do you want to maintain a separate, external problem-database (and if yes, should it be generated manually or with the extract package or a similar way) or not? (There are other design issues like that.)

(In case you have any questions about those slides, feel free to email me at mbork, then the "at" sign, then mbork, then dot and finally pl.)

As I mentioned, I'm currently designing my own package with the same purpose, which (I hope) will have some unique features I personally need, too; it will be definitely easier to use than answers, but will have a similar set of features (and even more). Unfortunately, I have no idea when I'll be able to release usable code (a few months seem to be a reasonable time).

Related Question