summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/xsim
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-01-31 21:33:37 +0000
committerKarl Berry <karl@freefriends.org>2021-01-31 21:33:37 +0000
commit23096896d90fa4e84c769e8e310fad6173aa910d (patch)
tree15989c9eceec2c02c6dc490935682f42e430cdbb /Master/texmf-dist/doc/latex/xsim
parente1d229bfed2eacb9ae53a210f84da32889984de9 (diff)
xsim (31jan21)
git-svn-id: svn://tug.org/texlive/trunk@57572 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/xsim')
-rw-r--r--Master/texmf-dist/doc/latex/xsim/HISTORY (renamed from Master/texmf-dist/doc/latex/xsim/xsim.history)22
-rw-r--r--Master/texmf-dist/doc/latex/xsim/README46
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.blanks.pdfbin29952 -> 38256 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.blanks.tex1
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.boxed-headings.pdfbin38376 -> 38372 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.code-and-output.pdfbin30938 -> 30939 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.code-and-output.tex2
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.collections.pdfbin33206 -> 30259 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.collections.tex44
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.crossref.pdfbin38749 -> 38748 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.crossref.tex2
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.description-list.pdfbin41167 -> 41171 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.different-point-types.pdfbin42153 -> 42156 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.difficulties.pdfbin31555 -> 31763 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.floating.pdfbin37708 -> 37717 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.golatex-80640.pdfbin46308 -> 46317 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.golatex-80640.tex1
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.golatex-91339.pdfbin65379 -> 64956 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.golatex-91339.tex3
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.grade-distribution.pdfbin23204 -> 23204 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.hints.pdfbin45719 -> 45722 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.hints.tex7
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.issues-49.pdfbin0 -> 95608 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.issues-49.tex122
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.listings.pdfbin45738 -> 45747 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.listings.tex2
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.listofexercises.pdfbin57220 -> 57220 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.multiplechoice.pdfbin31016 -> 31019 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.pointsums.pdfbin28127 -> 28126 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.randomexercises.pdfbin23102 -> 23048 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.randomexercises.tex18
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-13635.pdfbin86047 -> 86049 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-13635.tex2
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-155630.pdfbin20045 -> 20048 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-155630.tex3
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-199360.pdfbin56153 -> 56106 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-299534.pdfbin48094 -> 48095 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-299534.tex2
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-305110.pdfbin36968 -> 36974 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-308883.pdfbin27155 -> 27157 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-338165.pdfbin57235 -> 56911 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-338165.tex38
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-350028.pdfbin130569 -> 130588 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-350028.tex80
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369065.pdfbin65721 -> 65714 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369065.tex36
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369636.pdfbin46504 -> 91296 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369636.tex27
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369803.pdfbin55079 -> 55077 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369803.tex24
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-370642.pdfbin28426 -> 28428 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-391530-exercises.tex12
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-391530.pdfbin25040 -> 26102 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-391530.tex35
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-395273.pdfbin50580 -> 50575 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-466584.pdfbin0 -> 60453 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-466584.tex56
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-498299.pdfbin42513 -> 42514 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-498299.tex1
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-576998.pdfbin0 -> 49333 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-576998.tex135
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-580636.pdfbin0 -> 51800 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-580636.tex92
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-15093.pdfbin36256 -> 36259 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-15093.tex1
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-23968.pdfbin46008 -> 46009 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-23968.tex7
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-6698.pdfbin43899 -> 43907 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-6698.tex1
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.various.pdfbin86646 -> 86588 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/examples/xsim.various.tex3
-rw-r--r--Master/texmf-dist/doc/latex/xsim/xsim-manual.pdf (renamed from Master/texmf-dist/doc/latex/xsim/xsim_manual.pdf)bin1269638 -> 1308757 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xsim/xsim-manual.tex (renamed from Master/texmf-dist/doc/latex/xsim/xsim_manual.tex)314
-rw-r--r--Master/texmf-dist/doc/latex/xsim/xsim.ideas29
74 files changed, 756 insertions, 412 deletions
diff --git a/Master/texmf-dist/doc/latex/xsim/xsim.history b/Master/texmf-dist/doc/latex/xsim/HISTORY
index f1b0f860f7d..0d3f7d417a1 100644
--- a/Master/texmf-dist/doc/latex/xsim/xsim.history
+++ b/Master/texmf-dist/doc/latex/xsim/HISTORY
@@ -155,4 +155,24 @@ HISTORY:
- new load-time option `debug' - only for development
v0.19a 2020/03/19 - fix missing-variant-bug introduced with the last update
v0.19b 2020/04/04 - fix bug in new attribute mechanism which was a problem
- when `no-files` has been used
+ when `no-files` has been used
+ v0.20 2021/01/31 - switch to one sty file per package
+ - use LaTeX's new hooks
+ - declare undeclared variables
+ - new exercise setup mechanism which clearly determines the
+ difference between definition, usage, and printing of an
+ exercise; this also solves the problem with added goals
+ in the exercise body in a collection
+ - re-write collection mechanism:
+ * changes the behaviour of \collectexercises but doesn't
+ require external files any more and more importantly
+ doesn't require inputting files several times for
+ multiple collections
+ * drop \collectexercisestype
+ * new \(de)activatecollection
+ * new options `collect' and `<type>/collect'
+ - small improvements in performance
+ - new parameters `within' and `the-counter'
+ - make `no-files' the default
+ - new examples
+ - various small fixes
diff --git a/Master/texmf-dist/doc/latex/xsim/README b/Master/texmf-dist/doc/latex/xsim/README
index 5923c8045b4..3407220a293 100644
--- a/Master/texmf-dist/doc/latex/xsim/README
+++ b/Master/texmf-dist/doc/latex/xsim/README
@@ -1,6 +1,6 @@
--------------------------------------------------------------------------
-XSIM 2020/04/04 v0.19b
-XSIMVERB 2019/12/29 v0.1a
+XSIM 2021/01/31 v0.20
+XSIMVERB 2021/01/31 v0.3
eXercise Sheets IMproved
@@ -9,15 +9,15 @@ Clemens Niederberger
Web: https://github.com/cgnieder/xsim
E-Mail: contact@mychemistry.eu
--------------------------------------------------------------------------
-Copyright 2017--2020 Clemens Niederberger
+Copyright 2017--2021 Clemens Niederberger
This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either version 1.3
+conditions of the LaTeX Project Public License, either version 1.3c
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.
+and version 1.3c or later is part of all distributions of LaTeX
+version 2008/05/04 or later.
This work has the LPPL maintenance status `maintained'.
@@ -26,30 +26,10 @@ The Current Maintainer of this work is Clemens Niederberger.
The xsim package consists of the code files:
xsim.sty
xsimverb.sty
- xsim.auxfile.code.tex
- xsim.base.code.tex
- xsim.blanks.code.tex
- xsim.collections.code.tex
- xsim.definitions.code.tex
- xsim.environments.code.tex
- xsim.exercises.code.tex
- xsim.goals.code.tex
- xsim.grades.code.tex
- xsim.interface.code.tex
- xsim.modules.code.tex
- xsim.properties.code.tex
- xsim.random.code.tex
- xsim.solutions.code.tex
- xsim.style.layouts.code.tex
- xsim.tags.code.tex
- xsim.templates.code.tex
- xsim.translations.code.tex
- xsim.verbwrite.code.tex
--------------------------------------------------------------------------
The xsim package consists of the documentation files:
- README
- xsim.history, xsim.ideas
- xsim_manual.tex, xsim_manual.pdf
+ README HISTORY
+ xsim-manual.tex, xsim-manual.pdf
xsim-manual.cls
--------------------------------------------------------------------------
The xsim package consists of the example files:
@@ -84,12 +64,16 @@ 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.texsx-466584.tex, xsim.texsx-466584.pdf
+ xsim.texsx-498299.tex, xsim.texsx-498299.pdf
+ xsim.texsx-576998.tex, xsim.texsx-576998.pdf
+ xsim.texsx-580636.tex, xsim.texsx-580636.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
- xsim.golatex-16824.tex, xsim.golatex-16824.pdf
- xsim.golatex-18844.tex, xsim.golatex-18844.pdf
+ xsim.golatex-80640.tex, xsim.golatex-80640.pdf
+ xsim.golatex-91339.tex, xsim.golatex-91339.pdf
+ xsim.issues-49.tex, xsim.issues-49.pdf
--------------------------------------------------------------------------
If you have any ideas, questions, suggestions or bugs to report, please
feel free to contact me.
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.blanks.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.blanks.pdf
index dd26d671570..84a8e09b332 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.blanks.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.blanks.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.blanks.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.blanks.tex
index b479e961c2c..f32b81a1290 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.blanks.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.blanks.tex
@@ -1,5 +1,4 @@
\documentclass{article}
-\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{xsim,lipsum,xcolor}
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.boxed-headings.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.boxed-headings.pdf
index 99ba5bbc2a6..fb9ff49f982 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.boxed-headings.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.boxed-headings.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.code-and-output.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.code-and-output.pdf
index 72894ac9a63..4626e8c9820 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.code-and-output.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.code-and-output.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.code-and-output.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.code-and-output.tex
index 66afaf9b8ad..15b1a7dea00 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.code-and-output.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.code-and-output.tex
@@ -46,7 +46,7 @@
\bigskip
-\begin{code}[]
+\begin{code}
blubber \LaTeX
\end{code}
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.collections.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.collections.pdf
index fd785cc0574..e7ccda79cf0 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.collections.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.collections.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.collections.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.collections.tex
index 990391e0915..5f75082a420 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.collections.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.collections.tex
@@ -1,12 +1,19 @@
\documentclass{article}
\usepackage{xsim}
+\usepackage{lipsum}
-\DeclareExerciseCollection{foo-easy}
-\DeclareExerciseCollection{foo-medium}
+\DeclareExerciseCollection[difficulty=easy]{easy}
+\DeclareExerciseCollection[difficulty=medium]{medium}
\DeclareExerciseTagging{difficulty}
-\usepackage{lipsum}
-\begin{filecontents*}{foo.tex}
+\xsimsetup{collect}
+
+\begin{document}
+
+\begin{exercise}[use,print]
+ outside before
+\end{exercise}
+
\begin{exercise}[difficulty=easy,points=1]
foo one \lipsum[4]
\end{exercise}
@@ -25,38 +32,13 @@
\begin{solution}
foo three \lipsum[4]
\end{solution}
-\end{filecontents*}
-
-\begin{document}
-
-\begin{exercise}
- outside before
-\end{exercise}
-
-\collectexercises{foo-easy}
-\xsimsetup{difficulty=easy}
-\input{foo.tex}
-\collectexercisesstop{foo-easy}
-% collection `foo-easy' now contains all exercises of file `foo.tex' tagged
-% with `difficulty=easy'
-
-\collectexercises{foo-medium}
-\xsimsetup{difficulty=medium}
-\input{foo.tex}
-\collectexercisesstop{foo-medium}
-% collection `foo-medium' now contains all exercises of file `foo.tex'
-% tagged with `difficulty=medium'
\section{Easy}
-\printcollection{foo-easy}
+\printcollection{easy}
\section{Medium}
-\printcollection{foo-medium}
+\printcollection{medium}
\printsolutions[difficulty=medium]
-\section{All Exercises and Their Solutions Again, in Order of Appearance}
-
-\printcollection[print=both]{all exercises}
-
\end{document}
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.crossref.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.crossref.pdf
index 8151a0cef3f..19843c41850 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.crossref.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.crossref.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.crossref.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.crossref.tex
index fa2fbbb509d..0a6c8f4eab9 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.crossref.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.crossref.tex
@@ -2,7 +2,7 @@
\usepackage{xsim,lipsum,hyperref}
\DeclareExerciseHeadingTemplate{custom}
- {\section{\XSIMtranslate{default-heading}}}
+ {\section{\XSIMexpandcode{\XSIMtranslate{default-heading}}}}
\DeclareExerciseEnvironmentTemplate{custom}
{%
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.description-list.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.description-list.pdf
index d506ad960bc..b05b3276c9c 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.description-list.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.description-list.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.different-point-types.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.different-point-types.pdf
index b1de5d63253..781831ddf80 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.different-point-types.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.different-point-types.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.difficulties.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.difficulties.pdf
index 846f19e2012..4963fb48363 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.difficulties.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.difficulties.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.floating.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.floating.pdf
index e2e96537ef1..c1352837eb5 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.floating.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.floating.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.golatex-80640.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.golatex-80640.pdf
index 76cf1617cbd..068dc15fef4 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.golatex-80640.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.golatex-80640.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.golatex-80640.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.golatex-80640.tex
index 5ccdff63a45..7ac1f158006 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.golatex-80640.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.golatex-80640.tex
@@ -1,6 +1,5 @@
% http://golatex.de/viewtopic,p,80640.html
\documentclass[fontsize=12pt,parskip=half]{scrartcl}
-\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.golatex-91339.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.golatex-91339.pdf
index 97cb4659e06..189210a8a3e 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.golatex-91339.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.golatex-91339.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.golatex-91339.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.golatex-91339.tex
index 8ae03971c56..ae02ca0344c 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.golatex-91339.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.golatex-91339.tex
@@ -1,6 +1,5 @@
% http://golatex.de/viewtopic,p,91339.html
-\documentclass[18pt,a4paper]{article}
-\usepackage[utf8]{inputenc}
+\documentclass[a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage{xsim,tcolorbox}
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.grade-distribution.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.grade-distribution.pdf
index 248358c4a16..2de9ff1358e 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.grade-distribution.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.grade-distribution.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.hints.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.hints.pdf
index a34fbd8f79c..4b13a435d60 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.hints.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.hints.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.hints.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.hints.tex
index 10a0bffed9e..82d89f6944b 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.hints.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.hints.tex
@@ -10,13 +10,8 @@
\newcommand\printhints{%
\begin{description}
\ForEachUsedExerciseByType{%
- \def\ExerciseType{##1}%
- \def\ExerciseID{##2}%
\GetExercisePropertyT{hint}
- {%
- \item[\XSIMmixedcase{\GetExerciseName}~##3]
- ####1%
- }%
+ {\item[\XSIMmixedcase{\GetExerciseName}~##3]####1}%
}%
\end{description}
}
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.issues-49.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.issues-49.pdf
new file mode 100644
index 00000000000..3ea1c70ace8
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.issues-49.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.issues-49.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.issues-49.tex
new file mode 100644
index 00000000000..f9baf0a6015
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.issues-49.tex
@@ -0,0 +1,122 @@
+\documentclass{article}
+\usepackage{xsim}
+
+\xsimsetup{
+ load-style = layouts ,
+ exercise/template = runin ,
+ solution/template = runin
+}
+
+\usepackage{tasks,fontawesome,fmtcount,multicol}
+\NewTasksEnvironment[label=\Alph*),label-width=12pt]{choices}[\choice]
+\newcommand*\correct{\thetask\expanded{\SetExerciseProperty{choice}{\thetask}}}
+
+\NewTasksEnvironment[label=\Roman*,label-width=12pt]{options}[\option]
+
+\DeclareExerciseProperty{choice}
+
+\newcommand*\pkg[1]{\texttt{#1}}
+\newcommand*\cls[1]{\texttt{#1}}
+
+\newcommand\EA[2]{\IfInsideSolutionTF{#2}{#1}}
+\newcommand\answer[1]{\IfInsideSolutionT{#1}}
+
+\begin{document}
+
+\section{List of exercises}
+Solve and answer the following exercises.
+
+\begin{exercise}
+ Factor $x^{2}-2x+1$
+\end{exercise}
+\begin{solution}
+ $\left(x-1\right)^{2}$
+\end{solution}
+\begin{exercise}
+ Factor $3x+3y+3z$
+\end{exercise}
+\begin{solution}
+ $3(x+y+z)$
+\end{solution}
+
+\begin{exercise}[solution]
+ \EA{True or false?}{}
+ \begin{tasks}(2)
+ \task \EA{$\alpha > \delta$}{False}
+ \task \EA{\LaTeX2e\ is cool?}{Very True!}
+ \end{tasks}
+\end{exercise}
+
+\begin{exercise}[subtitle=Talking Linux,solution]
+ \begin{tasks}(2)
+ \task \EA{You use linux?}{Yes}
+ \task \EA{Usually uses the package manager?}{Yes}
+ \end{tasks}
+\end{exercise}
+
+\begin{exercise}[solution]
+ \EA{Rate the following \LaTeX\ packages and classes.}{}
+ \begin{tasks}(\EA{3}{1})
+ \task \EA{\cls{xsim-exam}}{doesn't exist for now}
+ \task \EA{\pkg{xsim}}{very good}
+ \task \EA{\pkg{exsheets}}{obsolete}
+ \end{tasks}
+\end{exercise}
+
+\begin{exercise}
+ \begin{choices}(5)
+ \choice value
+ \choice value
+ \choice value
+ \choice[\correct] correct
+ \choice value
+ \end{choices}
+\end{exercise}
+\begin{solution}
+ \GetExerciseProperty{choice}
+\end{solution}
+
+\begin{exercise}
+ \begin{options}(3)
+ \option $2\alpha+2\delta=90^{\circ}$
+ \option $\alpha=\delta$
+ \option $\angle EDF=45^{\circ}$
+ \end{options}
+ \begin{choices}(4)
+ \choice I only
+ \choice[\correct] II only
+ \choice I and II only
+ \choice I and III only
+ \choice I, II, and III
+ \end{choices}
+\end{exercise}
+\begin{solution}
+ \GetExerciseProperty{choice}
+\end{solution}
+
+\begin{exercise}
+ \begin{tasks}[label=(\arabic*),label-width=13pt](2)
+ \task $2\alpha+2\delta=90^{\circ}$
+ \task $\angle EDF=45^{\circ}$
+ \end{tasks}
+ \begin{choices}(3)
+ \choice Alternative A
+ \choice Alternative B
+ \choice[\correct] Alternative C
+ \choice Alternative D
+ \choice Alternative E
+ \end{choices}
+\end{exercise}
+\begin{solution}
+ \GetExerciseProperty{choice}
+\end{solution}
+
+\clearpage
+
+\section{Solutions}
+\raggedcolumns
+\begin{multicols}{2}
+ \printsolutions[headings=false]
+\end{multicols}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.listings.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.listings.pdf
index 0d388f2c708..8383fd8b0c7 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.listings.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.listings.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.listings.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.listings.tex
index 6dd302feb09..a5fe951bebf 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.listings.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.listings.tex
@@ -3,7 +3,7 @@
\usepackage{xcolor}
\usepackage{listings}
-\usepackage{xsim}
+\usepackage[use-files]{xsim}
\lstset{
frame=single,
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.listofexercises.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.listofexercises.pdf
index 8050ee8f90a..46bf9b89e4a 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.listofexercises.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.listofexercises.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.multiplechoice.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.multiplechoice.pdf
index 02dac6c4df9..0e49066a701 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.multiplechoice.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.multiplechoice.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.pointsums.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.pointsums.pdf
index aa822a1bd7a..225595afe3b 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.pointsums.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.pointsums.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.randomexercises.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.randomexercises.pdf
index 773d34f495b..670825d54ab 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.randomexercises.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.randomexercises.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.randomexercises.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.randomexercises.tex
index 60877b1a4ab..aafb3ddae10 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.randomexercises.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.randomexercises.tex
@@ -1,10 +1,10 @@
\documentclass{article}
\usepackage{xsim}
-\DeclareExerciseCollection{foo}
+\xsimsetup{collect}
+
+\begin{document}
-\usepackage{filecontents}
-\begin{filecontents*}{random.tex}
\begin{exercise}[ID=A]
exercise A
\end{exercise}
@@ -41,18 +41,10 @@
\begin{solution}
solution F
\end{solution}
-\end{filecontents*}
-
-\begin{document}
-
-\collectexercises{foo}
-\input{random.tex}
-\collectexercisesstop{foo}
\section*{Exercises}
-\printrandomexercises[collection=foo,exclude=D]{3}
+\printrandomexercises[collection=all exercises,exclude=D]{3}
-\section*{Solutions}
-\printsolutions*
+\printsolutions
\end{document}
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-13635.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-13635.pdf
index af889a6709f..ff493e35919 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-13635.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-13635.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-13635.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-13635.tex
index 3b52ce46b24..c0d08a567f0 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-13635.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-13635.tex
@@ -27,6 +27,8 @@
\DeclareExerciseCollection{prime numbers}
\DeclareExerciseCollection{Zeta function}
+\xsimsetup{collect}
+
\begin{document}
\collectexercises{prime numbers}
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-155630.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-155630.pdf
index 6c9fc4482af..40bacabc8e8 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-155630.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-155630.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-155630.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-155630.tex
index 2edb7bfdad2..015f52db0f9 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-155630.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-155630.tex
@@ -3,10 +3,10 @@
\usepackage{xsim}
\DeclareExerciseCollection{foo}
+\xsimsetup{collect}
\begin{document}
-\collectexercises{foo}
\begin{exercise}
foo
\end{exercise}
@@ -16,7 +16,6 @@
\begin{exercise}
baz
\end{exercise}
-\collectexercisesstop{foo}
% shuffle around for a different version:
\printexercise{exercise}{1}
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-199360.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-199360.pdf
index 94925495985..8c1d7cc9d59 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-199360.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-199360.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-299534.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-299534.pdf
index c006aeb34c3..c9500e089fa 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-299534.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-299534.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-299534.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-299534.tex
index 1c2be46df39..e330f3d256a 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-299534.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-299534.tex
@@ -1,7 +1,7 @@
% http://tex.stackexchange.com/q/299534/
\documentclass{article}
\usepackage{pythontex}
-\usepackage{xsim}
+\usepackage[use-files]{xsim}
\begin{document}
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-305110.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-305110.pdf
index fb92e875a91..4b9558d90ff 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-305110.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-305110.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-308883.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-308883.pdf
index eb27dce140c..02039dbc683 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-308883.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-308883.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-338165.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-338165.pdf
index 4b5a09474d0..9e8168af2f5 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-338165.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-338165.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-338165.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-338165.tex
index a0b204f914e..72ee108668d 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-338165.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-338165.tex
@@ -10,26 +10,24 @@
\tcbuselibrary{breakable, skins}
\settasks{ label = \arabic*. }
-\DeclareExerciseEnvironmentTemplate{boxed}
- {%
- \tcolorbox[
- enhanced ,
- attach boxed title to top center = {yshift=-7.5pt} ,
- colback = white , colbacktitle = white ,
- coltitle = black , colframe = black ,
- boxed title style = { colframe = white } ,
- fonttitle=\bfseries,
- sharp corners=all,
- breakable,
- title=
- \XSIMmixedcase{\GetExerciseName}%
- \IfInsideSolutionF{%
- ~\GetExerciseProperty{counter}%
- \IfExercisePropertySetT{subtitle}{: \GetExerciseProperty{subtitle}}%
- }%
- ]
- }
- {\endtcolorbox}
+\DeclareExerciseEnvironmentTemplate{boxed}{%
+ \tcolorbox[
+ enhanced ,
+ attach boxed title to top center = {yshift=-7.5pt} ,
+ colback = white , colbacktitle = white ,
+ coltitle = black , colframe = black ,
+ boxed title style = { colframe = white } ,
+ fonttitle=\bfseries,
+ sharp corners=all,
+ breakable,
+ title=
+ \XSIMmixedcase{\GetExerciseName}%
+ \IfInsideSolutionF{%
+ ~\GetExerciseProperty{counter}%
+ \IfExercisePropertySetT{subtitle}{: \GetExerciseProperty{subtitle}}%
+ }%
+ ]
+}{\endtcolorbox}
\xsimsetup{
exercise/template = boxed ,
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-350028.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-350028.pdf
index 36645464fc0..2f58a0fde7f 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-350028.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-350028.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-350028.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-350028.tex
index 8f49a92f600..f0d977a131e 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-350028.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-350028.tex
@@ -5,48 +5,44 @@
\usepackage[most]{tcolorbox}
\tcbuselibrary{skins,breakable}
-\DeclareExerciseEnvironmentTemplate{tcolorbox}
- {%
- \tcolorbox[
- enhanced,
- colframe=green!20!black,
- colback=yellow!10!white,
- coltitle=green!40!black,
- fonttitle=\bfseries,
- underlay={%
- \begin{tcbclipinterior}
- \shade[
- inner color=\IfInsideSolutionTF{red!50!yellow}{green!80!yellow},
- outer color=yellow!10!white]
- (interior.north west) circle (2cm);
- \draw[help lines,step=5mm,yellow!80!black,shift={(interior.north west)}]
- (interior.south west) grid (interior.north east);
- \end{tcbclipinterior}%
- },
- attach title to upper=\quad,
- title = \XSIMmixedcase{\GetExerciseName}~\GetExerciseProperty{counter}
- \IfExercisePropertySetT{points}{%
- (\GetExerciseProperty{points}
- \IfExerciseGoalSingularTF{points}
- {\XSIMtranslate{point}}
- {\XSIMtranslate{points}})%
- }]%
- \IfInsideSolutionT{\label{solution:\ExerciseID}}%
- }
- {%
- \endtcolorbox
- \vspace*{\baselineskip}
- \IfInsideSolutionTF
- {%
- \noindent Exercise~\GetExerciseProperty{counter} is on
- page~\GetExerciseProperty{page}.%
- }
- {%
- \noindent The solution of this exercise is on
- page~\pageref{solution:\ExerciseID}.%
- }%
- \vspace{\baselineskip}
- }
+\DeclareExerciseEnvironmentTemplate{tcolorbox}{%
+ \tcolorbox[
+ enhanced,
+ colframe=green!20!black,
+ colback=yellow!10!white,
+ coltitle=green!40!black,
+ fonttitle=\bfseries,
+ underlay={%
+ \begin{tcbclipinterior}
+ \shade[
+ inner color=\IfInsideSolutionTF{red!50!yellow}{green!80!yellow},
+ outer color=yellow!10!white]
+ (interior.north west) circle (2cm);
+ \draw[help lines,step=5mm,yellow!80!black,shift={(interior.north west)}]
+ (interior.south west) grid (interior.north east);
+ \end{tcbclipinterior}%
+ },
+ attach title to upper=\quad,
+ title = \XSIMmixedcase{\GetExerciseName}~\GetExerciseProperty{counter}
+ \IfExercisePropertySetT{points}{%
+ (\GetExerciseProperty{points}
+ \IfExerciseGoalSingularTF{points}
+ {\XSIMtranslate{point}}
+ {\XSIMtranslate{points}})%
+ }]%
+ \IfInsideSolutionT{\label{solution:\ExerciseID}}%
+}{%
+ \endtcolorbox
+ \vspace*{\baselineskip}
+ \IfInsideSolutionTF{%
+ \noindent Exercise~\GetExerciseProperty{counter} is on
+ page~\GetExerciseProperty{page}.%
+ }{%
+ \noindent The solution of this exercise is on
+ page~\pageref{solution:\ExerciseID}.%
+ }%
+ \vspace{\baselineskip}
+}
\xsimsetup{
exercise/template = tcolorbox ,
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369065.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369065.pdf
index 6aa9ab572bb..fea54f626b2 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369065.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369065.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369065.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369065.tex
index b62b85127a4..f35149c8ea1 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369065.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369065.tex
@@ -11,28 +11,24 @@
solution/print=true
}
-\DeclareExerciseEnvironmentTemplate{cyan-box}
- {%
- \begin{tcolorbox}[arc=0mm,boxrule=1pt,colback=white,colframe=cyan,leftrule=3mm]
- \textsf{%
- \MakeUppercase{%
- \XSIMmixedcase{\GetExerciseName}~\GetExerciseProperty{counter}%
- }%
+\DeclareExerciseEnvironmentTemplate{cyan-box}{%
+ \begin{tcolorbox}[arc=0mm,boxrule=1pt,colback=white,colframe=cyan,leftrule=3mm]
+ \textsf{%
+ \MakeUppercase{%
+ \XSIMmixedcase{\GetExerciseName}~\GetExerciseProperty{counter}%
}%
- \GetExercisePropertyT{subtitle}{ \textit{#1}}%
- \quad
- }
- {\end{tcolorbox}}
-
-\DeclareExerciseEnvironmentTemplate{red}
- {%
- \par
- \Needspace*{2\baselineskip}
- \noindent
- \textsf{\textcolor{red}{\MakeUppercase{\XSIMmixedcase{\GetExerciseName}}}}%
+ }%
+ \GetExercisePropertyT{subtitle}{ \textit{#1}}%
\quad
- }
- {\par\bigskip}
+}{\end{tcolorbox}}
+
+\DeclareExerciseEnvironmentTemplate{red}{%
+ \par
+ \Needspace*{2\baselineskip}
+ \noindent
+ \textsf{\textcolor{red}{\MakeUppercase{\XSIMmixedcase{\GetExerciseName}}}}%
+ \quad
+}{\par\bigskip}
\begin{document}
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369636.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369636.pdf
index 2bc106f3035..96bd157b683 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369636.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369636.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369636.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369636.tex
index e13b8653f4c..73ab7868f63 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369636.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369636.tex
@@ -5,7 +5,6 @@
\usepackage[T1]{fontenc}
\usepackage{fourier}
\usepackage{tgpagella}
-\usepackage[utf8]{inputenc}
\usepackage{xsim,needspace,adjustbox,scrextend}
@@ -14,20 +13,18 @@
exercise/template = square
}
-\DeclareExerciseEnvironmentTemplate{square}
- {%
- \Needspace*{2\baselineskip}%
- \addmargin[0pt]{.15\textwidth}%
- \par\noindent
- \adjustbox{
- fbox = 1pt 0pt,
- lap = {\textwidth},
- valign = t,
- set vsize = {0pt}{0pt}
- }{\rule{0pt}{20pt}\hspace{20pt}}%
- \textbf{\GetExerciseProperty{counter}} %
- }
- {\endaddmargin\vspace{\baselineskip}}
+\DeclareExerciseEnvironmentTemplate{square}{%
+ \Needspace*{2\baselineskip}%
+ \addmargin[0pt]{.15\textwidth}%
+ \par\noindent
+ \adjustbox{
+ fbox = 1pt 0pt,
+ lap = {\textwidth},
+ valign = t,
+ set vsize = {0pt}{0pt}
+ }{\rule{0pt}{20pt}\hspace{20pt}}%
+ \textbf{\GetExerciseProperty{counter}} %
+}{\endaddmargin\vspace{\baselineskip}}
\usepackage{lipsum}
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369803.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369803.pdf
index 73eab39f10b..3e5f8d663b1 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369803.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369803.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369803.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369803.tex
index 58b6800f937..e91e795353d 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369803.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-369803.tex
@@ -1,6 +1,5 @@
% https://tex.stackexchange.com/q/369803
\documentclass[a4paper,parskip=half]{scrartcl}
-\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
@@ -12,19 +11,16 @@
\usepackage{xsim,siunitx}
\DeclareExerciseTagging{difficulty}
-\DeclareExerciseEnvironmentTemplate{custom}
- {%
- \subsection*
- {%
- \XSIMmixedcase{\GetExerciseName}\nobreakspace
- \GetExerciseProperty{counter}%
- \IfInsideSolutionF
- {%
- \IfExercisePropertySetT{subtitle}
- { {\normalfont(\GetExerciseProperty{subtitle})}}%
- }%
- }%
- }{}
+\DeclareExerciseEnvironmentTemplate{custom}{%
+ \subsection*{%
+ \XSIMmixedcase{\GetExerciseName}\nobreakspace
+ \GetExerciseProperty{counter}%
+ \IfInsideSolutionF{%
+ \IfExercisePropertySetT{subtitle}
+ { {\normalfont(\GetExerciseProperty{subtitle})}}%
+ }%
+ }%
+}{}
\xsimsetup{
exercise/name = \XSIMtranslate{question} ,
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-370642.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-370642.pdf
index 13933e80c3b..7d70b52d3ac 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-370642.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-370642.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-391530-exercises.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-391530-exercises.tex
new file mode 100644
index 00000000000..716921adc01
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-391530-exercises.tex
@@ -0,0 +1,12 @@
+\begin{question}
+ Who is the Defence Minister?
+\end{question}
+\begin{question}
+ Who is the Home Minister?
+\end{question}
+\begin{question}
+ Who is the Finance Minister?
+\end{question}
+\begin{question}
+ Who is the External Affairs Minister?
+\end{question}
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-391530.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-391530.pdf
index 137c8587693..1446d0345e3 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-391530.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-391530.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-391530.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-391530.tex
index 1deafe5fb00..2d76cae57ed 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-391530.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-391530.tex
@@ -14,28 +14,23 @@
\DeclareExerciseProperty{title}
\makeatletter
-\DeclareExerciseEnvironmentTemplate{named}
- {%
- \subsection*{%
- \GetExercisePropertyTF{title}
- {#1}
- {??\@latex@warning{Please give an exercise title}}%
- }%
- }
- {}
+\DeclareExerciseEnvironmentTemplate{named}{%
+ \subsection*{%
+ \GetExercisePropertyTF{title}
+ {#1}
+ {??\@latex@warning{Please give an exercise title}}%
+ }%
+}{}
\makeatother
-\DeclareExerciseEnvironmentTemplate{item}
- {\item}
- {}
-
+\DeclareExerciseEnvironmentTemplate{item}{\item}{}
\DeclareExerciseCollection{exercise-pool}
-\xsimsetup{
- exercise/template = named
-}
+\xsimsetup{ exercise/template = named }
-\begin{filecontents*}{\jobname-exercises.tex}
+\begin{document}
+
+\collectexercises{exercise-pool}
\begin{question}
Who is the Defence Minister?
\end{question}
@@ -48,12 +43,6 @@
\begin{question}
Who is the External Affairs Minister?
\end{question}
-\end{filecontents*}
-
-\begin{document}
-
-\collectexercises{exercise-pool}
-\input{\jobname-exercises.tex}
\collectexercisesstop{exercise-pool}
\begin{exercise}[title=Answer the following in one sentence:]
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-395273.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-395273.pdf
index c3796c8ee0c..056b14e833d 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-395273.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-395273.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-466584.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-466584.pdf
new file mode 100644
index 00000000000..83c20f646b6
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-466584.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-466584.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-466584.tex
new file mode 100644
index 00000000000..1f30d3c1b8d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-466584.tex
@@ -0,0 +1,56 @@
+% https://tex.stackexchange.com/q/466584
+\documentclass{article}
+\usepackage{xsim}
+\usepackage{needspace}
+\usepackage{tasks}
+
+\DeclareExerciseEnvironmentTemplate{exandsol}{%
+ \par\vspace{\baselineskip}
+ \Needspace*{2\baselineskip}
+ \noindent\sffamily
+ \textbf{\XSIMmixedcase{\GetExerciseName}~\GetExerciseProperty{counter}}%
+ \GetExercisePropertyT{subtitle}{\hspace{3em}{\small#1}}\par
+ \normalfont
+}{}
+
+\DeclareExerciseEnvironmentTemplate{flushright}{%
+ \begin{flushright}
+ \begin{minipage}{.4\linewidth}
+ \textsf{Solutions:}\par\normalfont
+}{%
+ \end{minipage}%
+ \end{flushright}%
+}
+
+\xsimsetup{
+ exercise/within = section ,
+ exercise/template = exandsol ,
+ solution/template = flushright ,
+ solution/print = true
+}
+
+\renewcommand*\theexercise{\thesection-\arabic{exercise}}
+\newcommand\QA[2]{\IfInsideSolutionTF{#2}{#1}}
+
+\newcommand*\answer[1]{%
+ \begingroup
+ \def\ExerciseType{exercise}%
+ \IfSolutionPrintT{\printsolution{exercise}{#1}}%
+ \endgroup
+}
+
+\begin{document}
+
+\setcounter{section}{1}
+\setcounter{exercise}{30}
+
+\begin{exercise}[ID=one,solution,subtitle=Factorize as much as possible the following expressions.]
+ \begin{tasks}
+ \task \QA{$(2x-3)^2 - (3x-2)^2 =$}{$-(x+5)(5x-1)$}
+ \task \QA{$(x^2-25) - 2(5-x)(x+6) =$}{$(x+5)(3x-17)$}
+ \task \QA{$2x(x+2) + (x+1)^2 + 2 =$}{$3(x+1)^2$}
+ \end{tasks}
+\end{exercise}
+\answer{one}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-498299.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-498299.pdf
index 99e8314406f..41c97e72546 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-498299.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-498299.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-498299.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-498299.tex
index 6716d52e7e7..6b37b4c5186 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-498299.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-498299.tex
@@ -1,3 +1,4 @@
+% https://tex.stackexchange.com/q/498299
\documentclass{article}
\usepackage[no-files]{xsim}
\usepackage{tasks}
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-576998.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-576998.pdf
new file mode 100644
index 00000000000..b3aa8369269
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-576998.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-576998.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-576998.tex
new file mode 100644
index 00000000000..ee2947bbb53
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-576998.tex
@@ -0,0 +1,135 @@
+% https://tex.stackexchange.com/q/576998
+\documentclass[twocolumn]{book}
+\usepackage{xsim}
+
+\DeclareExerciseEnvironmentTemplate{number-only}{%
+ \par\noindent
+ \textbf{\GetExerciseProperty{counter}}%
+ \GetExercisePropertyT{subtitle}{ \textit{#1}} %
+}{\par}
+
+\newcommand\printsectionexercises{%
+ \ForEachUsedExerciseByType{%
+ \ifnum\ExercisePropertyGet{##1}{##2}{chapter-value}=\value{chapter}
+ \ifnum\ExercisePropertyGet{##1}{##2}{section-value}=\value{section}
+ \XSIMprint{exercise}{##1}{##2}%
+ \fi
+ \fi
+ }%
+}
+
+\renewcommand\printsolutions{%
+ \def\currentchapter{}%
+ \def\currentsection{}%
+ \def\lastchapter{}%
+ \def\lastsection{}%
+ \ForEachUsedExerciseByType{%
+ \let\lastchapter\currentchapter
+ \let\lastsection\currentsection
+ \edef\currentchapter{\ExercisePropertyGet{##1}{##2}{chapter-value}}%
+ \edef\currentsection{\ExercisePropertyGet{##1}{##2}{section-value}}%
+ \ifx\lastchapter\currentchapter\else
+ \section*{Chapter \ExercisePropertyGet{##1}{##2}{chapter}}
+ \fi
+ \ifx\lastsection\currentsection\else
+ \subsection*{Exercises \ExercisePropertyGet{##1}{##2}{section}}
+ \fi
+ \XSIMprint{solution}{##1}{##2}%
+ }%
+}
+
+\xsimsetup{
+ exercise/template = number-only ,
+ solution/template = number-only ,
+ exercise/within = section ,
+ exercise/the-counter = \arabic{exercise}. ,
+ exercise/print = false
+}
+
+\begin{document}
+
+\setcounter{chapter}{13}
+\chapter{}
+\section{Cats as pets}
+Text text text\dots
+\begin{exercise}
+ Draw a cat.
+\end{exercise}
+\begin{solution}
+ Drawing a cat.
+\end{solution}
+
+Text text text\dots
+\begin{exercise}
+ Bathe a cat.
+\end{exercise}
+\begin{solution}
+ Bathing a cat.
+\end{solution}
+
+Text text text\dots
+\begin{exercise}
+ Trace the history of cats through time.
+\end{exercise}
+\begin{solution}
+ Tracing the history of cats through time.
+\end{solution}
+
+\subsection*{Exercises \thesection}
+\printsectionexercises
+
+\section{Frogs as pets}
+Text text text\dots
+\begin{exercise}
+ Lick a frog.
+\end{exercise}
+\begin{solution}
+ Licking a frog.
+\end{solution}
+
+Text text text\dots
+\begin{exercise}
+ Bathe a frog.
+\end{exercise}
+\begin{solution}
+ Bathing a frog.
+\end{solution}
+
+Text text text\dots
+\begin{exercise}
+ Feed a frog.
+\end{exercise}
+\begin{solution}
+ Feeding a frog.
+\end{solution}
+
+\subsection*{Exercises \thesection}
+\printsectionexercises
+
+\setcounter{chapter}{20}
+\chapter{}
+
+\section{The joys of fish}
+Text text text\dots
+\begin{exercise}
+ Catch a fish.
+\end{exercise}
+\begin{solution}
+ Catching a fish.
+\end{solution}
+
+Text text text\dots
+\begin{exercise}
+ Draw a fish.
+\end{exercise}
+\begin{solution}
+ Drawing a fish.
+\end{solution}
+
+\subsection*{Exercises \thesection}
+\printsectionexercises
+
+\chapter*{Solutions to the exercises}
+\printsolutions
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-580636.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-580636.pdf
new file mode 100644
index 00000000000..d51eb48607c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-580636.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-580636.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-580636.tex
new file mode 100644
index 00000000000..a6f2be66513
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texsx-580636.tex
@@ -0,0 +1,92 @@
+% https://tex.stackexchange.com/q/580636/
+\documentclass{article}
+\usepackage[use-files]{xsim}
+
+\usepackage[colorlinks,allcolors=blue]{hyperref}
+
+\DeclareExerciseProperty{hints}
+\newcounter{hint}
+\renewcommand\theHhint{\ExerciseID.\arabic{hint}}
+\newcounter{hints}
+\newcounter{step}
+
+\NewDocumentEnvironment{hint}{}{%
+ \stepcounter{hint}%
+ \XSIMsetfilebegin{%
+ \par
+ \refstepcounter{hint}\label{hint:\ExerciseID:\arabic{hint}}%
+ \noindent\textbf{Hint~\thehint\ to exercise \GetExerciseProperty{counter}}%
+ \hfill Back to exercise \ref{ex:\ExerciseID}\par
+ \noindent
+ }%
+ \XSIMsetfileend{\par\addvspace{\bigskipamount}}%
+ \XSIMfilewritestart{\jobname-hint-\ExerciseID-\arabic{hint}.tex}%
+}{%
+ \XSIMfilewritestop
+ \stepcounter{hints}%
+ \SetExpandedExerciseProperty{hints}{\arabic{hints}}%
+}
+
+\DeclareExerciseEnvironmentTemplate{hints}{%
+ \setcounter{hint}{0}%
+ \setcounter{hints}{0}%
+ \par\noindent
+ \textbf{\XSIMmixedcase{\GetExerciseName}\GetExerciseProperty{counter}:}\hfill
+ \IfExercisePropertySetT{hints}{%
+ \setcounter{step}{0}%
+ \def\hintcomma{\def\hintcomma{, }}%
+ Hint\ifnum\GetExerciseProperty{hints}=1\else s\fi:
+ \loop\unless\ifnum\value{step}=\GetExerciseProperty{hints}
+ \stepcounter{step}%
+ \hintcomma\ref{hint:\ExerciseID:\arabic{step}}%
+ \repeat
+ \par\noindent
+ }%
+}{\par\addvspace{\bigskipamount}}
+
+\xsimsetup{
+ exercise/within = section ,
+ exercise/begin-hook = \label{ex:\ExerciseID} ,
+ exercise/template = hints
+}
+
+\newcommand\printhints{%
+ \ForEachUsedExerciseByType{%
+ \setcounter{step}{0}%
+ \setcounter{hint}{0}%
+ \loop\unless\ifnum\value{step}=\GetExerciseProperty{hints}
+ \stepcounter{step}%
+ \input{\jobname-hint-\ExerciseID-\arabic{step}.tex}%
+ \repeat
+ }%
+}
+
+\begin{document}
+
+\section{Exercises}
+\begin{exercise}
+ Description of the exercise. Run the following command
+\begin{verbatim}
+print("Hello world")
+Verbatim &^%$&\content
+\end{verbatim}
+\begin{hint}
+ Run the example from the command line with the python command.
+\end{hint}
+\begin{hint}
+ The solution is 42.
+\end{hint}
+\end{exercise}
+
+\begin{exercise}
+ Another exercise
+\begin{hint}
+ The first ten million years were the worst. Some \verb+&$+.
+\end{hint}
+\end{exercise}
+
+
+\section{Hints}
+\printhints
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-15093.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-15093.pdf
index 3dc9fb16494..b58d9595999 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-15093.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-15093.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-15093.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-15093.tex
index 1f3fcfefcb7..d003cc03afa 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-15093.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-15093.tex
@@ -1,6 +1,5 @@
% http://texwelt.de/wissen/fragen/15093/
\documentclass[paper=a4]{scrartcl}
-\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{xsim,needspace}
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-23968.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-23968.pdf
index e9816a97930..ac8b2c3d399 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-23968.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-23968.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-23968.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-23968.tex
index bf205bb7fb5..5203bdee8ad 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-23968.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-23968.tex
@@ -18,13 +18,8 @@
\newcommand\printshortsolutions{%
\begin{description}
\ForEachUsedExerciseByType{%
- \def\ExerciseType{##1}%
- \def\ExerciseID{##2}%
\GetExercisePropertyT{shortsolution}
- {%
- \item[Short Solution ##3]
- ####1%
- }%
+ {\item[Short Solution ##3]####1}%
}%
\end{description}
}
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-6698.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-6698.pdf
index 000663bf445..f8b96093281 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-6698.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-6698.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-6698.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-6698.tex
index 9e388b9f690..51523e8bcd1 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-6698.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.texwelt-6698.tex
@@ -1,6 +1,5 @@
% http://texwelt.de/wissen/fragen/6698/
\documentclass{article}
-\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{needspace}
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.various.pdf b/Master/texmf-dist/doc/latex/xsim/examples/xsim.various.pdf
index d0406e830ce..aba5075c388 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.various.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.various.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/examples/xsim.various.tex b/Master/texmf-dist/doc/latex/xsim/examples/xsim.various.tex
index 1b7b13f98b3..55430103246 100644
--- a/Master/texmf-dist/doc/latex/xsim/examples/xsim.various.tex
+++ b/Master/texmf-dist/doc/latex/xsim/examples/xsim.various.tex
@@ -1,5 +1,6 @@
\documentclass{article}
-\usepackage{xsim,lipsum,tcolorbox}
+\usepackage[use-files]{xsim}
+\usepackage{lipsum,tcolorbox}
\DeclareExerciseType{question}{
exercise-env = question ,
diff --git a/Master/texmf-dist/doc/latex/xsim/xsim_manual.pdf b/Master/texmf-dist/doc/latex/xsim/xsim-manual.pdf
index dad403c26a2..93245d124d2 100644
--- a/Master/texmf-dist/doc/latex/xsim/xsim_manual.pdf
+++ b/Master/texmf-dist/doc/latex/xsim/xsim-manual.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xsim/xsim_manual.tex b/Master/texmf-dist/doc/latex/xsim/xsim-manual.tex
index 7b1df9ed5dd..329f602acf5 100644
--- a/Master/texmf-dist/doc/latex/xsim/xsim_manual.tex
+++ b/Master/texmf-dist/doc/latex/xsim/xsim-manual.tex
@@ -2,7 +2,7 @@
% !arara: biber
% arara: pdflatex: { interaction: nonstopmode }
% arara: pdflatex: { interaction: nonstopmode }
-% arara: pdflatex: { interaction: nonstopmode }
+% !arara: pdflatex: { interaction: nonstopmode }
% ----------------------------------------------------------------------------
% the XSIM package
%
@@ -13,15 +13,15 @@
% Web: https://github.com/cgnieder/xsim
% E-Mail: contact@mychemistry.eu
% ----------------------------------------------------------------------------
-% Copyright 2017--2020 Clemens Niederberger
+% Copyright 2017--2021 Clemens Niederberger
%
% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
+% conditions of the LaTeX Project Public License, either version 1.3c
% 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.
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008/05/04 or later.
%
% This work has the LPPL maintenance status `maintained'.
%
@@ -33,12 +33,6 @@
\documentclass{xsim-manual}
\begin{filecontents*}[overwrite]{\jobname.bib}
-@online{texsx:romannumeral,
- author = {Bruno Le Floch} ,
- title = {Cunning (La)TeX tricks} ,
- urldate = {2017-03-02} ,
- url = {http://tex.stackexchange.com/a/19769/}
-}
@online{texsx:tagged/exsheets,
title = {Questions tagged `exsheets'} ,
author = {various} ,
@@ -54,33 +48,25 @@
\license
\xsim\ loads the packages \pkg{expl3}~\cite{bnd:l3kernel},
-\pkg{xparse}~\cite{bnd:l3packages}, \pkg{etoolbox}~\cite{pkg:etoolbox},
-\pkg{array}~\cite{pkg:array} \pkg{booktabs}~\cite{pkg:booktabs} and
+\pkg{xparse}~\cite{bnd:l3packages}, \pkg{array}~\cite{pkg:array}
+\pkg{booktabs}~\cite{pkg:booktabs} and
\pkg{translations}~\cite{pkg:translations}. All of these packages are present
on a modern and up to date \TeX\ distribution such as \TeX~Live or MiK\TeX\ so
no further action should be needed. When you are using \xsim\ you should be
using an up to date \TeX\ distribution, anyway.
\begin{bewareofthedog}
+ Please be aware that \xsim\ is in an experimental state and actively
+ developed. Many aspects may change from one update to another until a
+ stable version~1 will be reached. However, I will try my best to keep the
+ interface stable.
+
Newer versions of \xsim\ may depend on newer versions of the support
packages. Remember: it is always dangerous to update single packages.
Always update your \TeX\ distribution if you want an up to date version of a
package. Be careful: if you're in the middle of an important project it
might be better to wait with the update until you've finished the project.
Every update might be breaking some things.
-
- Please also be aware that \xsim\ is actively developed and many things may
- still change. However, I will try my best to keep the interface stable.
-\end{bewareofthedog}
-
-I'm currently thinking to make the option \option{no-files} the default
-behavior of \xsim. There is a poll and discussion regarding this question on
-\xsim's github page if you like to give your opinion on this.
-
-\begin{bewareofthedog}
- The whole collection mechanism is likely to change completely in the
- not-so-far future (let's say sometime in the six months from April~2020 or
- so).
\end{bewareofthedog}
\section{Motivation, Background}
@@ -88,7 +74,7 @@ behavior of \xsim. There is a poll and discussion regarding this question on
It has been quite a while since I first published
\pkg{exsheets}~\cite{pkg:exsheets} in June 2012. Since then it has gained a
user base and a little bit of popularity as the number of questions on tex.sx
-shows (143~at the time of writing)~\cite{texsx:tagged/exsheets}. User
+shows (151~at the time of writing)~\cite{texsx:tagged/exsheets}. User
questions, bug reports and feature requests improved it over the time. It
still has a version number starting with a zero, though, which in my
versioning system means I still consider it experimental.
@@ -140,12 +126,13 @@ meaning in this manual.
probability of possibly faulty exercises after changes to the document.}
The \option{final} option automatically disables this option. See also
sections~\vref{sec:how-exerc-envir} and~\vref{sec:resolve-getting}.
- \opt{no-files}
+ \opt{no-files}\Default{true}
\sinceversion{0.13}This option prevents \xsim\ from writing the exercises
and solutions to external files. This will keep your working folder
``clean'' but will also prevent using verbatim material in exercises and
- solutions and will possibly slow processing further down. \emph{This
- option is considered experimental. Feedback is very welcome.}
+ solutions.
+ \opt{use-files}\Default{false}
+ \sinceversion{0.20}This is the opposite of the option \option{no-files}.
\opt{use-aux}
\sinceversion{0.15}With this option enabled \xsim\ will use the regular
auxiliary file \cs*{jobname}\code{.aux} instead of its own auxiliary file
@@ -158,7 +145,7 @@ meaning in this manual.
Those options are load-time options and are used the usual way as package
options:
\begin{sourcecode}
- \usepackage[verbose]{xsim}
+ \usepackage[use-files]{xsim}
\end{sourcecode}
\begin{bewareofthedog}
Although those options technically belong to the \module{package} module
@@ -271,19 +258,31 @@ More details on those two environments can be found in
section~\vref{sec:using-printing}.
\section{How the Exercise Environments Work}\label{sec:how-exerc-envir}
-Both the exercise and the solution environments write the contents of their
-bodies verbatim to external files following a certain naming structure:
+\sinceversion{0.13}Depending on the options
+\option{no-files}/\option{use-files} the bodies of exercises and solutions is
+either just another property (see section~\vref{sec:exercise-properties}) --
+this is the default behavior -- or is written to an external file.
+
+If the option \keyis{no-files}{true} is set the exercise and solution bodies
+are saved as properties \property{exercise-body} and
+\property{solution-body}. This is the default behavior of \xsim\ since
+version~0.20 and should work fine in most cases. One obvious downsise is that
+verbatim material cannot be used in exercises and solutions.
+
+If the option \keyis{use-files}{true} is set both the exercise and the
+solution environments write the contents of their bodies verbatim to external
+files following a certain naming structure:
\begin{itemize}
\item
- \code{\meta{jobname}-\meta{type}-\meta{id}-exercise|solution-body.tex}
+ \code{\meta{jobname}-\meta{type}-\meta{id}-exercise|solution-body.tex}
\end{itemize}
The name starts with the name of the job (which is the name of the document
itself) followed by type and id of the corresponding exercise and then
followed by the environment type. For example both environments from the first
example have been written to files named
\begin{itemize}
- \item \verbcode+xsim_manual-exercise-1-exercise-body.tex+ and
- \item \verbcode+xsim_manual-exercise-1-solution-body.tex+, respectively.
+ \item \verbcode+xsim-manual-exercise-1-exercise-body.tex+ and
+ \item \verbcode+xsim-manual-exercise-1-solution-body.tex+, respectively.
\end{itemize}
These external files are input when the respective exercise or solution is
printed. An advantage of using external files is that \emph{verbatim material
@@ -298,7 +297,7 @@ it was generated\footnote{In this example the sourcecode line number is
external file where the \env{exercise} environment indeed \emph{was} on
line~1.}:
-\inputsourcecode{exercises/xsim_manual-exercise-1-exercise-body.tex}
+\inputsourcecode{exercises/xsim-manual-exercise-1-exercise-body.tex}
Arguably one downside of the approach using external files for each exercise
and its solution is that your project folder will be cluttered with files. In
@@ -326,19 +325,6 @@ order to deal with this somehow \xsim\ offers the following option:
\end{exercise}
\end{sourcecode}
-If\sinceversion{0.13} you don't like all the external files and the problems
-which come with them \emph{and} if you don't need any verbatim or similar
-material inside the exercises and solutions then you can use the following
-package option:
-\begin{options}
- \opt{no-files}
- This package option prevents \xsim\ from writing the exercises and
- solutions to external files. This will keep your working folder ``clean''
- but will also prevent using verbatim material in exercises and solutions
- and will possibly slow processing further down. \emph{This option is
- considered experimental. Feedback is very welcome.}
-\end{options}
-
\begin{bewareofthedog}
\xsimauxfileinfo
\end{bewareofthedog}
@@ -436,6 +422,12 @@ must) be set. Here is the complete list:
types of exercises sharing a common counter. \emph{This parameter can't
be changed afterwards.} If the explicit or implicit counter does not
exist, yet, it will be defined.
+ \paraval{within}{counter name}
+ \sinceversion{0.20}Adds \parameter{counter} to the reset list of
+ \meta{counter name} by applying \cs*{counterwithin}.
+ \paraval{the-counter}{code}
+ \sinceversion{0.20}Redefines the corresponding representation command
+ \cs*{the...} of \parameter{counter} to \meta{code}.
\paraval{solution-counter}{counter name}
The counter used for the solutions of type \meta{type}. If not explicitly
set the counter with the same name as \parameter{solution-env} is used.
@@ -809,25 +801,32 @@ an exercise:\label{property:print!}
\subsection{What the Environments do}
When an exercise is started with \environ{exercise} (or other environments
-defined through \cs{DeclareExerciseType}) then different things happen
-depending on different settings:
-\begin{itemize}
- \item If the \emph{insert mode} is active nothing happens, see
- section~\vref{sec:collecting-exercises} for details on this.
- \item Else the id integer is incremented.
- \item If the exercise is \emph{used} the corresponding counter is stepped
- and the exercise is added to the \enquote{use list}. The properties
- \property{counter} and \property{use} are updated accordingly.
- \item If an exercise is \emph{printed} then it is also \emph{used}. An
- exercise that isn't used cannot be printed. Being printed means two
- things: being added to the \enquote{print list} and being typeset at the
- position where the exercise is placed in the source file. If an exercise
- is \emph{not printed but used} it means that the counter will be stepped.
- This can be useful for creating an exercise sheet only containing the
- solutions for some exercises.
- \item If an exercise is printed certain hooks and template code is inserted
- around the environment body.
-\end{itemize}
+defined through \cs{DeclareExerciseType}) then three things happen depending
+on the setup:
+\begin{enumerate}
+ \item where the environment is placed in the document the \textbf{base
+ setup} happens: this sets the \property{id} of the exercise and sets the
+ properties chosen in the optional argument.
+ \item in the default setting also the \textbf{usage setup} happens: this
+ increments the counter and sets the counter related properties like
+ \property{counter}. Also the properties related to section numbers and the
+ \property{page} are set.
+ \item in the default setting also the \textbf{print setup} happens: this
+ mostly does nothing. It initiates recording goals that are set inside of
+ the exercise body.
+\end{enumerate}
+
+Depending on wether the option \module{exercise}\code{/}\option{use} has been
+set to \code{false} or wether the property \property{use} has been set to
+\code{false} the \emph{usage setup} can be delayed. The usage the happens
+when the exercise is \emph{inserted} the first time elsewhere in the document,
+for example as part of a collection, see
+section~\vref{sec:collecting-exercises}.
+
+Depending on wether the option \module{exercise}\code{/}\option{print} has
+been set to \code{false} or if the property \property{print} has been set to
+\code{false} the \emph{print setup} can be suppressed. It happens each time
+an exercise is inserted.
\begin{example}
\begin{exercise}[print=false,ID=invisible]
@@ -867,10 +866,14 @@ the environments' names are the module names for the options (here using the
Determines if exercises of type \enquote{exercise} are printed.
\keybool{use}\Module{exercise}\Default{true}
Determines if exercises of type \enquote{exercise} are used.
+ \keybool{collect}\Module{exercise}\Default{false}
+ \sinceversion{0.20}Sets both \option{print} and \option{use} to
+ \code{false} when \keyis{collect}{true} is set and vice versa.
\keyval{within}{counter}\Module{exercise}\Default
- Adds the exercise counter to the reset list of the counter
- \meta{counter}. \emph{Beware that if the counter is a shared counter
- this will affect \emph{all objects} using this counter!}
+ \changedversion{0.20}Adds the exercise counter to the reset list of the
+ counter \meta{counter} using \cs*{counterwithin}. \emph{Beware that if
+ the counter is a shared counter this will affect \emph{all objects}
+ using this counter!}
\keyval{the-counter}{code}\Module{exercise}
An interface for redefining the counter representation command
\cs*{the\meta{counter}}.
@@ -940,55 +943,82 @@ existing exercise, \ie, every exercise whose external file exists.
\section{Collecting Exercises}\label{sec:collecting-exercises}
\begin{bewareofthedog}
- The whole collection mechanism is likely to change completely in the
- not-so-far future (let's say sometime in the six months from April~2020 or
- so).
+ The whole collection mechanism has been changed completely with
+ version~0.20. Please check this section carefully and update and adapt your
+ collections.
\end{bewareofthedog}
\subsection{Background}
-\xsim\ knows the concept of \enquote{exercise collections}. A collection of
-exercises can be useful when you want to print a certain group of exercises
-several times. Each collection must have a unique name with which you can
-refer to the corresponding collection. A collection is realized by declaring
-the collection and by surrounding the exercises belonging to the collection
-with a certain pair of commands (this is explained in the next section).
-
-Let's say you have several files of math exercises where one only contains
-geometry exercises and another only calculus exercises and so on. Surrounding
-the \cs*{input} of each file with said pair of commands for a certain
-collection all exercises of the corresponding file now are a collection which
-then can be printed at once whereever you want the collection of exercises to
-be printed. By choosing certain tags (see section~\vref{sec:tags}) inside
-each collection you could even cherry-pick exercises from the external file.
+\xsim\ knows the concept of \emph{exercise collections}. A collection of
+exercises can be used in two cases, basically:
+\begin{enumerate}
+ \item When you want to print a certain group of exercises several times. In
+ this case you add the exercise to a collection while also using it in the
+ running text. Somewhere later (or earlier actually) in the document you
+ can the reprint the collection\footnote{There is another way to do that,
+ but\dots}.
+ \item If you only want to print exercises which have certain tags. Maybe
+ you have some kind of exercise library in an external which you include
+ into you document and want to print only those exercises which fit
+ certain conditions.
+\end{enumerate}
+Each collection must have a unique name with which you can refer to the
+corresponding collection. A collection is realized by declaring the
+collection in the preamble and by activating the collection.
\subsection{Usage}
+\subsubsection{Declaring collections}
\emph{A collection must be declared in the preamble.} Using a pair of
commands explained below exercises between those commands are added to the
corresponding collection but not printed. After a collection is completed the
collection can be printed as often as needed.
\begin{commands}
- \command{DeclareExerciseCollection}[\marg{collection name}]
+ \command{DeclareExerciseCollection}[\oarg{tag values}\marg{collection name}]
Define a new collection \meta{collection name} in the document preamble.
- \command{collectexercisestype}[\marg{collection name}\marg{exercise type}]
- Opens the collection \meta{collection name} which now collects all
- exercises of type \meta{exercise type} until the collection is closed with
- \cs{collectexercisesstop}. Collections of other types are not
- collected\footnote{This command starts a group with
- \cs*{begingroup}!}.
+ An example could look like this:
+ \cs{DeclareExerciseCollection}\Oarg{topics=algebra,level=1}\Marg{easy-algebra}.
+ Choosing tags automatically activates the collection which means that all
+ exercises which fit the tags are automatically added to the new
+ collection.
+\end{commands}
+
+\subsubsection{Activating collections}
+If a collection is not activated per default in can be activated (or
+deactivated in the opposite case) with these commands:
+\begin{commands}
+ \command{activatecollection}[\marg{collection name}]
+ \sinceversion{0.20}Activates the collection \meta{collection name} which
+ now collects all exercises until the collection is
+ deactivated. \meta{collection name} can be a csv list of collection
+ names.
+ \command{deactivatecollection}[\marg{collection name}]
+ \sinceversion{0.20}Deactivates the collection \meta{collection name}.
+ \meta{collection name} can be a csv list of collection names.
+\end{commands}
+These commands do not influence exercises in other ways other than adding them
+to collections.
+\begin{commands}
\command{collectexercises}[\marg{collection name}]
- Opens the collection \meta{collection name} which now collects all
- exercises until the collection is closed with
- \cs{collectexercisesstop}\footnote{This command starts a group with
- \cs*{begingroup}!}.
+ Activates the collection \meta{collection name} which now collects all
+ exercises until the collection is deactivated, starts a group with
+ \cs*{begingroup} and sets the option \option{collect}, see below.
\command{collectexercisesstop}[\marg{collection name}]
- Closes the collection \meta{collection name}\footnote{This command ends
- a group with \cs*{endgroup}!}.
+ Deactivates the collection \meta{collection name} and ends a group with
+ \cs*{endgroup}.
+\end{commands}
+\begin{options}
+ \keybool{collect}\Default{false}
+ A shortcut option which sets the options
+ \module{\meta{type}}\code{/}\module{collect} for each exercise type.
+\end{options}
+
+\subsubsection{Printing collections}
+\begin{commands}
\command{printcollection}[\oarg{options}\marg{collection name}]
Prints the collection \meta{collection name}, \ie, all exercises collected
earlier. This command cannot be used before the corresponding collection
has been closed correctly.
\end{commands}
-
Valid options are the following:
\begin{options}
\keybool{headings}\Module{print-collection}\Default{false}
@@ -1042,11 +1072,11 @@ You can open several collections at the same time:
\begin{sourcecode}
\collectexercises{foo}
...
- \collectexercisestype{bar}{exercises}
+ \activatecollection{bar}
...
- \collectexercisesstop{bar}
+ \deactivatecollection{foo}
...
- \collectexercisesstop{foo}
+ \collectexercisesstop{bar}
\end{sourcecode}
Exercises will be added to each open collection.
@@ -1589,9 +1619,7 @@ yourself in order to achieve certain layouts\footnote{I plan to incorporate
Returns \meta{true} if both a macro \cs*{chapter} and a counter
\code{chapter} are defined and \meta{false} otherwise.
\command{XSIMmixedcase}[\marg{code}]
- Converts the full expansion\footnote{This is a \cs*{romannumeral}
- expansion~\cite{texsx:romannumeral}.\label{fn:romannumeral}} of
- \meta{code} to mixed case: \\
+ Converts the full expansion of \meta{code} to mixed case: \\
\verbcode+\XSIMmixedcase{this is some text}+ \XSIMmixedcase{this is some
text} \\
\emph{This command expands \meta{code} before converting it}.
@@ -1601,16 +1629,16 @@ yourself in order to achieve certain layouts\footnote{I plan to incorporate
macro \cs*{g@addto@macro}.
\expandable\command{XSIMifeq\TF}[\marg{code 1}\marg{code
2}\marg{true}\marg{false}]
- Checks if the full expansion\footref{fn:romannumeral} of \meta{code 1} and
- \meta{code 2} is the same tokenlist.
+ Checks if the full expansion of \meta{code 1} and \meta{code 2} is the
+ same tokenlist.
\expandable\command{XSIMifblank\TF}[\marg{code}\marg{true}\marg{false}]
- Checks if the full expansion\footref{fn:romannumeral} of \meta{code} is
- blank (\ie, if it is empty or only consists of spaces).
+ Checks if the full expansion of \meta{code} is blank (\ie, if it is empty
+ or only consists of spaces).
\command{XSIMatbegindocument}[\marg{code}]
- \sinceversion{0.15a}Adds \meta{code} to \xsim's begin document hook.
+ \sinceversion{0.16}Adds \meta{code} to \xsim's begin document hook.
Should be used inside style files instead of \cs*{AtBeginDocument}.
\command{XSIMatenddocument}[\marg{code}]
- \sinceversion{0.15a}Adds \meta{code} to \xsim's end document hook.
+ \sinceversion{0.16}Adds \meta{code} to \xsim's end document hook.
Should be used inside style files instead of \cs*{AtEndDocument}.
\end{commands}
@@ -1918,8 +1946,7 @@ vertical layout.
\DeclareExerciseTableTemplate{default}{%
\XSIMputright\ExerciseTableCode{%
\toprule
- \XSIMifblankTF{\ExerciseType}
- {}
+ \XSIMifblankF{\ExerciseType}
{\XSIMmixedcase{\GetExerciseParameter{exercise-name}}}
&
\XSIMmixedcase{\XSIMtranslate{points}} &
@@ -1927,19 +1954,17 @@ vertical layout.
\midrule
}%
\ForEachUsedExerciseByType{%
- \XSIMifeqTF{#1}{\ExerciseTableType{#1}}
+ \XSIMifeqT{#1}{\ExerciseTableType{#1}}
{%
- \XSIMifblankTF{\ExerciseType}
+ \XSIMifblankT{\ExerciseTableType{}}
{%
\XSIMputright\ExerciseTableCode{%
\XSIMmixedcase{\ExerciseParameterGet{#1}{exercise-name} }%
}%
- }
- {}%
+ }%
\XSIMputright\ExerciseTableCode
{#3 & \XSIMifblankTF{#5}{\printgoal{0}}{\printgoal{#5}} & \\ }%
- }
- {}%
+ }%
}
\XSIMputright\ExerciseTableCode{%
\midrule
@@ -1979,24 +2004,21 @@ layout.
\DeclareExerciseTableTemplate{default*}{%
\XSIMputright\ExerciseTableCode{%
\toprule
- \XSIMifblankTF{\ExerciseType}
- {}
+ \XSIMifblankF{\ExerciseType}
{\XSIMmixedcase{\GetExerciseParameter{exercise-name}}}
&%
}%
\ForEachUsedExerciseByType{%
- \XSIMifeqTF {#1} { \ExerciseTableType {#1} }
+ \XSIMifeqT{#1}{\ExerciseTableType{#1}}
{
- \XSIMifblankTF{\ExerciseType}
+ \XSIMifblankT{\ExerciseTableType{}}
{%
\XSIMputright\ExerciseTableCode{%
\XSIMmixedcase{\ExerciseParameterGet{#1}{exercise-name} }%
}%
- }
- {}%
+ }%
\XSIMputright\ExerciseTableCode{#3 &}
- }
- {}%
+ }%
}%
\XSIMputright\ExerciseTableCode{%
\XSIMtranslate{total} \\
@@ -2004,12 +2026,11 @@ layout.
\XSIMmixedcase{\XSIMtranslate{points}} &
}%
\ForEachUsedExerciseByType{%
- \XSIMifeqTF{#1}{\ExerciseTableType{#1}}
+ \XSIMifeqT{#1}{\ExerciseTableType{#1}}
{%
\XSIMputright\ExerciseTableCode{%
\XSIMifblankTF{#5}{\printgoal{0}}{\printgoal{#5}} &}%
- }
- {}%
+ }%
}%
\XSIMputright\ExerciseTableCode{%
\XSIMifblankTF{\ExerciseType}
@@ -2019,12 +2040,11 @@ layout.
\XSIMtranslate{reached} &%
}%
\ForEachUsedExerciseByType{%
- \XSIMifeqTF{#1}{\ExerciseTableType{#1}}
- {\XSIMputright\ExerciseTableCode{&}}
- {}%
+ \XSIMifeqT{#1}{\ExerciseTableType{#1}}
+ {\XSIMputright\ExerciseTableCode{&}}%
}%
\XSIMputright\ExerciseTableCode{ \\ \bottomrule }%
- \def\numberofcolumns{%
+ \edef\numberofcolumns{%
\XSIMifblankTF{\ExerciseType}
{\numberofusedexercises}
{\csname numberof \ExerciseType s\endcsname}%
@@ -2192,14 +2212,11 @@ especially regarding other layouts are also shown in example files added to
this package.
\subsection{\dots Know if \xsim\ Needs Another Compilation?}
-If \xsim\ wants you to recompile your document it writes the following to the
-logfile:
+If \xsim\ wants you to recompile your document it issues a warning and writes
+the following to the logfile:
\begin{sourcecode}
- *************************************************
- * xsim warning: "rerun"
- *
- * Exercise properties may have changed. Rerun to get them synchronized.
- *************************************************
+ Package xsim Warning: Exercise properties may have changed. Rerun to get them
+ (xsim) synchronized.
\end{sourcecode}
So just check the logfile regularly (which you should be doing anyway) and
keep your eyes open.
@@ -2216,14 +2233,15 @@ compilations may resolve your problems.
\subsection{\code{! TeX capacity exceeded, sorry [text input levels=15].}
Why?}
Did you try to use an exercise or solution in a macro of some sort? This
-generally will fail\footnote{The reasons are similar to the ones given here:
+generally will fail if you also use the option \option{use-files}\footnote{The
+ reasons are similar to the ones given here:
\url{https://tex.stackexchange.com/a/295422/}.}. But there should never be
the need to hide the environments inside of a macro, anyway.
\subsection{\code{Runaway argument? !File ended while scanning use of \^{}\^{}M.} Why?}
Did you try to use an exercise or solution in a macro of some sort? This
-generally will fail. But there should never be the need to hide the
-environments inside of a macro, anyway.
+generally will fail if you also use the option \option{use-files}. But there
+should never be the need to hide the environments inside of a macro, anyway.
\subsection{\dots Put a Star (or Another Symbol) in Headings of Exercises That
Are Special?}
diff --git a/Master/texmf-dist/doc/latex/xsim/xsim.ideas b/Master/texmf-dist/doc/latex/xsim/xsim.ideas
deleted file mode 100644
index b23ebec899f..00000000000
--- a/Master/texmf-dist/doc/latex/xsim/xsim.ideas
+++ /dev/null
@@ -1,29 +0,0 @@
---------------------------------------------------------------------------
-
-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.
---------------------------------------------------------------------------
-
-IDEAS:
-
-- a document class `xsim-exam' for creating exams
-- a mechanism for providing variants of an exam
-