Figure in fondo a documento in due colonne

  • Creatore
    Topic
  • #122272
    Up
    0
    Down
    ::


    Ciao,
    ho un problema a inserire le figure, mi appaiono alla fine del documento e non all’interno del documento nei punti in cui le ho inserite. Il documento è in due colonne. Vi posto un esempio di figura:

    `
    \documentclass[a4paper,fleqn]{cas-dc}

    %\usepackage[authoryear,longnamesfirst]{natbib}
    %\usepackage[authoryear]{natbib}
    \usepackage[numbers]{natbib}
    \usepackage{subcaption}
    \usepackage{graphicx}
    \usepackage{caption}
    \usepackage{lipsum}
    \newcommand{\splitcell}[1]{%
    \begin{tabular}{@{}c@{}}#1\end{tabular}%
    }

    %%%Author definitions
    \def\tsc#1{\csdef{#1}{\textsc{\lowercase{#1}}\xspace}}
    \tsc{WGM}
    \tsc{QE}
    \tsc{EP}
    \tsc{PMS}
    \tsc{BEC}
    \tsc{DE}
    %%%

    \begin{document}
    \let\WriteBookmarks\relax
    \def\floatpagepagefraction{1}
    \def\textpagefraction{.001}

    \maketitle
    \section{Introduction}

    \begin{figure*}
    \centering
    \begin{subfigure}{0.40\textwidth}
    \centering
    \includegraphics[width=\linewidth]{figs/Training_ann_accuracy.jpeg}
    \caption{Trend of the loss during the training of
    ANN
    }
    \end{subfigure}
    \quad
    \begin{subfigure}{0.40\textwidth}
    \centering
    \includegraphics[width=\linewidth]{figs/Training_ann_loss.jpeg}
    \caption{Trend of accuracy during the training of
    ANN}
    \end{subfigure}

    \caption{Trends of accuracy and loss during the training of ANN}
    \label{fig:lossaccuracytrend}
    \end{figure*}

    \end{document}

    `
    Ringrazio chi mi sarà di aiuto

