Riferimento figura non funzionante

  • Creatore
    Topic
  • #111859
    Up
    0
    Down
    ::


    Uso questo codice

    `
    (vedi Figura \ref{MeshCloud}).

    \begin{figure}[!h]
    \begin{center}
    \includegraphics[scale=0.45]{PIC}
    \caption{Mesh e Clouds in un metodo PIC}
    \end{center}
    \label{MeshCloud}
    \end{figure}
    `

    Ma escono i ?? blu (a volte neri).

    Cosa non funziona??

Visualizzazione 2 filoni di risposte
  • Autore
    Risposte
    • #111860
      robitex
      Amministratore del forum
        Up
        0
        Down
        ::

        golden_boy” post=112171Uso questo codice

        `
        (vedi Figura \ref{MeshCloud}).

        \begin{figure}
        \centering
        \includegraphics[scale=0.45]{PIC}
        \caption{Mesh e Clouds in un metodo PIC}
        \label{MeshCloud}
        \end{figure}
        `

        Ma escono i ?? blu (a volte neri).

        Cosa non funziona??

        `
        (vedi Figura \ref{MeshCloud}).

        \begin{figure}[!h]
        \begin{center}
        \includegraphics[scale=0.45]{PIC}
        \caption{Mesh e Clouds in un metodo PIC}
        \label{MeshCloud}
        \end{center}
        \end{figure}
        `

        Ciao.
        R.

      • #111861
        robitex
        Amministratore del forum
          Up
          0
          Down
          ::

          golden_boy” post=112171Uso questo codice

          `
          (vedi Figura \ref{MeshCloud}).

          \begin{figure}[!h]
          \begin{center}
          \includegraphics[scale=0.45]{PIC}
          \caption{Mesh e Clouds in un metodo PIC}
          \end{center}
          \label{MeshCloud}
          \end{figure}
          `

          Ma escono i ?? blu (a volte neri).

          Cosa non funziona??

          `
          (vedi Figura \ref{MeshCloud}).

          \begin{figure}
          \centering
          \includegraphics[scale=0.45]{PIC}
          \caption{Mesh e Clouds in un metodo PIC}
          \label{MeshCloud}
          \end{figure}
          `
          Ci sono almeno tre errori di base nel tuo codice.
          Ciao.
          R.

        • #111862
          Up
          0
          Down
          ::


          Non escono i «??», almeno dopo aver compilato due volte: esce «(vedi Figura ).», cioè manca del tutto il numero della figura stessa. Questo succede perché un comando [tt]\label[/tt] non può essere dato al di fuori del gruppo nel quale si trova il comando che stampa il contatore al quale si riferisce.

          Parentesi: versione più TeXnica. Il comando [tt]\label[/tt] non può essere dato al di fuori del gruppo nel quale viene eseguito il comando [tt]\refstepcounter[/tt] relativo al contatore al quale si vuole generare il riferimento: infatti, [tt]\refstepcounter[/tt] imposta [tt]\@currentlabel[/tt] per mezzo di un [tt]\protected@edef[/tt], non di un [tt]\protected@xdef[/tt]. Se ci si pensa un attimo, si vede che non potrebbe essere altro che così. Fine parentesi.

          Ora, il tuo codice

          golden_boy” post=112171[…]
          `
          (vedi Figura \ref{MeshCloud}).

          \begin{figure}[!h]
          \begin{center}
          \includegraphics[scale=0.45]{PIC}
          \caption{Mesh e Clouds in un metodo PIC}
          \end{center}
          \label{MeshCloud}
          \end{figure}
          `
          […]

          fa proprio ciò che ho appena detto non doversi fare: il comando [tt]\caption[/tt], il quale genera il numero al quale si vuol fare riferimento, si trova dentro a un gruppo (quello implicato dall’ambiente [tt]center[/tt]), ma il comando [tt]\label[/tt] si trova fuori dal quel gruppo; se lo sposti dentro, subito sotto [tt]\caption[/tt], vedrai che il riferimento incrociato funziona correttamente.

          Come ha già rimarcato @robitex, tuttavia, questo non significa ancora che il codice sia “pulito”; infatti:

          1. non bisognerebbe mai usare lo specificatore [tt]h[/tt] da solo per un oggetto mobile, con o senza [tt]![/tt] di accompagnamento;
          2. in un oggetto mobile è, in generale, sbagliato usare l’ambiente [tt]center[/tt], perché genera degli spazi verticali eccessivi; si usi invece la semplice dichiarazione [tt]\centering[/tt], come fa vedere @robitex;
          3. non dimentichiamo, inoltre, che di solito è bene scrivere [tt]…vedi figura~\ref{MeshCloud}[/tt], con il simbolo [tt]~[/tt].

          Ciao.


          Gustavo

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

      Go to top