Scrutinize 0.3.0: author exams with Typst

This is the latest version of my exam writing library Scrutinize that comes with breaking changes, but is in my opinion a big step forward. I took inspiration from the feature set of other exam libraries on Universe and hope that Scrutinize now covers a wide range of common use cases. 0.3.0 also adds one compatibility check so that it will work on Typst 0.12 (assuming no further breaking changes relative to 0.12.0-rc1).

I hope you enjoy it/find it useful!

Here’s a side-by-side comparison of an exam and its solution:


What you can see here are:

  • task kinds: fill-in-the-gaps, free-form text, multiple choice
    • gaps and free-form text areas are stretched to provide more writing space than a printed answer would occupy
    • free-form text areas can have no, lines, or a grid as background
    • gap and free-form questions can have a “placeholder”, e.g. an unfinished diagram that has to be completed
  • task metadata: points, arbitrary categorization
    • headings use show rules to indicate task metadata
    • points are summed up according to filter criteria
  • grading key generation
  • sample solution generation, based on --input solution
    • solution state can also be toggled manually, e.g. to include an answered example question

Not shown:

  • multiple choice questions can also be oriented horizontally
  • tasks can have subtasks, organized by heading nesting
  • task metadata lookup can be limited to “scopes”, e.g. to have multiple independent exams in the same document (or independent examples in the documentation *wink*)
  • Scrutinize has a comprehensive manual (let me know if it really is informative/comprehensible, it can be hard to tell when writing about one’s own work)

What scrutinize does not have/provide:

  • exam templates for use with typst init
  • a system for comprehensively changing question styling: task functions have parameters for customization, but not to the extent that set and show rules provide
10 Likes