diff options
author | Karl Berry <karl@freefriends.org> | 2017-05-19 21:12:44 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-05-19 21:12:44 +0000 |
commit | b6a9d061f27e2822b7de379c66c030d9ea0e8fb3 (patch) | |
tree | 7a9b6e488d40920bb153db1f0e7be10f8df3935a /Master/texmf-dist/tex/latex/xsim/xsim.sty | |
parent | 910f589664407d620dc2a30c7b1de1a10e715df1 (diff) |
xsim (19may17)
git-svn-id: svn://tug.org/texlive/trunk@44430 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/xsim/xsim.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/xsim/xsim.sty | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/xsim/xsim.sty b/Master/texmf-dist/tex/latex/xsim/xsim.sty new file mode 100644 index 00000000000..7bc7248c47e --- /dev/null +++ b/Master/texmf-dist/tex/latex/xsim/xsim.sty @@ -0,0 +1,109 @@ +% ---------------------------------------------------------------------------- +% the XSIM package +% +% eXercise Sheets IMproved +% +% ---------------------------------------------------------------------------- +% Clemens Niederberger +% Web: https://github.com/cgnieder/xsim +% E-Mail: contact@mychemistry.eu +% ---------------------------------------------------------------------------- +% Copyright 2017 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. +% ---------------------------------------------------------------------------- +% If you have any ideas, questions, suggestions or bugs to report, please +% feel free to contact me. +% ---------------------------------------------------------------------------- +\RequirePackage {expl3,xparse} + +\ExplSyntaxOn + +\tl_const:Nn \c_xsim_date_tl {2017/05/19} +\tl_const:Nn \c_xsim_version_major_number_tl {0} +\tl_const:Nn \c_xsim_version_minor_number_tl {8} +\tl_const:Nn \c_xsim_version_subrelease_tl {a} +\tl_const:Nx \c_xsim_version_number_tl + { + \c_xsim_version_major_number_tl . + \c_xsim_version_minor_number_tl + } +\tl_const:Nx \c_xsim_version_tl + { + \c_xsim_version_number_tl + \c_xsim_version_subrelease_tl + } +\tl_const:Nn \c_xsim_info_tl {eXercise ~ Sheets ~ IMproved} + +\ProvidesExplPackage + {xsim} + {\c_xsim_date_tl} + {\c_xsim_version_tl} + {\c_xsim_info_tl} + +% -------------------------------------------------------------------------- + +% options, information + +\bool_new:N \g_xsim_final_bool +\bool_new:N \g_xsim_verbose_bool +\bool_new:N \g_xsim_clear_aux_bool + +\keys_define:nn {xsim} + { + final .bool_gset:N = \g_xsim_final_bool , + verbose .bool_gset:N = \g_xsim_verbose_bool , + clear-aux .bool_gset:N = \g_xsim_clear_aux_bool + } + +\DeclareOption {final} + { \bool_gset_true:N \g_xsim_final_bool } + +\DeclareOption {verbose} + { \bool_gset_true:N \g_xsim_verbose_bool } + +\DeclareOption {clear-aux} + { \bool_gset_true:N \g_xsim_clear_aux_bool } + +\ProcessOptions \scan_stop: + +% -------------------------------------------------------------------------- + +% messages: +\msg_new:nnn {xsim} {rerun} + { + Exercise~ properties~ may~ have~ changed.~ Rerun~ to~ get~ them~ + synchronized. + } + +\msg_new:nnn {xsim} {verbose} { #1 ~(\msg_line_context:) } + +% -------------------------------------------------------------------------- + +\bool_new:N \g__xsim_rerun_bool + +\cs_new_protected:Npn \xsim_do_rerun: + { \xsim_if_rerun:T { \msg_warning:nn {xsim} {rerun} } } + +% -------------------------------------------------------------------------- + +% load module mechanism: +\tl_set:Nn \l_tmpa_tl {code.tex} +\@onefilewithoptions {xsim.modules} [][] \l_tmpa_tl + +% -------------------------------------------------------------------------- +\xsim_load_modules:n {definitions} + +\AtEndDocument { \xsim_do_rerun: } + +\tex_endinput:D |