compatibilità di Subfigure (subfloat) con \newfloat

  • Creatore
    Topic
  • #109653
    Andrea
    Partecipante
      Up
      0
      Down
      ::


      Salve. Ho necessita di creare una serie di sottofigure che rappresentano grafici. Normalmentem, per le sottofigure uso istruzioni del tipo
      `\begin{figure}[h]
      \centering
      \subfloat[Esempio di scorecard]{\includegraphics[width=0.75\textwidth]{images/esempio_BSC2}\label{esempio_BSC2a}}\\%
      \subfloat[Causalità tra obiettivi]{\includegraphics[width=.37\textwidth]{images/obiettivi}\label{esempio_BSC2b}}
      \subfloat[Causalità tra indicatori]{\includegraphics[width=.37\textwidth]{images/indicatori}\label{esempio_BSC2c}}
      \caption{Utilizzo delle BSC di seconda generazione – un esempio.}
      \label{esempio_BSC2}
      \end{figure}`

      Il problema è che questo codice funziona benissimo quando io voglio che in didascalia appaia “figura x.y”.

      Grazie al comando dato a preambolo:
      `\newfloat{grafico}{tbp}{lor}[chapter]
      \floatname{grafico}{Grafico}`

      Ho creato il float “grafico”, che utilizzo per inserire immagini rappresentanti grafici e fare in modo che in didascalia appaia “graficox.y”, con comandi del tipo
      `begin{grafico}
      \includegraphics…..
      end{grafico}`

      Quello che vorrei fare io è qualcosa del tipo
      `\begin{grafico}
      \centering
      \subfloat[Esempio di scorecard]{\includegraphics[width=0.75\textwidth]{images/esempio_BSC2}\label{esempio_BSC2a}}\\%
      \subfloat[Causalità tra obiettivi]{\includegraphics[width=.37\textwidth]{images/obiettivi}\label{esempio_BSC2b}}
      \subfloat[Causalità tra indicatori]{\includegraphics[width=.37\textwidth]{images/indicatori}\label{esempio_BSC2c}}
      \caption{Utilizzo delle BSC di seconda generazione – un esempio.}
      \label{esempio_BSC2}
      \end{grafico}` ,
      cosa che ovviamente ora come ora non riesco a fare perchè il compilatore si arrabbia. Se il problema sta nel dare una certa impostazione al mio ambiente “grafico”, vi prego di aiuitarmi.
      Nel caso in cui invece \subfloat si possa usare solo in ambiente figure, cosa mi consigliate di fare per ottenere il risultato?

      Grazie.

    Visualizzazione 3 filoni di risposte
    • Autore
      Risposte
      • #109654
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Non ho provato a vedere se funziona, ma io propenderei per una soluzione che tratti i grafici come figure ma con la dicitura Grafico al posto di Figure, un qualcosa come questo`\newenvironment{grafico}[1][tbp]
          \renewcommand{\figurename}{Grafico}
          \begin{figure}[#1]}{\end{figure}}`
          Certo i grafici composti in questo modo andranno a finire nell’elenco delle figure.
          Comunque accertato che funzioni, si può sempre cercare di aggiungerci le variazioni necessarie per produrre i dati per una lista dei grafici distinta dlal lista delle figure.

        • #109655
          Andrea
          Partecipante
            Up
            0
            Down
            ::


            Ciao claudio, ti dico che io ho già creato un comando che crea una lista dei grafici e tutte le figure inserite dentro l’ambiente “grafico” vengono inseriti in questa lista.

            Detto questo, io ho trovato in rete un problema simile. Però non so se è quello che mi serve. Ti passo il codice:

            Preambolo (con l’aggiunta per chiarezza della creazione dell’ambiente “grafico”)
            `\newfloat{grafico}{tbp}{lor}[chapter]
            \floatname{grafico}{Grafico}
            \newcounter{GraphOne}[grafico]
            \def\theGraphOne{\alph{GraphOne}}
            \newcommand{\subgraph}[2][]{
            \captionof{subGraph}{#1} #2
            }
            \newfloat{subGraph}{H}{lop}[grafico]
            \floatname{subGraph}{} `

            Sorgente:
            `\begin{grafico}[h]
            \centering
            \captionof{grafico}{Prova}
            \subgraph[Esempio di scorecard]{\includegraphics[width=0.75\textwidth]{images/esempio_BSC2}\label{esempio_BSC2a}}\\
            \subgraph[Causalità tra obiettivi]{\includegraphics[width=.37\textwidth]{images/obiettivi}\label{esempio_BSC2b}}
            \subgraph[Causalità tra indicatori]{\includegraphics[width=.37\textwidth]{images/indicatori}\label{esempio_BSC2c}}
            \caption{Utilizzo delle BSC di seconda generazione – un esempio (\textit{Azzone, 2006}).}
            \label{}
            \end{grafico}`

            So che c’è un errore nell’uso di caption e captionof, ma quello lo sistemo non appena capito come risolvere il problema principale.

            Ti allego due immagini di come vorrei che venirre il risultato (che ovviamente fa riferimento all’ambiente figure) e di come invece esce compilando il sorgente.

            [attachment=1840]Cattura1.PNG[/attachment]

            [attachment=1841]Cattura2.PNG[/attachment]

            Attachments:
            You must be logged in to view attached files.
          • #109656
            Andrea
            Partecipante
              Up
              0
              Down
              ::


              RISOLTO

              Ho trovato la documentazione del pacchetto subfig. A pagina 44 c’è l’istruzione per configurare il comando subfloat. Basta scrivere nel preamboo (dopo la creazione dell’ambiente flottante):
              `\newsubfloat[position=top,listofformat=subsimple]{nome_ambiente}`

              Ora il pacchetto \subfloat funziona anche dentro l’ambiente “grafico.

              Grazie mille per il tuo tempo.

            • #109657
              OldClaudio
              Partecipante
                Up
                0
                Down
                ::


                Perfetto! Grazie di aver indicato esempi concreti del tuo lavoro.
                Claudio

            Visualizzazione 3 filoni di risposte
            • Devi essere connesso per rispondere a questo topic.

            Go to top