--------------------------------------------------------------------------

XSIM -- eXercise Sheets IMproved

--------------------------------------------------------------------------
Clemens Niederberger
Web:    https://github.com/cgnieder/xsim
E-Mail: contact@mychemistry.eu
--------------------------------------------------------------------------
Copyright 2017--2018 Clemens Niederberger

This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
of this license or (at your option) any later version.
The latest version of this license is in
  http://www.latex-project.org/lppl.txt
and version 1.3 or later is part of all distributions of LaTeX
version 2005/12/01 or later.

This work has the LPPL maintenance status `maintained'.

The Current Maintainer of this work is Clemens Niederberger.
--------------------------------------------------------------------------

HISTORY:

 v0.0   2017/02/09 - start with coding the first ideas
 v0.1   2017/03/19 - first draft which actually seems to do everything as
                     planned
 v0.2   2017/03/21 - bugfix in the verbwrite module
                   - add `use!' and `print!' properties
                   - add the concepts of `noupdate' and `boolean' properties
 v0.4   2017/03/24 - \IfExerciseBooleanPropertyTF
                   - \GetExercisePropertyTF, \PropertyValue
                   - \printallsolutions
                   - \UseExerciseTemplate
                   - bug fix in solution environments: now get printed again
                     when option `print=true' is used
                   - bug fix to the translations of the solution list headings:
                     exercise name instead of exercise type is now printed
                   - \AddtoExerciseTypeGoal, \AddtoExerciseGoal
                     \AddtoExerciseTypeGoalPrint, \AddtoExerciseGoalPrint,
                     \ExerciseGoalValuePrint
                   - \addpoints, \addbonus, \points, \printgoal
 v0.5   2017/03/30 - add style file mechanism
                   - make solution print conditions `section' and `chapter'
                     combinable
 v0.5a  2017/04/15 - fix wrong translation of the `default-heading'
 v0.5b  2017/04/16 - add \SetExerciseProperty
 v0.6   2017/04/27 - official interface for grade distributions
                   - refine hook management (environment module)
 v0.6a  2017/04/28 - refine \blank command, add documentation for said command
 v0.7   2017/05/09 - \xsim_list_length:n
                   - new boolean property `used'
                   - when an exercise is collected the counter isn't stepped
                     but only when the exercise is inserted for the first
                     time; when this happens the new property `used' is set to
                     `true' 
                   - make setting boolean properties case insensitive
                   - add missing pieces to manual (eg `page' property...)
                   - \TotalExerciseGoals and \TotalExerciseTypeGoals
                   - \XSIMifchapterTF
                   - \xsim_if_goal_sum:nnnTF and friends,
                     \IfExerciseTypeGoalsSumTF and \IfExerciseGoalsSumTF
                   - some more hints in the manual regarding collections
 v0.8   2017/05/18 - bug fix in \xsim_set_property:nnnn
                   - random exercise lists from collections
                   - \xsim_collection_count:n
                   - \GetExerciseIdForProperty and \GetExerciseTypeForProperty
                     for unique properties
                   - set property `print=false' during collection and only to
                     true when the corresponding exercises actually are
                     printed
                   - do not insert \par at the beginning and end of exercises
                     and solutions; this should be left to the templates!
                   - new option `print-collection/print' which allows to
                     choose between exercises, solutions, and both to be
                     printed
                   - new parameter `solution-counter' in order to avoid
                     possible conflicts with existing counters
 v0.8a  2017/05/19 - \IfPrintSolutionTF
 v0.8b  2017/05/23 - use \printgoal in default environment template
                   - \xsim_print_goal:nnn now expands input to a number
 v0.9   2017/06/20 - \xsimstyle's behaviour now matches the description in
                     the manual
                   - add style file `layouts' which at the moment provides the
                     two exercise templates `runin' and `margin'
                   - \printforexercises , \xsim_print_type_code:nnnnn
                   - \IfExerciseParameterSetTF
                   - \GetExerciseParameterTF
                   - change syntax of \SetExerciseProperty
                   - \SetExpandedExerciseProperty
                   - \ExerciseSetProperty, \ExerciseSetExpandedProperty
                   - property `sectioning'
                   - \IfExistSolutionTF
 v0.10  2017/09/19 - \xsim_input:nnn
                   - \GetExerciseBody
                   - option `blank/fill'
                   - bug fix in \xsim_start_collection:nn
                   - added further examples to package
                   - new option `file-extension'
 v0.10a 2017/10/01 - bug fix: grading table options can now be set with
                     \xsimsetup (issue 15)
 v0.11  2018/02/12 - change name requirement for style files in order to
                     prevent possible name clashes with module files
                   - fix bug in \SetExerciseProperty and
                     \SetExpandedExerciseProperty
                   - fix bug when xsimverb is used standalone (issue 21)
                   - add option `split-aux-lists' (issue 18)
                   - \IfExerciseTagSetTF and \IfExerciseTopicSetTF
                   - introduce a \xsim_if_<tagging>_value:nTF for each tag
                     kind
                   - \ProvideExerciseTagging
