Problemi con figure* e subref

  • Creatore
    Topic
  • #63716
    Up
    0
    Down
    ::


    Salve a tutti,

    devo inserire un’immagine che interrompa la struttura a due colonne del testo, e per far questo ho usato l’ambiente figure* seguito da un `\twocolumn`.

    Questo è il preambolo col pezzo di codice che genera le due figure che mi servono:

    `
    \documentclass[twocolumn,italian,authoryear]{elsarticle}
    \usepackage{lmodern}
    \usepackage[T1]{fontenc}
    \usepackage[latin9]{inputenc}
    \setcounter{secnumdepth}{4}
    \setcounter{tocdepth}{4}
    \usepackage{amsmath}
    \usepackage{amssymb}
    \usepackage{esint}
    \usepackage[italian]{babel}
    \usepackage{keyval}
    \usepackage[position=top,config, labelfont={rm,bf,up}]{caption,subfig}
    \usepackage{natbib}
    \usepackage{enumerate}

    \begin {document}

    bla bla bla…

    \begin{figure*}[tp]
    \captionsetup[subfloat]{nearskip=0.5cm, margin=0cm}
    \centering
    \subfloat[]{\includegraphics[height=4cm,width=6cm]{fig1.pdf}}\label{fig:1} \qquad\qquad
    \subfloat[]{\includegraphics[height=4cm,width=6cm]{fig2.pdf}}\label{fig:2} \qquad\qquad
    \subfloat[]{\includegraphics[height=4cm,width=6cm]{fig3.pdf}}\label{fig:3} \qquad\qquad
    \subfloat[]{\includegraphics[height=4cm,width=6cm]{fig4.pdf}}\label{fig:4}
    \caption{Analisi di Fourier di due segnali: il primo (Figura \protect\subref{fig:1}) contiene due frequenze ($50 Hz$ e $100 Hz$) sovrapposte sull'intero dominio temporale e il secondo (Figura \protect\subref{fig:2}) contiene le stesse frequenze, una nella prima metà del dominio, e l'altra nella seconda. Le Figure \protect\subref{fig:3} e \protect\subref{fig:4} mostrano rispettivamente gli spettri di Fourier dei segnali in Figura \protect\subref{fig:1} e \protect\subref{fig:2}.} \label{analisi_f}
    \end{figure*}
    \twocolumn

    bla bla bla…

    \begin{figure*}[tp]
    \centering
    \subfloat{\includegraphics[height=9cm,width=16cm]{figura.pdf}}
    \caption{bla bla bla.}\label{figura}
    \end{figure*}
    \twocolumn

    bla bla bla…

    \end{document}

    `

    Il problema è che ciscuna figura, indipendentemente dalla sua dimensione, viene sempre posta al centro di un’intera pagina, facendo ripartire il testo su due colonne alla pagina successiva. Invece io voglio che il testo ricominci subito dopo ciascuna figura, nella stessa pagina.
    Inoltre nella prima immagine non funzionano i subref che ho messo nella caption: invece dei riferimenti nel pdf compaiono i punti interrogativi.

    Spero mi possiate aiutare perché la consegna è domani mattina 😥

    Grazie!

Visualizzazione 0 filoni di risposte
  • Autore
    Risposte
    • #63717
      Up
      0
      Down
      ::


      Dov’è scritto che dopo l’ambiente “figure*” ci vada \twocolumn? Da nessuna parte, naturalmente. Toglilo.

      Non otterrai comunque il posizionamento in cima, perché quell’oggetto è troppo grande, cioè sfora i parametri impostati da elsarticle per permettere a un oggetto mobile di stare in testa a una pagina. Prova a diminuire l’altezza delle varie parti.

      Altri errori.

      1. Il comando \label per un \subfloat va dentro l’argomento di \subfloat
      `\subfloat{\includegraphics[…]{…}\label{…}}`

      2. $50 Hz$ è sbagliato. Visto che carichi il modulo italiano per babel, puoi scrivere $50\unit{Hz}$; guarda la documentazione di siunitx per applicazioni più serie.

      3. Il tuo preambolo è in un disordine pazzesco.
      `\documentclass[twocolumn,authoryear]{elsarticle}
      \usepackage[T1]{fontenc}
      \usepackage[latin9]{inputenc}
      \usepackage[italian]{babel}

      \usepackage{amsmath}
      \usepackage{amssymb}
      \usepackage{esint}
      \usepackage{enumerate}
      \usepackage[position=top,config, labelfont={rm,bf,up}]{caption,subfig}

      \usepackage{lmodern}

      \setcounter{secnumdepth}{4}
      \setcounter{tocdepth}{4}`
      Proprio sicuro delle ultime due impostazioni?

      Ciao
      Enrico

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

Go to top