GithubHelp home page GithubHelp logo

Comments (4)

cgnieder avatar cgnieder commented on May 20, 2024

Please, can you reduce this into one compilable file (maybe with a filecontents environment for a necessary second file) and lets say maximum three exercises, that I can use reproduce the issue in one go?

from xsim.

N-Coder avatar N-Coder commented on May 20, 2024

There is one: test1.tex in the linked gist is independently compileable, no need for additional files or filecontents. The other files in the gist are just my attempt of solving the issue in test2.tex and the .aux files generated when compiling the respective tex files. All the code listings above are just excerpts from the files in the gist.

If you need an example that is really as minimal as it can get, use this one and ignore everything said above 😉

\documentclass{article}

\usepackage{xsim}

\DeclareExerciseProperty!{title}
\newcommand{\printexercisewithtitle}[1]{%
	\edef\foundid{\GetExerciseIdForProperty{title}{#1}}%
	\printexercise{exercise}{\foundid}%
}

\DeclareExerciseCollection{foo}

\begin{document}

\collectexercises{foo}
\begin{exercise}[title={Erste},subtitle={Die Erste}]
The first exercise is added to the collection `foo'.
\end{exercise}
\begin{exercise}[title={Zweite},subtitle={Die Zweite}]
The second exercise is also added to the collection `foo'.
\end{exercise}
\collectexercisesstop{foo}

\printexercisewithtitle{Erste}
\printexercisewithtitle{Zweite}

\printexercise{exercise}{1}
\printexercise{exercise}{2}

\end{document}

The output looks like this:
image
I would expect to see identical exercises 1 and 2 twice, but the first ones are not numbered correctly and don't have a title.

from xsim.

N-Coder avatar N-Coder commented on May 20, 2024

The issue seems to be similar to what you explained here on stackexchange.
My understanding was that only the parameter would need expansion (as in \printexercise{exercise}{\XSIMexpandcode{\foundid}}), but actually the whole printexercise thing needs expansion for some reason: \XSIMexpandcode{\printexercise{exercise}{\exid}}.
Maybe putting the code with the correct order of expansion from the stackexchange question as example right next to \printexercise in the XSIM documentation would also prevent others from running into this problem.

from xsim.

cgnieder avatar cgnieder commented on May 20, 2024

You are right, this is the same issue. I'll add \xprintexercise as a shortcut for \XSIMexpandcode{\printexercise{}{}} to the next release.

from xsim.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.