cgnieder / xsim

eXercise Sheets IMproved
67 stars 23 forks source link

\collectexercises does not work as expected #95

Closed mschneiderwng closed 2 years ago

mschneiderwng commented 2 years ago

From the description in the manual on page 25, I would expect that the collection easy-algebra now contains all exercises of file exercises.tex tagged with topics=algebra. However, all exercises are printed.

\documentclass[a4paper]{article}
\usepackage[use-aux]{xsim}

\DeclareExerciseTagging{level}
\DeclareExerciseCollection{easy-algebra}

\begin{filecontents}{exercises.tex}
    \begin{exercise}[topics=algebra, level=1]
        algebra question 1 level=1
    \end{exercise}
    \begin{exercise}[topics=calculus, level=1]
        calculus question 1 level=1
    \end{exercise}
    \begin{exercise}[topics=algebra, level=2]
        algebra question 2 level=2
    \end{exercise}
\end{filecontents}

\begin{document}
\section{Exercises}

\collectexercises{easy-algebra}
\xsimsetup{topics=algebra}
\input{exercises.tex}
\collectexercisesstop{easy-algebra}

\printcollection{easy-algebra}

\end{document}
cgnieder commented 2 years ago

Hm. This is clearly a bug…

cgnieder commented 2 years ago

This is resolved for the next release, provided the correct usage:

\documentclass[a4paper]{article}
\usepackage[use-aux]{xsim}

\DeclareExerciseTagging{level}
\DeclareExerciseCollection[topics=algebra]{algebra}

\xsimsetup{
  collect
}

\begin{document}

\section{Exercises}

\collectexercises{algebra}
\begin{exercise}[topics=algebra, level=1]
  algebra question 1 level=1
\end{exercise}
\begin{exercise}[topics=calculus, level=1]
  calculus question 1 level=1
\end{exercise}
\begin{exercise}[topics=algebra, level=2]
  algebra question 2 level=2
\end{exercise}
\collectexercisesstop{algebra}

\printcollection{algebra}

\end{document}

grafik