Visualizzazione 9 filoni di risposte
  • Autore
    Risposte
    • #122273
      strolego
      Partecipante
        Up
        0
        Down
        ::


        Le figure sono oggetti “flottanti” come le tabelle, quindi praticamente tutto quello che ti è stato detto per le tabelle vale per le figure

      • #122274
        Up
        0
        Down
        ::


        Il problema è che mi succede che solo le figure composte da sottofigure vengano spinte in fondo al documento, l’unica figura semplice che c’è viene collocata correttamente nel testo, ve la riporto:

        `

        \begin{figure*}
        \includegraphics[width=\textwidth]{figs/Sampleimages.jpeg}
        \caption{Sample images taken from the dataset LandCover.ai.}
        \label{fig:boat1}
        \end{figure*}

        `

        ma se all’interno della figura è presente la dicitura subfigure, l’immagine intera viene collocata in fondo al documento, per quale ragione?

      • #122275
        strolego
        Partecipante
          Up
          0
          Down
          ::


          Nel tuo esempio la figura ha larghezza \textiwdth, cioè l’ampiezza della colonna perché scrivi su 2 colonne, con subfigure penso non sia così a meno che, forse, tu non metta le figure in colonna una sotto l’altra e siano sufficientemente “corte” da non finire la colonna

        • #122276
          Up
          0
          Down
          ::


          Textwidth dovrebbe essere l’ampiezza occupata dal testo dell’intera pagina. con columnwidth gli oggetti occupano la singola colonna, confermi? Nel mio caso le figure non occupano la singola colonna ma l’intero testo comprensivo di due colonne. Perché vengono spinte alla fine del documento?

        • #122277
          strolego
          Partecipante
            Up
            0
            Down
            ::


            Ops, scusa, la mia risposta era influenzata dall’orario. Hai ragione, \textwidth è l’ampiezza del testo nella pagina

          • #122278
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              I due comandi`\def\floatpagepagefraction{1}
              \def\textpagefraction{.001}`vanno rivisti;sia il primo sia il secondo hanno il nome sbagliato e quindi non hanno nessun effetto.
              `\def\floatpagefraction{1}
              \def\textfraction{.01}`Non solo, ma enrtrambi i parametri specificano la MINIMA quantità di testo o di oggetti figurre/tabelle che devono stare nella pagina. Se specifichi 1 per \floatpagefraction, vuol dire che le figure flottanti devono occupare tutta la pagina. Cosa che il tuo blocco di subfigures probabilmente non arriva a coprire.

            • #122279
              Up
              0
              Down
              ::


              Ho tolto i due comandi \def\floatpagepagefraction{1} e \def\textpagefraction{0.001}, i miei blocchi di subfigures in effetti (sono 7 in tutto) non arrivano a coprire tutta la pagina. Comunque anche una volta tolti questi due comandi continua a spingermi le figure in fondo al documento, che fare?

            • #122280
              OldClaudio
              Partecipante
                Up
                0
                Down
                ::


                Visto che il valore da impostare rappresenta un valore minimo, prova a impostare \floatpagefraction a 0.5. Aggiungi l’opzione [t] all’apertura dell’ambiente. Controlla quanto vale la \topfraction (che invece è un valore massimo, e prova a impostarlo al valore 1.

              • #122281
                Up
                0
                Down
                ::


                Ti ringrazio molto OldClaudio. Ho impostato il valore di \floatpagefraction a 0.5, aggiunto l’opzione [t] all’ambiente figure, inserito \topfraction{1}. Ma ancora mi da lo stesso problema. Qui il codice del singolo blocco di figure:

                `

                \documentclass[a4paper,fleqn]{cas-dc}

                %\usepackage[authoryear,longnamesfirst]{natbib}
                %\usepackage[authoryear]{natbib}
                \usepackage[numbers]{natbib}
                \usepackage{subcaption}
                \usepackage{graphicx}
                \usepackage{caption}
                \usepackage{multicol}
                \usepackage{float}
                \usepackage{placeins}
                \usepackage{afterpage}
                %\usepackage[section]{placeins}
                \usepackage{algorithm}% http://ctan.org/pkg/algorithms
                \usepackage{algpseudocode}% http://ctan.org/pkg/algorithmicx
                \algrenewcommand\algorithmicrequire{\textbf{Input:}}
                \algrenewcommand\algorithmicensure{\textbf{Output:}}
                \newcommand{\splitcell}[1]{%
                \begin{tabular}{@{}c@{}}#1\end{tabular}%
                }

                %%%Author definitions
                \def\tsc#1{\csdef{#1}{\textsc{\lowercase{#1}}\xspace}}
                \tsc{WGM}
                \tsc{QE}
                \tsc{EP}
                \tsc{PMS}
                \tsc{BEC}
                \tsc{DE}
                %%%

                \begin{document}
                \let\WriteBookmarks\relax
                \def\floatpagepagefraction{0.5}
                \topfraction{1}
                \def\textpagefraction{.001}
                \shorttitle{Leveraging social media news}
                \shortauthors{J.K. Krishnan et~al.}

                \title [mode = title]{This is a specimen $a_b$ title}

                \maketitle

                \begin{figure*}[t]
                \centering
                \begin{subfigure}{1\textwidth}
                \centering
                \includegraphics[width=\linewidth]{figs/mask_image_undersampling0.jpeg}
                \caption{Sample images with relative masks before undersampling}
                \label{fig:first}
                \end{subfigure}
                \quad
                \begin{subfigure}{1\textwidth}
                \centering
                \includegraphics[width=\linewidth]{figs/mask_image_undersampling1.jpeg}
                \caption{Sample images with relative masks after undersampling}
                \label{fig:second}
                \end{subfigure}
                \caption{Sample images}
                \label{fig:sample_images}
                \end{figure*}

                \end{document}

                `

              • #122282
                OldClaudio
                Partecipante
                  Up
                  0
                  Down
                  ::


                  L’idea di che cosa voglia dire esempio minimo compilabile non ti entra.

                  Nel codice che segue le prime due righe commentate servono per configurare l’editor che stai usando (se è configurabile) o comunque ti ricordano la codifica del file sorgente e il programma con cui vuoi comporre il tuo documento.
                  Le linee commentate fra \documentclass e \begin{document} non servono per produrre l’esempio minimo.

                  L’aggiunta del pacchetto kantlipsum serve per produrre del testo fasullo che ha un aspetto meno ridicolo, ma altrettanto efficace, di quello prodotto in pseudo-latino dal pacchetto lipsum.

                  Le linee commentate dopo \begin{document} servono per rendere compilabile il documento.

                  Se scarichi il codice e lo salvi col nome che preferisci ma con l’estensione .tex, lo puoi compilare e vedi che le due subfigure compaiono in testa alla seconda pagina di testo (non badare alle prime deu pagine che sono specifiche della classe ma non contengono testo su due colonne.
                  `% !TEX encoding = UTF-8 Unicode
                  % !TEX TS-program = pdflatex
                  \documentclass[a4paper,fleqn]{cas-dc}

                  %\usepackage[authoryear,longnamesfirst]{natbib}
                  %\usepackage[authoryear]{natbib}
                  %\usepackage[numbers]{natbib}
                  \usepackage{subcaption}
                  \usepackage{graphicx}
                  \usepackage{caption}
                  \usepackage{multicol}
                  %\usepackage{float}
                  %\usepackage{placeins}
                  \usepackage{afterpage}
                  %\usepackage[section]{placeins}
                  %\usepackage{algorithm}% http://ctan.org/pkg/algorithms
                  %\usepackage{algpseudocode}% http://ctan.org/pkg/algorithmicx
                  %\algrenewcommand\algorithmicrequire{\textbf{Input:}}
                  %\algrenewcommand\algorithmicensure{\textbf{Output:}}
                  %\newcommand{\splitcell}[1]{%
                  % \begin{tabular}{@{}c@{}}#1\end{tabular}%
                  %}

                  %%%Author definitions
                  %\def\tsc#1{\csdef{#1}{\textsc{\lowercase{#1}}\xspace}}
                  %\tsc{WGM}
                  %\tsc{QE}
                  %\tsc{EP}
                  %\tsc{PMS}
                  %\tsc{BEC}
                  %\tsc{DE}
                  %%%
                  \usepackage{kantlipsum}% per testo di riempimento
                  \begin{document}
                  \let\WriteBookmarks\relax
                  \def\floatpagepagefraction{0.5}
                  \topfraction{1}
                  \def\textpagefraction{0.1}% un millesimo di pagina equivale a zero
                  \shorttitle{Leveraging social media news}
                  \shortauthors{J.K. Krishnan et~al.}

                  \title [mode = title]{This is a specimen $a_b$ title}

                  \maketitle

                  \kant[1-4]
                  %————————————-
                  \begin{figure*}[t]
                  \centering
                  \begin{subfigure}{0.4\textwidth}\centering
                  %\includegraphics[width=\linewidth]
                  % {figs/mask_image_undersampling0.jpeg}
                  \frame{\begin{picture}(0.8\linewidth,0.4\linewidth)
                  \end{picture}}
                  \caption{Sample images with relative masks before undersampling}
                  \label{fig:first}
                  \end{subfigure}
                  \quad
                  \begin{subfigure}{0.4\textwidth}\centering
                  %\includegraphics[width=\linewidth]
                  % {figs/mask_image_undersampling1.jpeg}
                  \frame{\begin{picture}(0.8\linewidth,0.4\linewidth)
                  \end{picture}}
                  \caption{Sample images with relative masks after undersampling}
                  \label{fig:second}
                  \end{subfigure}
                  \caption{Sample images}
                  \label{fig:sample_images}
                  \end{figure*}
                  %———————————————–
                  \kant[5-8]

                  \end{document}
                  `
                  Senza quelle poche righe aggiunte il tuo documento non era compilabile perché nessun’altro che te dispone di quelle due immagini. Forzando la composizione ne usciva al fondo del documento una “figura” formata solo dai due rettangoli vuoti corrispondenti alle dimensioni che hai specificato per lo scalamento delle due foto che escono dal foglio e lasciano pensare che complessivamente occupino una pagina e mezzo. L’unico posto in cui può stare una “figura” così grande. Naturalmente quei rettangoli non sono necessariamente delle dimensioni giuste, ma dovrebbero metterti sull’avviso che formano un blocco troppo grande anche con \topfraction posto a 1.

                  Io ho sostituito le due immagini mancanti con due rettangoli di dimensioni pari a 0.8 la larghezza della colonna e di altezza metà. come vedi stanno benissimo assieme in orizzontale ognuna con la sua sotto didascalia, anch’essa composta nella larghezza specificata per ciascuna sotto figura e con la didascalia generale ancora più in basso, distanziata del giusto spazio da quanto la precede.

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

              Go to top