Skip to content

Commit

Permalink
v0.16
Browse files Browse the repository at this point in the history
  • Loading branch information
cgnieder committed Nov 10, 2019
1 parent a457454 commit 81c0910
Show file tree
Hide file tree
Showing 17 changed files with 177 additions and 37 deletions.
3 changes: 2 additions & 1 deletion README
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
--------------------------------------------------------------------------
XSIM 2019/11/02 v0.15
XSIM 2019/11/10 v0.16

eXercise Sheets IMproved

Expand Down Expand Up @@ -83,6 +83,7 @@ The xsim package consists of the example files:
xsim.texsx-370642.tex, xsim.texsx-370642.pdf
xsim.texsx-391530.tex, xsim.texsx-391530.pdf
xsim.texsx-395273.tex, xsim.texsx-395273.pdf
xsim.texsx-498299.tex, xsim.texsx-498299.pdf,
xsim.texwelt-6698.tex, xsim.texwelt-6698.pdf
xsim.texwelt-15093.tex, xsim.texwelt-15093.pdf
xsim.texwelt-23968.tex, xsim.texwelt-23968.pdf
Expand Down
8 changes: 4 additions & 4 deletions code/xsim.auxfile.code.tex
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
\xsim_write_to_aux:x { \token_to_str:N \XSIM {#1} #2 }
}

\AtBeginDocument
\xsim_at_begin_document:n
{
\iow_now:Nx \@auxout
{ \token_to_str:N \providecommand \token_to_str:N \XSIM [1] {} }
Expand All @@ -69,7 +69,7 @@
\xsim_if_use_aux:F
{
\iow_new:N \l__xsim_aux_file_iow
\AtBeginDocument
\xsim_at_begin_document:n
{ \iow_open:Nn \l__xsim_aux_file_iow { \c_sys_jobname_str .xsim } }
}

Expand Down Expand Up @@ -117,7 +117,7 @@
{ \prop_gput:cnn {g__xsim_list_#1_prop} {####1} {} }
}
}
\AtBeginDocument
\xsim_at_begin_document:n
{
\seq_gclear:c {g__xsim_list_recorded_#1_seq}
\seq_set_eq:Nc \l__xsim_tmpa_seq {g__xsim_list_#1_seq}
Expand Down Expand Up @@ -178,7 +178,7 @@
\cs_new_protected:Npn \xsim_empty_lists:
{ \bool_set_true:N \l__xsim_empty_lists_bool }

% update list -- should be used inside \AtEndDocument:
% update list (should be used inside \xsim_at_end_document:n):
% #1: name
\cs_new_protected:Npn \xsim_update_list:n #1
{
Expand Down
14 changes: 14 additions & 0 deletions code/xsim.base.code.tex
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,20 @@
% ----------------------------------------------------------------------------
\XSIMmodule{base}{basic functionality of the package}

\tl_new:N \g_xsim_end_document_hook_tl
\tl_new:N \g_xsim_begin_document_hook_tl

\AtBeginDocument { \tl_use:N \g_xsim_begin_document_hook_tl }
\AtEndDocument { \tl_use:N \g_xsim_end_document_hook_tl }

\cs_new_protected:Npn \xsim_at_begin_document:n #1
{ \tl_gput_right:Nn \g_xsim_begin_document_hook_tl {#1} }

\cs_new_protected:Npn \xsim_at_end_document:n #1
{ \tl_gput_right:Nn \g_xsim_end_document_hook_tl {#1} }

% ----------------------------------------------------------------------------

\xsim_load_modules:n {auxfile}

% ----------------------------------------------------------------------------
Expand Down
4 changes: 2 additions & 2 deletions code/xsim.collections.code.tex
Original file line number Diff line number Diff line change
Expand Up @@ -380,13 +380,13 @@

% ----------------------------------------------------------------------------

\AtBeginDocument
\xsim_at_begin_document:n
{
\xsim_get_collections:
\xsim_activate_collection:n {all~ exercises}
}

\AtEndDocument
\xsim_at_end_document:n
{
\xsim_deactivate_collection:n {all~ exercises}
\xsim_foreach_collection:n { \xsim_update_list:n {collection:#1} }
Expand Down
2 changes: 1 addition & 1 deletion code/xsim.environments.code.tex
Original file line number Diff line number Diff line change
Expand Up @@ -404,7 +404,7 @@
}
}
}
\cs_generate_variant:Nn \xsim_insert:nnnn {nV,VV,nnnV}
\cs_generate_variant:Nn \xsim_insert:nnnn {nV,VV,nnnV,xx}

% #1: type
% #2: id
Expand Down
4 changes: 2 additions & 2 deletions code/xsim.exercises.code.tex
Original file line number Diff line number Diff line change
Expand Up @@ -540,7 +540,7 @@
}
}

\AtBeginDocument
\xsim_at_begin_document:n
{
\xsim_foreach_exercise_type:n
{
Expand All @@ -549,7 +549,7 @@
}
}

\AtEndDocument
\xsim_at_end_document:n
{
\xsim_if_clear_aux:T
{
Expand Down
6 changes: 3 additions & 3 deletions code/xsim.goals.code.tex
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
{ \fp_new:c {g__xsim_total_goal_#1_fp} }
\fp_if_exist:cF {g__xsim_total_goal_recorded_#1_fp}
{ \fp_new:c {g__xsim_total_goal_recorded_#1_fp} }
\AtBeginDocument
\xsim_at_begin_document:n
{
\xsim_foreach_exercise_type:n
{
Expand Down Expand Up @@ -262,7 +262,7 @@
\xsim_new_aux_cs:cpn {totalgoal} #1#2
{ \fp_gset:cn {g__xsim_total_goal_#1_fp} {#2} }

\AtBeginDocument
\xsim_at_begin_document:n
{
\seq_map_inline:Nn \l__xsim_goals_seq
{
Expand All @@ -272,7 +272,7 @@
}
}

\AtEndDocument
\xsim_at_end_document:n
{
\seq_map_inline:Nn \l__xsim_goals_seq
{
Expand Down
24 changes: 22 additions & 2 deletions code/xsim.interface.code.tex
Original file line number Diff line number Diff line change
Expand Up @@ -498,6 +498,14 @@

% ----------------------------------------------------------------------------

\NewDocumentCommand \XSIMatbegindocument {+m}
{ \xsim_at_begin_document:n {#1} }

\NewDocumentCommand \XSIMatenddocument {+m}
{ \xsim_at_end_document:n {#1} }

% ----------------------------------------------------------------------------

\NewDocumentCommand \ForEachPrintedExerciseByType {+m}
{ \xsim_foreach_exercise_type_id:nn {print} {#1} }

Expand Down Expand Up @@ -601,11 +609,23 @@

% ----------------------------------------------------------------------------

\NewDocumentCommand \printsolution {O{}mm}
{ \xsim_insert:nnnn {#2} {#3} {#1} {solution} }
\NewDocumentCommand \XSIMprint {mO{}mm}
{ \xsim_insert:nnnn {#3} {#4} {#2} {#1} }

\NewDocumentCommand \XSIMxprint {mO{}mm}
{ \xsim_insert:xxnn {#3} {#4} {#2} {#1} }

\NewDocumentCommand \printexercise {O{}mm}
{ \xsim_insert:nnnn {#2} {#3} {#1} {exercise} }

\NewDocumentCommand \xprintexercise {O{}mm}
{ \xsim_insert:xxnn {#2} {#3} {#1} {exercise} }

\NewDocumentCommand \printsolution {O{}mm}
{ \xsim_insert:nnnn {#2} {#3} {#1} {solution} }

\NewDocumentCommand \xprintsolution {O{}mm}
{ \xsim_insert:xxnn {#2} {#3} {#1} {solution} }

% ----------------------------------------------------------------------------

Expand Down
4 changes: 2 additions & 2 deletions code/xsim.properties.code.tex
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,8 @@
}
\bool_if:nF {#3}
{
\AtEndDocument { \xsim_update_list:n {#4} }
\AtBeginDocument { \__xsim_set_property_from_list:n {#4} }
\xsim_at_end_document:n { \xsim_update_list:n {#4} }
\xsim_at_begin_document:n { \__xsim_set_property_from_list:n {#4} }
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions code/xsim.sty
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@

\ExplSyntaxOn

\tl_const:Nn \c_xsim_date_tl {2019/11/02}
\tl_const:Nn \c_xsim_date_tl {2019/11/10}
\tl_const:Nn \c_xsim_version_major_number_tl {0}
\tl_const:Nn \c_xsim_version_minor_number_tl {15}
\tl_const:Nn \c_xsim_version_minor_number_tl {16}
\tl_const:Nn \c_xsim_version_subrelease_tl {}
\tl_const:Nx \c_xsim_version_number_tl
{
Expand Down
25 changes: 13 additions & 12 deletions code/xsim.translations.code.tex
Original file line number Diff line number Diff line change
Expand Up @@ -65,18 +65,19 @@
}
}

\AtBeginDocument{
\bool_if:NTF \l__xsim_language_auto_bool
{
\tl_set:Nx \l_xsim_language_tl
{ \@trnslt@language{\@trnslt@current@language} }
}
{
\tl_set_eq:NN
\l_xsim_language_tl
\l__xsim_current_language_tl
}
}
\xsim_at_begin_document:n
{
\bool_if:NTF \l__xsim_language_auto_bool
{
\tl_set:Nx \l_xsim_language_tl
{ \@trnslt@language{\@trnslt@current@language} }
}
{
\tl_set_eq:NN
\l_xsim_language_tl
\l__xsim_current_language_tl
}
}

% ----------------------------------------------------------------------------
% #1: keyword
Expand Down
Binary file added doc/examples/xsim.texsx-498299.pdf
Binary file not shown.
75 changes: 75 additions & 0 deletions doc/examples/xsim.texsx-498299.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
\documentclass{article}
\usepackage[no-files]{xsim}
\usepackage{tasks}

\DeclareExerciseEnvironmentTemplate{item}
{\item[\GetExerciseProperty{counter}]}
{}

\DeclareExerciseProperty{answer}

\newcommand*\answer[1]{%
\XSIMexpandcode{%
\SetExerciseProperty{answer}
{ (\noexpand\textit{\alph{task}}) \unexpanded{#1}}}%
#1%
}

\newcommand*\getanswers{%
\def\betweenanswers{\def\betweenanswers{\hspace{2em}}}%
\ForEachUsedExerciseByID{%
\betweenanswers##3\ExercisePropertyGet{##1}{##2}{answer}%
}%
}

\xsimsetup{
exercise/template = item,
exercise/the-counter = \arabic{exercise}.
}

\NewTasksEnvironment[
label = (\textit{\alph*}) ,
label-width = 14pt
]{choice}[\choice]

\newenvironment{questions}
{\itemize}
{\enditemize}

\begin{document}

\section{Problems}
\begin{questions}
\begin{exercise}
What is the product of $-2$ and $3$?
\begin{choice}(4)
\choice \answer{$-6$}
\choice $6$
\choice $5$
\choice $-5$
\end{choice}
\end{exercise}
\begin{exercise}
What is the sum of the sides of a polygon called?
\begin{choice}(2)
\choice Leg
\choice \answer{Perimeter}
\choice Area
\choice Volume
\end{choice}
\end{exercise}
\begin{exercise}
What is the sum of $-2$ and $-3$?
\begin{choice}(4)
\choice $-6$
\choice $6$
\choice $5$
\choice \answer{$-5$}
\end{choice}
\end{exercise}
\end{questions}

\section{Answers}
\getanswers

\end{document}
14 changes: 11 additions & 3 deletions doc/xsim-manual.cls
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
% please ignore the contents of this file -- it is not a good example for
% coding...
%
\ProvidesClass{xsim-manual}[2019/09/27]
\ProvidesClass{xsim-manual}[2019/11/10]

\LoadClass[load-preamble,add-index]{cnltx-doc}
\RequirePackage{imakeidx}
Expand Down Expand Up @@ -169,6 +169,10 @@
UseExerciseTags ,
UseExerciseTagsX ,
UseExerciseTemplate ,
xprintexercise ,
xprintsolution ,
XSIMatbegindocument ,
XSIMatenddocument ,
XSIMexpandcode ,
XSIMsetfilebegin ,
XSIMfilewritestart ,
Expand All @@ -185,10 +189,12 @@
XSIMifeqT ,
XSIMifeqTF ,
XSIMmixedcase ,
xsimprint ,
XSIMputright ,
xsimsetup ,
xsimstyle ,
XSIMtranslate
XSIMtranslate ,
xsimxprint
} ,
add-envs = { exercise , solution } ,
add-silent-cmds = {
Expand Down Expand Up @@ -829,7 +835,8 @@
\xsim@add@example{texsx-369803}{Layout adjustments}
\xsim@add@example{texsx-370642}{Minimalistic layout}
\xsim@add@example{texsx-391530}{Exercises and sub-exercises}
\xsim@add@example{texsx-395273}{Different aspects of exercises. Highlighted solutions}
\xsim@add@example{texsx-395273}{Different aspects of exercises, highlighted solutions}
\xsim@add@example{texsx-498299}{Multiple choice questions with automated solutions}
\xsim@add@example{texwelt-6698}{Custom list of exercises}
\xsim@add@example{texwelt-15093}{Indicate difficulty level}
\xsim@add@example{texwelt-23968}{Long and short solutions}
Expand Down Expand Up @@ -858,6 +865,7 @@
\xsim@add@version{0.13} {2019-10-06}
\xsim@add@version{0.14} {2019-10-13}
\xsim@add@version{0.15} {2019-11-02}
\xsim@add@version{0.16} {2019-11-10}

% ----------------------------------------------------------------------------
\newrobustcmd*\xsimauxfileinfo{%
Expand Down
3 changes: 3 additions & 0 deletions doc/xsim.history
Original file line number Diff line number Diff line change
Expand Up @@ -131,3 +131,6 @@ HISTORY:
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
Binary file modified doc/xsim_manual.pdf
Binary file not shown.
Loading

0 comments on commit 81c0910

Please sign in to comment.