Problema indice delle sottofigure comando “subfloat”

  • Creatore
    Topic
  • #111589
    Up
    0
    Down
    ::


    Salve,
    Vorrei inserire due immagini una sotto l’altra, ciascuna con la propria didascalia ed infine una didascalia comune ad entrambe, del tipo:
    immagine1
    didascalia a)
    immagine2
    didascalia b)
    didascalia complessiva.

    Per farlo ho utilizzato il comando \subfloat come indicato in “L’arte di scrivere con Latex” al paragrafo 6.5.2 ed il risultato che ho ottenuto è esattamente quello che speravo.
    Il problema però è che il nome delle “sottofigure” non compare all’interno dell’indice delle figure realizzato con \listoffigure, bensì compare solamente il nome della didascalia complessiva.
    Quello che mi piacerebbe ottenere nell’indice è qualcosa del genere:
    1. nome figura
    a. sottofigura1
    b. sottofigura2 ecc..
    Come possso fare? Dove sto sbagliando? Di seguito posto il preambolo del codice e la scrittura dell’ambiente subfloat.

    `\documentclass[12pt,a4paper,oneside]{book}
    \usepackage[utf8]{inputenc}
    \usepackage[italian]{babel}
    \usepackage{amsfonts}
    \usepackage{amsmath}
    \usepackage{textcomp}
    \usepackage{amssymb}
    \usepackage{graphicx}
    \usepackage{booktabs}
    \usepackage{caption}
    \usepackage[output-decimal-marker={,}]{siunitx}
    \usepackage[autostyle,italian=guillemets]{csquotes}
    \usepackage[style=numeric-comp, backend=biber]{biblatex}
    \usepackage{subfig}
    \usepackage{setspace}
    \addbibresource{bibliografia.bib}
    \usepackage{hyperref}
    \hypersetup{hidelinks}
    \usepackage{fancyhdr}

    \begin{document}
    \onehalfspacing % interlinea 1,5
    \frontmatter
    \tableofcontents
    \listoftables
    \listoffigures
    \mainmatter
    \chapter{Introduzione da continuare}
    I pali geotermici, o EPs …
    \begin{figure}
    \centering
    \subfloat[Modelli 1,2,3,5][\emph{Modelli 1,2,3,5}\label{fig:T out 1,2,3,5}]{\includegraphics[width=0.9\linewidth]{“descrizione e valutazione del modello/T out 1-2-3-5”}} \\
    \subfloat[Modelli 3,4,6,7][\emph{Modelli 3,4,6,7} \label{fig:T out 3,4,6,7}]{\includegraphics[width=0.9\linewidth]{“descrizione e valutazione del modello/T out 3-4-6-7”}}
    \caption{Confronto T uscita dell'acqua}
    \label{fig:confronto Tacqua modelli}
    \end{figure}
    \backmatter
    \nocite{*}
    \printbibliography[heading=bibintoc]
    \end{document}`

