Dopo aver studiato un po’ il problema e aver capito come funziona il comando \vsplit sono riuscito a far quello che volevo, cambiare l’ordine delle pagine comporre, all’occorrenza l’indice con un rimando all’interno se l’indice stesso era più lungo di una pagina.
Vi posto un esempio minimo che ho utilizzato come caso studio per capire il funzionamento di vsplit e di come venissero gestite ordine ecc.
`
\documentclass{article}
\usepackage{lipsum,calc}
\begin{document}
\setlipsumdefault{1-3}
\newlength{\paginamax} \setlength{\paginamax}{\textheight-15pt}
%riempio il box
\newbox\contenuto
\newbox\copia
\newbox\primapagina
\setbox\contenuto=\vbox{\lipsum}
%creo una copia dei contenuti
\setbox\copia=\copy\contenuto
%controllo che il box ecceda una pagina
\setbox201=\vsplit\copia to \textheight
\ifvoid\copia
%il contenuto è vuoto compongo la pagina con il contenuto così com'è…
\thispagestyle{empty}
\box\contenuto
\else
%richiedo lo splitting del box e creo la prima pagina
\setbox\primapagina=\vsplit\contenuto to \paginamax
\setbox\primapagina=\vbox{\unvbox\primapagina\par\hfill\footnotesize{(continua…)}}
% il contenuto rimanente è nella seconda pagina
\box\contenuto
%definisco il nuovo stile
\newpage
\thispagestyle{empty}
\box\primapagina
\fi
\end{document}
`
Spero possa essere utile ad altri, ed aspetto consigli su come risolvere in modo più furbo.
Grazie e ciao 🙂