-------------------------------------------------------------------------- XSIM -- eXercise Sheets IMproved -------------------------------------------------------------------------- Clemens Niederberger Web: https://github.com/cgnieder/xsim E-Mail: contact@mychemistry.eu -------------------------------------------------------------------------- Copyright 2017--2020 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__value:nTF for each tag kind - \ProvideExerciseTagging v0.12 2019/09/30 - add parameter versions for the plural forms of exercise and solution names - bug fixes (issues 37, 39, 43, 47) v0.13 2019/10/06 - experimental package option `no-files' v0.14 2019/10/13 - new exercise parameters `exercise-heading' and `solution-heading' - new options `exercise/heading' and `solution/heading' as interface for setting the new parameters - new command \GetExerciseHeadingF for using the new parameters in environment templates - change the environment template `default' to use the new \GetExerciseHeadingF and output a \par at the end - make argument of \xsimsetup long - new template `minimal' - new option `load-style' - new example `texwelt-23968' (long and short solutions) v0.14a 2019/10/19 - fix \xsim_if_exercise_exist:nnTF to obey the `no-files' option v0.15 2019/11/02 - use own auxiliary file per default and add option `use-aux' v0.16 2019/11/10 - fix issue due to usage of own auxiliary file - \XSIMatbegindocument and \XSIMatenddocument - \xprintexercise, \xprintsolution, \xsimprint, \xsimxprint 2019/12/29 - bugfix in `xsimverb' v0.16a 2020/01/16 - adapt to renaming of string case changing functions v0.17 2020/02/21 - prefer lazy boolean evaluation if possible - remove spurious \par at the beginning of typeset exercises - add `blank' option, implements issue #31 - add `solution' property, implements issue #33 - fix issue #27 - implement issue #2 - don't allow package options to be set with \xsimsetup v0.18 2020/02/23 - fix issue #56 - change \printexercise and \printsolution to accept a clist of either ids or IDs (or mixed) - new templates in the `layouts' style v0.19 2020/03/16 - improve performance - only set \ExerciseID and \ExerciseType locally to ensure correct values when exercises (of different types) are nested - new load-time option `debug' - only for development v0.19a 2020/03/18 - fix missing-variant-bug introduced with the last update