diff options
Diffstat (limited to 'macros/latex/contrib/xsim/examples/xsim.crossref.tex')
-rw-r--r-- | macros/latex/contrib/xsim/examples/xsim.crossref.tex | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/macros/latex/contrib/xsim/examples/xsim.crossref.tex b/macros/latex/contrib/xsim/examples/xsim.crossref.tex new file mode 100644 index 0000000000..0a6c8f4eab --- /dev/null +++ b/macros/latex/contrib/xsim/examples/xsim.crossref.tex @@ -0,0 +1,60 @@ +\documentclass{article} +\usepackage{xsim,lipsum,hyperref} + +\DeclareExerciseHeadingTemplate{custom} + {\section{\XSIMexpandcode{\XSIMtranslate{default-heading}}}} + +\DeclareExerciseEnvironmentTemplate{custom} + {% + \IfInsideSolutionTF + {\label{sol:\ExerciseID}} + {\label{ex:\ExerciseID}} + \subsection* + {% + \XSIMmixedcase{\GetExerciseName}% + \IfInsideSolutionTF + { + to \GetExerciseParameter{exercise-name}% + ~\GetExerciseProperty{counter}% + } + {% + ~\GetExerciseProperty{counter} + \GetExercisePropertyT{subtitle} + { {\normalfont\itshape\PropertyValue}}% + }% + } + \noindent\llap{% + \footnotesize\sffamily + \IfInsideSolutionTF + {% + \XSIMmixedcase{\GetExerciseParameter{exercise-name}} + on page~\pageref{ex:\ExerciseID}.% + } + {% + \XSIMmixedcase{\GetExerciseParameter{solution-name}} + on page~\pageref{sol:\ExerciseID}.% + }% + \hspace*{\marginparsep}% + }% + } + {} +\xsimsetup{ + exercise/template = custom , + solution/template = custom , + print-solutions/headings-template = custom +} + +\begin{document} + +\section{Exercises} +\begin{exercise} + \lipsum[4] +\end{exercise} +\begin{solution} + \lipsum[4] +\end{solution} + +\clearpage +\printsolutions + +\end{document} |