Visualizzazione 11 filoni di risposte
  • Autore
    Risposte
    • #111590
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Non puoi farlo, almeno con le definizioni del pacchetto subfigure.

        In realtà ha un senso; non serve avere nell’indice le voci delle sotto figure; perché se le due figure sono assieme dentro lo stesso ambiente flottante, l’unica didascalia di quest’ultimo dovrebbe descrivere entrambe le sotto figure. D’altronde le due sotto figure con le etichette 1.a e 1.b saranno entrambe contenuta all’interno della figura la cui didascalia può essere sufficientemente dettagliata per contenere anche le descrizioni delle figure a e b.

        Quidi nella immaigne vengono

        immagine a
        1.a)
        immagine b
        1.b)
        Didascalia generale

        Quest’ultima verrà composta usando il comando caption così:`\caption[Due diversi modelli di pentole]{Due diversi modelli di pentole: a) modello con il manico a sinistra; b) modello con il manico a destra.}`

      • #111591
        Up
        0
        Down
        ::


        Ok, capito. Grazie, Ma allora a cosa serve il primo argomento del comando \subfloat? L’arte di scrivere con latex mi sembra dicesse proprio che serve per inserire la didascalia breve da indicizzare in \listoffigures.

      • #111592
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Sì, serve a quello, ma funziona bene con le sotto tabelle, perché la didascalia delle tabelle viene messa sopra le sottotabelle; la didascalia generale invece viene messa sotto le sottofigure; per l’incide delle figure traduci sopra con prima e sotto con dopo.

          Se specifichi che anche per le figure vuoi la didascalia generale sopra, invece che sotto (come si fa di solito) sei padronissimo di farlo, e l’indice viene come vorresti.

        • #111593
          Up
          0
          Down
          ::


          Grazie mille. Ho capito. Opterò per lasciare solo la didascalia complessiva nell’indice proprio come mi hai suggerito. Non so se sia il caso di aggiungere questa informazione nella guida, potrebbe fare comodo.
          Saluti e grazie ancora.

        • #111594
          lorenzo.pantieri
          Partecipante
            Up
            0
            Down
            ::

            el buddho” post=111898Grazie mille. Ho capito. Opterò per lasciare solo la didascalia complessiva nell’indice proprio come mi hai suggerito. Non so se sia il caso di aggiungere questa informazione nella guida, potrebbe fare comodo.
            Saluti e grazie ancora.

            Posto che, per i motivi che ti ha detto Claudio, non metterei mai le sottodidascalie nell’indice, c’è qualcosa che mi sfugge.
            `\documentclass{book}
            \usepackage{subfig,booktabs}

            \setcounter{tocdepth}{3}

            \begin{document}

            \listoftables

            \chapter{Prova}

            \begin{table}
            \caption{Esempio di tabella composta da più sottotabelle}
            \label{fig:subfig2}
            \centering
            \subfloat[Dida 1 nell'indice?][Dida 1]{
            \begin{tabular}{ll}
            \toprule
            Alcaloide & Origine \\
            \midrule
            atropina & belladonna \\
            morfina & papavero \\
            nicotina & tabacco \\
            \bottomrule
            \end{tabular}
            }
            \quad
            \subfloat[Dida 2 nell'indice?][Dida 2]{
            \begin{tabular}{ll}
            \toprule
            Alcaloide & Origine \\
            \midrule
            atropina & belladonna \\
            morfina & papavero \\
            nicotina & tabacco \\
            \bottomrule
            \end{tabular}
            }
            \end{table}

            \end{document}`
            Come si vede, nell’indice non ci sono le didascalie “Dida 1 nell’indice?” e “Dida 1 nell’indice?”.

            Ma allora a cosa serve il primo argomento del comando \subfloat?

            Faccio mia la tua domanda. Vediamo se qualcuno ci risponde!!!

          • #111595
            lorenzo.pantieri
            Partecipante
              Up
              0
              Down
              ::


              Eureka!

              `\usepackage[lotdepth=2]{subfig}`

            • #111596
              lorenzo.pantieri
              Partecipante
                Up
                0
                Down
                ::

                lorenzo.pantieri” post=111908Eureka!

                `\usepackage[lotdepth=2]{subfig}`

                Questo passaggio dell’Arte:

                Nel primo argomento facoltativo di \subfloat, se usato, si mette la didascalia breve da mandare nel relativo indice (\listoffigures o \listoftables);

                va corretto con qualcosa del genere:

                Nel primo argomento facoltativo di \subfloat, se usato, si mette la didascalia breve da mandare nel relativo indice (\listoffigures o \listoftables), purché si specifichi un’adeguata profondità dell’indice (con le chiavi lofdepth e lotdepth: si veda la documentazione del pacchetto);

                Non mi piace così com’è scritto, per cui aspetto a modificare l’Arte. Altre proposte?

              • #111597
                Up
                0
                Down
                ::


                Personalmente aggiungerei anche il fatto che il comando non funziona con figure se si decide di posizionare la didascalia sotto invece che sopra.

              • #111598
                lorenzo.pantieri
                Partecipante
                  Up
                  0
                  Down
                  ::

                  el buddho” post=111910Personalmente aggiungerei anche il fatto che il comando non funziona con figure se si decide di posizionare la didascalia sotto invece che sopra.

                  Non mi risulta. Il seguente codcie
                  `\documentclass{book}
                  \usepackage{booktabs,caption,graphicx}
                  \usepackage[lofdepth=2]{subfig}

                  \graphicspath{{Immagini/}}

                  \begin{document}

                  \listoffigures

                  \chapter{Prova}

                  \begin{figure}
                  \centering
                  \subfloat[sss][\emph{Mano con sfera riflettente}]
                  {\includegraphics[width=.45\textwidth]{Sfera}} \quad
                  \subfloat[aaa][\emph{Belvedere}]
                  {\includegraphics[width=.45\textwidth]{Belvedere}} \\
                  \subfloat[aaa][\emph{Cascata}]
                  {\includegraphics[width=.45\textwidth]{Cascata}} \quad
                  \subfloat[aaa][\emph{Salita e discesa}]
                  {\includegraphics[width=.45\textwidth]{SalitaDiscesa}}
                  \caption{Esempio di figura composta da più sottofigure}
                  \label{fig:subfig}
                  \end{figure}

                  \end{document}`
                  produce l’l’l’elenco delle figure con le sottodidascalie.

                • #111599
                  lorenzo.pantieri
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Visto che credo che siano rarissime le situazioni in cui si vogliano le sottodidascalie nell’elenco delle tabelle (o delle figure), un soluzione radicale è quella di non parlarne proprio nell’Arte. Così:

                    La figura 8 è stata ottenuta con un codice del tipo:
                    `\begin{figure}
                    \centering
                    \subfloat[\emph{Mano con sfera riflettente}]
                    {\includegraphics[width=.45\textwidth]{Sfera}} \quad
                    \subfloat[\emph{Belvedere}]
                    {\includegraphics[width=.45\textwidth]{Belvedere}} \\
                    \subfloat[\emph{Cascata}]
                    {\includegraphics[width=.45\textwidth]{Cascata}} \quad
                    \subfloat[\emph{Salita e discesa}]
                    {\includegraphics[width=.45\textwidth]{SalitaDiscesa}}
                    \caption{Esempio di figura composta da più sottofigure}
                    \label{fig:subfig}
                    \end{figure}`
                    Si noti che per riferirsi a un sottooggetto in particolare da altre parti del documento, \label va dato dentro il secondo argomento facoltativo immediatamente dopo la sottodidascalia.

                    Che dite?

                  • #111600
                    Up
                    0
                    Down
                    ::

                    lorenzo.pantieri” post=111911
                    Non mi risulta.

                    Hai ragione scusa. Avevo fatto un errore di distrazione.

                  • #111601
                    lorenzo.pantieri
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      Alla fine ho optato per:

                      nel primo argomento facoltativo di \subfloat, se usato, si mette la didascalia breve da mandare nel relativo indice (\listoffigures o \listoftables), purché si impostino adeguatamente i contatori lofdepth e lotdepth (si veda la documentazione di subfig);

                      Ho aggiornato di consegguenza l’Arte e LaTeXpedia.

                      http://www.lorenzopantieri.net/LaTeX_files/ArteLaTeX.pdf

                      http://www.lorenzopantieri.net/LaTeX_files/LaTeXpedia.pdf

                      Grazie mille! 🙂

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

                  Go to top