Il codice è quasi perfetto. Va limata una cosa sola: nelle sottodidascalie esce sempre “(a)” e non “(a)” per la prima, “(b)” per la seconda e così via.
Come posso risolvere?
Purtroppo il comando \ContinuedFloat fa una cosa che rovina tutto: esegue \addtocounter{figure}{-1} e poi lascia che \caption esegua \refstepcounter{figure} e questo implica che i contatori a esso legati vengono azzerati, in particolare “mysubcaption”.
`\newcounter{mysubcaption}
\renewcommand{\themysubcaption}{\alph{mysubcaption}}
\newcommand{\subcaption}[1]{\par\vspace{\medskipamount}
\refstepcounter{mysubcaption}
{(\themysubcaption)\enspace#1}}
\newenvironment{cfigure}
{\begin{figure}[p]\ContinuedFloat}
{\end{figure}}
\newenvironment{nfigure}
{\begin{figure}[p]\setcounter{mysubcaption}{0}}
{\end{figure}}
…
\begin{nfigure}
\centering
\includegraphics{…}
\subcaption{$\mu=0.1$}\label{sub1}
\caption{Caption}\label{cap1}
\end{nfigure}
\begin{cfigure}
\centering
\includegraphics{…}
\subcaption{$\mu=0.2$}\label{sub2}
\caption{Caption (continued)}
\end{cfigure}`
In altre parole, invece di usare \ContinuedFloat in un ambiente figure, usi l’ambiente cfigure; per una nuova figura usi nfigure.
Ciao
Enrico