[Tex/LaTex] How to customize the exercise package

exercises

\documentclass[a4paper,11pt]{book}
\usepackage{hyperref}
\usepackage[lastexercise,answerdelayed,exercisedelayed]{exercise}
\renewcommand{\AnswerName}{Exercise}


\begin{document}
{


\tableofcontents
\mainmatter

\chapter{Classical physics}
\section*{The good old days}
For every $\epsilon>0$
\begin{Exercise}[label={afaff}, name={Exercice}, difficulty={1}]
sfsf
\end{Exercise}
\begin{Answer}
aggsg f
\end{Answer}


\chapter{Modern physics}
\section*{Departure from classical physics}
There exists a $\delta>0$
\begin{Exercise}[label={dghd}, name={Exercice}, difficulty={2}]
b7dyfas789
\end{Exercise}
\begin{Answer}
hjsdgfkihsk 
\end{Answer}


\chapter{Neoclassical physics}
\section{Guess who's back}
\begin{Exercise}[label={NQCD}, name={Exercice}, difficulty={3}]
skjhfkshf
\end{Exercise}
\begin{Answer}
b78asghfkighkia
\end{Answer}


\part{Exercises}
\shipoutExercise

\part{Solutions}
\shipoutAnswer


\end{document}

In the last two parts, the exercises are shown without any reference to the chapters. How can I make them like this:

Chaptername

its exercises

chaptername

its exercises

etc

Best Answer

Maybe you would like to number to exercises within chapters.

I've used xassoccnt to print the total number of exercises.

I've modified \ExerciseHeader and \AnswerHeader to print the Chapter number and name before its exercises when you ship out them.

\documentclass[a4paper,11pt]{book}
\usepackage[lastexercise,answerdelayed,exercisedelayed]{exercise}
\renewcommand{\ExerciseName}{Exercice}
\renewcommand{\AnswerName}{Exercice}
\usepackage{totcount}
\regtotcounter{Exercise} % register the counter for getting the total
\usepackage{chngcntr}
\counterwithin{Exercise}{chapter}
\counterwithin{Answer}{chapter}
\usepackage{xassoccnt}
\NewTotalDocumentCounter{totalex}
\usepackage{titleref}
\usepackage{etoolbox}
\renewcommand{\ExerciseHeader}{ \stepcounter{totalex}\ifnumcomp{\value{Exercise}}{=}{1}{\ifnumcomp{\thechapter}{=}{1}{}{\vspace{10pt}}\noindent\Large\textbf{Chapter\ \thechapter\ \currenttitle}\par\vspace{10pt}}{}\noindent\normalsize\bfseries\ExerciseName\ \ExerciseHeaderNB\ \ExerciseHeaderDifficulty\par\medskip}
\renewcommand{\AnswerHeader}{\ifnumcomp{\value{Exercise}}{=}{1}{\ifnumcomp{\thechapter}{=}{1}{}{\vspace{10pt}}\noindent\Large\textbf{Chapter\ \thechapter\ \currenttitle}\par\vspace{10pt}}{}\noindent\normalsize\bfseries\AnswerName\ \ExerciseHeaderNB\ \ExerciseHeaderDifficulty\par\medskip}

\usepackage{hyperref}

\begin{document}
This document contains \TotalValue{totalex} solved exercises.

\tableofcontents
\mainmatter

\chapter{Classical physics}
\makeatletter

\makeatother
\section*{The good old days}
For every $\epsilon>0$
\begin{Exercise}[label={afaff}, difficulty={1}]
sfsf
\end{Exercise}
\begin{Answer}
aggsg f
\end{Answer}
\begin{Exercise}[difficulty={2}]
another exercise
\end{Exercise}
\begin{Answer}
another answer
\end{Answer}
\begin{Exercise}[difficulty={1}]
one more exercise
\end{Exercise}
\begin{Answer}
one more answer
\end{Answer}
\chapter{Modern physics}
\section*{Departure from classical physics}
There exists a $\delta>0$
\begin{Exercise}[label={dghd}, difficulty={2}]
b7dyfas789
\end{Exercise}
\begin{Answer}
hjsdgfkihsk 
\end{Answer}

\chapter{Neoclassical physics}
\section{Guess who's back}
\begin{Exercise}[label={NQCD}, difficulty={3}]
skjhfkshf
\end{Exercise}
\begin{Answer}
b78asghfkighkia
\end{Answer}

\part{Exercises}
\shipoutExercise

\part{Solutions}
\shipoutAnswer

\end{document}

enter image description here

enter image description here

Related Question