# How to make svmono class work with exsheets package?

I've been writing notes in tufte-book class, but it keeps giving me unidentifiable errors. So I'm changing to svmono class. The problem is that it doesn't seem to work with exsheets package. To produce both a handout and notes for myself, the exsheets package is the best solution I found. So, I need this package.

Some of the errors are as follows:

Undefined control sequence.
/usr/local/texlive/2014/texmf-dist/tex/latex/exsheets/exsheets.sty, line 213
<argument> \@cntfmts@err@counter@defined
{question}
l.213 ...Pattern* [ exsheets ] { question } { qu }

The control sequence at the end of the top line of your error message was never
\def'ed. If you have misspelled it (e.g., \hobx'), type I' and the correct spelling
(e.g., I\hbox'). Otherwise just continue, and I'll forget about
whatever was undefined.

/usr/local/texlive/2014/texmf-dist/tex/latex/exsheets/exsheets.sty, line 2770
! LaTeX error: "xparse/environment-already-defined"
! Environment 'question' already defined!
! See the LaTeX3 documentation for further information.
! For immediate help type H <return>.

l.2770 \DeclareQuestionProperty
{counter}
| You have used \NewDocumentEnvironment with an environment that already has a
| definition.
| The existing definition of 'question' will be overwritten.


MWE:

\documentclass[envcountsame,envcountchap]{svmono}
\usepackage{amsmath}
\usepackage{exsheets}
\NewQuSolPair{example}[name=Example]{examplesol}

\begin{document}

\mainmatter
\chapter{Integer}
\section{The Division Algorithm}
\begin{theorem}
Given integers $a$ and $b$, with $b>0$ there exist unique integers $q$ and
$r$ satisfying $a=qb+r\ (0 \leq r <b).$ The integers $q$ and $r$ are called,
respectively, the quotient and remainder in the division of $a$ by $b$.
\end{theorem}
\end{document}


What should I do?

• I don't have the svmono class but the problem sounds very similar to this one: beamer + exsheets package I imagine the solution is similar, too. – clemens Aug 16 '14 at 9:57
• With your solution, other errors are sorted out (question/solution/example), and the last one is as follows: "Undefined control sequence. /usr/local/texlive/2014/texmf-dist/tex/latex/exsheets/exsheets.sty, line 213 <argument> \@cntfmts@err@counter@defined" – user150246 Aug 16 '14 at 12:48
• That's due to two reasons: 1) a bug in the cntformats package. 2) because the question counter is already defined when you load exsheets. Add \undef\thequestion to your preamble and you should be fine. (\undef is provided by the etoolbox package which is loaded by cntformats) – clemens Aug 16 '14 at 12:56
• Thank you. By adding \usepackage{cntformats} and \undef\thequestion, everything is resolved. – user150246 Aug 16 '14 at 13:03
• \usepackage{cntformats} is redundant: it is already loaded by exsheets – clemens Aug 16 '14 at 13:06

The svmono class already defines environments {question} and {solution} In order to make exsheets work the essential macros from these environments must be undefined:

\documentclass{svmono}

\usepackage{etoolbox}
\undef\thequestion
\undef\question
\undef\solution

\usepackage{exsheets}

\begin{document}
\end{document}


Note that \NewQuSolPair{example}[name=Example]{examplesol} will also lead to an error because svmono also defines an environment example`.