Salve a tutti, ho un problema dovuto all’uso in contemporanea dei pacchetti subfig e float, quando quest’ultimo viene utilizzato per applicare lo stile ruled agli ambienti figure.
Un documento minimo è questo:
`\documentclass[a4paper,oneside]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{csquotes}
\usepackage[italian]{babel}
\usepackage{graphicx}
\usepackage{float}
\usepackage{subfig}
\usepackage{hyperref}\floatstyle{ruled}
\restylefloat{figure}\graphicspath{{images/}}
\begin{document}
\begin{figure}
\centering
\subfloat[CreatePassword.]{ \includegraphics[width=0.45\columnwidth]{createpassword} \label{fig:createpassword} }\quad
\subfloat[NotInstalled.]{ \includegraphics[width=0.45\columnwidth]{notinstalled} \label{fig:notinstalled} } \\
\subfloat[Login.]{ \includegraphics[width=0.45\columnwidth]{login} \label{fig:login} } \quad
\subfloat[HiddenContent.]{ \includegraphics[width=0.45\columnwidth]{hiddencontent} \label{fig:hiddencontent} }
\caption{Le activity dell'applicazione (parte 1).}
\label{fig:activities1}
\end{figure}\ref{fig:createpassword}, \ref{fig:notinstalled}, \ref{fig:login}, \ref{fig:hiddencontent}
\ref{fig:activities1}
\end{document}`
Il documento viene compilato senza errori, ma le 4 subfigure vengono numerate come 0a, 0b, 0c e 0d invece che 1a, 1b, 1c, 1d. Se si commenta la riga “\restylefloat{figure}” allora la numerazione è corretta. La cosa curiosa è che in entrambi i casi il link generato da hyperref funziona correttamente.
Sapete come posso risolvere?
`\floatstyle{ruled}
\restylefloat{figure}
\captionsetup[figure]{position=bottom}
\makeatletter
\renewcommand{\p@subfigure}{\arabic{figure}}
\makeatletter`
Il comando \captionsetup è necessario perché così subfig sa quando assegnare il valore al numero della figura. Evidentemente con il \restylefloat{figure} la corrispondenza predefinita viene persa. La seconda ridefinizione serve perché usi la classe book che ridefinisce \thefigure; non sono riuscito a trovare di meglio. 🙁
Ciao
Enrico