Un attimo, forse non mi sono spiegato bene…
Partendo dal newtheorem sovradefinito, se chiamerò:
`\begin{PROB} … \end{PROB}`
avrò come risultato:
Problema 1.1.1 …
Per altre due chiamate avrò un incremento dell’ULTIMO numero, cioè una successione:
Problema 1.1.2 …, Problema 1.1.3 …
A questo punto vorrei dare due formulazioni diverse delle stesso problema, quindi non vorrei un Problema 1.1.4 e un Problema 1.1.5, ma un Problema 1.1.4a e un Problema 1.1.4b. Ora, se io volessi fare questa cosa con due equazioni, sarebbe sufficiente racchiuderle dentro un sovraenvironment `\begin{subequations} … \end{subequations}` Che cosa bisogna fare invece per ottenere questo risultato con i newtheorem? Chiaramente, per le chiamate successive, vorrei si ripristinasse la numerazione di default, cioè:
Problema 1.1.5 …, Problema 1.1.6 …, etc.
Imitiamo la definizione di subequations
`\makeatletter
\newcounter{parentenv}
\newenvironment{subnumber}[1]
{\refstepcounter{#1}%
\protected@edef\theparentenv{\csname the#1\endcsname}%
\setcounter{parentenv}{\value{#1}}%
\setcounter{#1}{0}%
\expandafter\def\csname the#1\endcsname{\theparentenv\alph{#1}}%
\def\keep@argument{#1}%
\ignorespaces
}{%
\setcounter{\keep@argument}{\value{parentenv}}%
\ignorespacesafterend
}
\makeatother`
Come si usa?
`\begin{subnumber}{PROB}
\begin{PROB}
Sottoproblema a
\end{PROB}
\begin{PROB}
Sottoproblema b
\end{PROB}
\end{subnumber}`
Ciao
Enrico