Re: Ridefinire comando \ref per subfloat

#52462
Up
0
Down
::

Alla fine credo che risolverò manualmente.
Farò comunque un esempio per far capire cosa intendevo, anche perchè credo sarebbe interessante ritoccare un pochino il pacchetto. Supponiamo di avere
`
****************
sottofigura a \label{fig:fig1-a}
****************

****************
sottofigura b \label{fig:fig1-b}
****************

Figura 1: bla bla bla
\label{fig:fig1}
`
Ora, senza inserire opzioni, se inserisco “\ref{fig:fig1-a}” ottengo “1a”, se inserisco “\subref{fig:fig1-a}” ottengo “(a)”. Se inserisco l’opzione del pacchetto subfig che mi hai passato si ha:
se inserisco “\ref{fig:fig1-a}” ottengo “1a” (non cambia nulla);
se inserisco “\subref{fig:fig1-a}” ottengo “1(a)”.
Il formato “1(a)” è il punto della situazione. Perchè devo sovrascrivere \subref{} quando mi sembrerebbe più logico adattare \ref{} cambiando il suo formato di output in “1(a)”? Sarà un particolare di poco conto, ma poiché \ref{} nasce già con lo scopo di dare il riferimento completo, mentre \subref{} per logica dovrebbe dare solo il riferimento “(a)”, non mi piace molto la soluzione attuale del pacchetto \subfig{}.
Supponiamo che uno attivi l’opzione segnalata da ansys, come potrebbe poi scrivere, che ne sò… “si confronti la sottofigura (a) con la sottofigura (b)”… il comando \subref{} non esiste più!!! Abbiamo due comandi che fanno lo stesso lavoro, ma con formattazioni diverse: \ref{} e \subref{}, che danno rispettivamente “1a” e “1(a)”.

Concordo con quanti pensino che stia cercando di spaccare il capello in quattro, e con quanti di voi pensino che non cambia molto tra (a) e 1(a), dal momento che la fatica di aggiungere 1 la fa LaTeX. Però che volete che ci faccia? Mi piacciono le soluzioni eleganti.

Ciao,
Daniele

`\documentclass[a4paper]{article}
\usepackage{subfig}
\renewcommand\thesubfigure{(\alph{subfigure})}
\captionsetup[subfigure]{labelformat=simple}
\begin{document}
\begin{figure}
\subfloat[xyz][xyz\label{x}]{\fbox{XYZ}}
\subfloat[abc][abc\label{a}]{\fbox{ABC}}
\caption{Dida}\label{d}
\end{figure}

\ref{d}

\ref{x}—\subref*{x}

\ref{a}—\subref*{a}

\end{document}`
Ciao
Enrico

Go to top