0

I am using the isov2 document class and are using four \note{s in one clause.

The isov2 documentation says:

NOTE 4 - Similarly, you may get the message! Too deeply nested - Again, hit <return> and processing should continue. However, the indentation of later lists may not be correct.

How do I rather change this error into a bad style warning, as it should be?

\documentclass[wd,a4paper,copyright]{isov2}
\begin{document}
\clause{Resiliant MWE}
\note{one}
\note{two}
\note{three}
\note{four}
\note{five}
\note{six}
\note{one too many}
\sclause{Giving:}

\begin{verbatim}
Clause: 1

! LaTeX Error: Too deeply nested.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.10 \note
          {one too many}
You're in trouble here.  Try typing  <return>  to proceed.
If that doesn't work, type  X <return>  to quit.    
\end{verbatim}
\end{document}
4
  • 1
    Can you please add a minimal example showing the issue?
    – egreg
    Commented Aug 19, 2021 at 20:06
  • untested as you provide no example but \makeatletter\def\@toodeep{\ClassWarning{isov2}{list nesting too deep}} \makeatother probably does what you ask Commented Aug 19, 2021 at 20:19
  • @DavidCarlisle \makeatletter\def\@toodeep{\@latex@warning{Isov2 note list nesting too deep}} \makeatother also throws warning in Overleaf - thanks. Please post answer.
    – skvery
    Commented Aug 19, 2021 at 23:00
  • 1
    @skvery overleaf is unrelated to this error handling, that is just hosting a standard tex distribution so you would get the sam eerror behaviour in any tex system. Commented Aug 19, 2021 at 23:25

1 Answer 1

3

You are essentially using an incorrect markup...

The class defines a note environment. While \newenvironment{note} does define a \note and \endnote pair, you're only using the opening command-like form without a accompanying closing (\endnote). Since you're not closing the note off properly, your successive calls to \note opens up nested lists up until a point where it causes the error (when it's too deeply nested). You should rather use the following setup:

enter image description here

\documentclass{isov2}

\begin{document}

\clause{Resiliant MWE}
\begin{note}
  one
\end{note}
\begin{note}
  two
\end{note}
\begin{note}
  three
\end{note}
\begin{note}
  four
\end{note}
\begin{note}
  five
\end{note}
\begin{note}
  six
\end{note}
\begin{note}
  not too many
\end{note}

\end{document}

For more on notes, see section 6.3.2 Notes of the iso documentation.


You can change note to be usable as a command in the following way:

% Copy note environment into oldnote environment
\let\oldnote\note
\let\endoldnote\endnote
% Change \note to take a single argument and pass it to (new) oldnote environment
\renewcommand{\note}[1]{%
  \begin{oldnote}
    #1
  \end{oldnote}%
}
3
  • Is there a macro I can use to change \note into \begin{note} and \end{note}. As I recall the isov2 documentation uses \note, \anote, \example and \anexample as samples in the document.
    – skvery
    Commented Aug 20, 2021 at 9:39
  • 1
    @skvery I only see note as an environment in the isov2 documentation, see the link in Werner's answer. \note is already defined as the internal implementation of \begin{note} (as happens for all environments) so you can't easily define it with a different syntax. Commented Aug 20, 2021 at 9:48
  • @skvery: I've made an addendum to my answer (at the end) where it shows how you can change the note environment into a command.
    – Werner
    Commented Aug 20, 2021 at 16:30

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .