- Questo topic ha 8 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 15 anni, 9 mesi fa da
Daniele.
-
CreatoreTopic
-
16 Novembre 2010 alle 19:58 #52455::
Ciao a tutti,
ho cercato in giro e sul manuale di subfig, ma non ho trovato quanto voglio realizzare. Se con il comando \ref mi riferisco a un oggetto subfloat ottengo un riferimento del tipo 1a. A me non piace tanto. Preferirei (ma ditemi pure se è una schifezza) il formato 1(a). Mi sembrava di aver visto qualcosa in giro tempo fa. Se non fosse disponibile non si potrebbe ridefinire il comando \ref?Grazie,
Daniele
-
CreatoreTopic
-
AutoreRisposte
-
-
16 Novembre 2010 alle 20:27 #52456::
Ciao a tutti,
ho cercato in giro e sul manuale di subfig, ma non ho trovato quanto voglio realizzare. Se con il comando \ref mi riferisco a un oggetto subfloat ottengo un riferimento del tipo 1a. A me non piace tanto. Preferirei (ma ditemi pure se è una schifezza) il formato 1(a). Mi sembrava di aver visto qualcosa in giro tempo fa. Se non fosse disponibile non si potrebbe ridefinire il comando \ref?Grazie,
DanieleNon so se sia un orrore tipografico. Volendo si potrebbe scrivere `\ref{fig:prova}\subref{fig:prova-a}`
che in realtà sono due riferimenti differenti, ma uniti solo visivamente.
Ora mi becco una bella tiratina di orecchie… 😳Ciao,
ansys.
-
16 Novembre 2010 alle 20:41 #52457
-
17 Novembre 2010 alle 7:17 #52458::
Grazie per la segnalazione. Vorrei però evitare di perdere la possibilità di riferirmi separatamente alla sottofigura. Mi spiego meglio. Vorrei che \subfig continui a indicare una sottofigura nel modo (#), e che \ref cambi semplicemente la formattazione del suo output in #(#). Mi sembra che questa sia la soluzione più elegante.Devo chiedere venia in quanto il manuale di subfig riportava quanto indicato da ansys. 😳 Dopo essere diventato matto con pgfplots per una giornata, giunto a ieri sera mi sono lasciato sfuggire quell’opzione.
Grazie e buon lavoro a tutti,
Daniele
-
17 Novembre 2010 alle 17:00 #52459::
Grazie per la segnalazione. Vorrei però evitare di perdere la possibilità di riferirmi separatamente alla sottofigura. Mi spiego meglio. Vorrei che \subfig continui a indicare una sottofigura nel modo (#), e che \ref cambi semplicemente la formattazione del suo output in #(#). Mi sembra che questa sia la soluzione più elegante.
Devo chiedere venia in quanto il manuale di subfig riportava quanto indicato da ansys. 😳 Dopo essere diventato matto con pgfplots per una giornata, giunto a ieri sera mi sono lasciato sfuggire quell’opzione.
Grazie e buon lavoro a tutti,
DanieleNon si capisce bene cosa vuoi. Prova a spiegarti meglio. Per richiamare una singola figura usa \ref{fig:***}, mentre per richiamare una sotto-figura usa \subref{fig:***-a} per esempio.
Ciao,
ansys.
-
17 Novembre 2010 alle 17:28 #52460::
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
-
17 Novembre 2010 alle 18:14 #52461::
È fattibile, credo, ma è un po’ complicato; per avere un’idea della problematica guarda sull’introduzione (cerca nell’indice analitico l’ultimo riferimento all’ambiente enumerate) –link qui sopra–. Lì si parla di come sono gestiti i riferimenti agli item di ambienti enumerate innestati uno dentro l’altro; ci sono definiti dei prefissi e dei modo diversi di comporre l’indice “numerico” di ogni item; probabilmente la stessa tecnica si può usare per i tuoi \ref e \subref; sono quasi sicuro di sì, ma bisogna sperimentare studiarci sopra non dieci secondi cercando di prevedere che cosa succede ad ogni mossa, un po’ come giocare a scacchi.
Scusa se non ti do direttamente la soluzione, ma non ho mai usato subfig perché mi sono sempre risolto il problema da solo, anche se forse in modo meno professionale, e sono restio a studiarmi l’intero pacchetto. 🙁
-
17 Novembre 2010 alle 22:14 #52462::
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
-
18 Novembre 2010 alle 8:42 #52463
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.