parametri opzionali ambiente figura

  • Creatore
    Topic
  • #5398
    Up
    0
    Down
    ::


    Salve a tutti,
    ho dei problemi con i parametri per il posizionamento delle figure:
    la riga di comando è:
    `
    \begin{figure}[!h,t,b,p]
    `
    o questa?
    `
    \begin{figure}[!htbp]
    `
    cioè ci va la virgola oppure no?
    ovviamente, here, top, bottom, page of floats… non ricordo il !
    Non mi da errore in nessuno dei due casi quando compilo. So bene che si dice che il latex fa un po’ quello che vuole con le figure, ma non vedo nessun cambiamento tra i comandi nel file compilato.

    Inoltre volevo chiedere: ho provato ad inserire solo il parametro [h], in compilazione (kile sotto linux suse 9) mi da un warning dicendo che il comando è vecchio e di usare [ht] … questo è l’equivalente del comando here oppure inserisce comunque l’opzione top?

    Infine, so che c’è il comando

    `
    \clearpage
    `
    che però cambia anche pagina, esiste un comando per inserire la figura prima della sezione successiva senza cambiare pagina?
    Grazie a tutti

Visualizzazione 9 filoni di risposte
  • Autore
    Risposte
    • #5399
      ev
      Partecipante
        Up
        0
        Down
        ::

        cioè ci va la virgola oppure no?

        No.

        ovviamente, here, top, bottom, page of floats… non ricordo il !

        Obbliga il sistema ad ignorare la maggior parte dei parametri che guidano il posizionamento dei floating objects.

        Inoltre volevo chiedere: ho provato ad inserire solo il parametro [h], in compilazione (kile sotto linux suse 9) mi da un warning dicendo che il comando è vecchio e di usare [ht] … questo è l’equivalente del comando here oppure inserisce comunque l’opzione top?

        Se non mi son perso qualche evoluzione strana, in realtà il warning dice semplicemente che [h] è stato automaticamente sostituito con [ht]. Per rispondere alla domanda: no, le due impostazioni non sono equivalenti.

        esiste un comando per inserire la figura prima della sezione successiva senza cambiare pagina?

        Prova il pacchetto placeins, ma prima chiediti se non è il caso di smettere di usare i floating objects: se devi o vuoi realmente controllare in maniera assoluta il posizionamento di tabelle ed immagini, usare un floating object solo per avere una didascalia (errore concettuale che fanno in molti) non ha alcun senso. Per eventuali discussioni su come avere una didascalia senza usare i floating object ti conviene cercare nei vecchi thread.

      • #5400
        Up
        0
        Down
        ::

        Infine, so che c’è il comando

        \clearpage

        che però cambia anche pagina, esiste un comando per inserire la figura prima della sezione successiva senza cambiare pagina?
        Grazie a tutti

        Comando `\FloatBarrier` disponibile con il pacchetto

        `\usepackage[section]{placeins} % per usare FloatBarrier`

      • #5401
        Up
        0
        Down
        ::


        io ti consiglio di usare i float e fregartene abbastanza di dove cadano le figure, se nn all’ultimissimo momento prima di stampare. bisogna concentrarsi su quello che si scrive, l’impaginazione deve essere in secondo piano.
        detto cio’ ti consiglio di usare piuttosto th come posizionamento delle figure normali e p per quelle grandi, perche’ h nn e’ molto elegante e mette in difficolta’ latex. con th la figura puo’ anche anticipare il punto di inserzione, il risultato e’ elegante e le figure nn si allontanano troppo dal punto in cui appaiono.
        ciao
        f

      • #5402
        Up
        0
        Down
        ::


        Grazie a tutti per gli utili consigli

      • #5403
        Up
        0
        Down
        ::


        Ciao,
        riprendo il topic per un ulteriore dettaglio:
        nel caso io abbia una serie di figure che non posso presentare separatamente, ma solo una dopo l’altra in una determinata posizione del testo, la documentazione di fancyhdr consiglia:
        1) \clearpage
        2) \afterpage{clearpage}

        Il loro difetto è che \clearpage non permette al testo di riprendere nella stessa pagina dell’ultima figura e ne apre una nuova lasciando un vuoto sgradevole;
        \afterpage{clearpage} infila un po’ di testo tra la prima figura e la seconda (che si trova nella pagina successiva) per riempire lo spazio, mentre io lo vorrei sacrificato per avere tutte le immagini in ordine logico e di fila.

        Quale comando mi permette di ottenere ciò che desidero. Ne ho visti un po’, ma sono sostanzialmente sfumature dei primi due.

        Grazie,
        luca

      • #5404
        Up
        0
        Down
        ::


        Non è elegante ma è sufficiente mettere un \FloatBarrier dopo ogni figura.

      • #5405
        Up
        0
        Down
        ::


        il mio consiglio si basa sulla mia esperienza: se hai bisogno di mettere più figure tutte assieme io ho fatto in questo modo: apro un solo ambiente figure e poi inserisco più comandi includegraphics con le relative label e caption. In fondo puoi usare il floatbarrier per impederi che vada dove non vuoi.
        Penso si potrebbe usare anche l’opzione H (maiuscola) che dovrebbe obbligare a mettere l’immagine here. PErò credo sia un pacchetto a parte e non l’ho guardato perchè mi trovo bene con il placeins.
        `
        \begin{figure}[!th]
        \centering
        \includegraphics[height=0.25\textheight,width=0.7\textwidth]{/home/nucleo/Documents/LaTeX/S4P3A0.jpg}
        \caption{Source Iteration Method, $S_4P_3A_0$}
        \label{fig:S4P3A0}
        \vspace{0.8cm}
        \includegraphics[height=0.25\textheight,width=0.7\textwidth]{/home/nucleo/Documents/LaTeX/S4P3A2.jpg}
        \caption{Dif\/fusion Syntetic Acceleration, $S_4P_3A_2$}
        \label{fig:S4P3A2}
        \pdfbookmark[1]{Fig: MPSA }{MPSA}
        \vspace{0.8cm}
        \includegraphics[height=0.25\textheight,width=0.7\textwidth]{/home/nucleo/Documents/LaTeX/S4P3A4.jpg}
        \caption{Modif\/ied $P_N$ Acceleration, $S_4P_3A_4$}
        \label{fig:S4P3A4}
        \end{figure}
        \FloatBarrier
        `

        Spero che questo consiglio sia utile, io non ho nessun errore in compilazione con pdflatex.

      • #5406
        Up
        0
        Down
        ::


        concordo che se hai molte figure, piccole, da mantenere raggruppate meglio metterle nello stesso ambiente. se occupano una pagina intera metti tutta la lista e poi un \clearpage. se sono una via di mezzo devi per forza avere testo mischiato a figure.
        come detto mille altre volte la scelta htbp o h!t o simili nn è per forza la migliore. e’ il pensare che h funziona bene che porta a dire che latex mette le figure dove gli pare. se usate un tb per esempio in genere le figure rimangono più vicine al punto di inserzione che con h!
        ciao ciao
        f

      • #5407
        Up
        0
        Down
        ::


        ho sacrificato il formalismo di nucleo per la praticità di minnolina: mi sono trovato meglio a mantenere le immagini separate nel caso all’ultimo dovessi infilare un commento tra l’una e l’altra. Ma ho verificato che entrambi i metodi funzionano egregiamente.

        grazie a tutti e tre per la solita rapidità e chiarezza nelle risposte.

        luca

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

          io ti consiglio di usare i float e fregartene abbastanza di dove cadano le figure. bisogna concentrarsi su quello che si scrive, l’impaginazione deve essere in secondo piano.
          detto cio’ ti consiglio di usare piuttosto th come posizionamento delle figure normali e p per quelle grandi: il risultato e’ elegante e le figure nn si allontanano troppo dal punto in cui appaiono.

          Sono completamente d’accordo con Fabiano.

          Uso LaTeX da pochi mesi, e ricordo con tenerezza quando scrivevo con Word:
          `
          …per l'equazione (2.41)…
          `
          anziché
          `
          …per l'equazione~\eqref{eq:equazione}…
          `
          Mi ricordo anche del terrore che il mio relatore di tesi mi facesse inserire un’equazioncina all’ultimo minuto prima della consegna, perché poi mi sarebbe toccato correggere a mano la numerazione delle formule e tutti i riferimenti incrociati… Brrrr…

          Mi sono accorto che 10 anni di Word hanno lasciato cattive abitudini che non è stato facile individuare. Una di queste abitudini riguarda proprio l’uso delle figure. Una volta avrei scritto, per esempio:
          `
          … Tizio illustra i suoi risultati così:
          [segue figura]
          `
          Adesso considero questo modo di procedere semplicemente sbagliato. Basta infatti modificare leggermente la struttura del documento:
          `

          \begin{figure}[th]

          \label{fig:figura}
          \end{figure}
          Tizio illustra i suoi risultati con la figura~\vref{fig:figura}.
          `

          Cito quanto ha scritto Fabiano in uno dei passati thread:

          suggerisco di far flottare tutte le figure e di posizionarle prevalentemente con top.
          ti consiglio di dare un occhio al pacchetto varioref.
          scrivendo `vedi~figura~\vref{figmia}` l’output sara’
          figura 3 se la figura e’ nella stessa pagina;
          figura 3 pagina precedente/successiva in documenti oneside con figura in pagina precedente o seguente;
          figura 3 nella pagina a fronte in documenti twoside;
          figura 3 a pagina 7 se c’e’ piu’ di una pagina di differenza fra la figura e il testo.

          in questo modo, con posizionamento flottante prevalentemente top e varioref ottengo dei documenti elastici [se fai una modifica, non devi preoccuparti di controllare a mano figura per figura] e con le figure che di solito non si allontanano troppo dal punto di inserimento e posso concentrarmi sul contenuto piuttosto che sul layout.

          Ciao, Lorenzo

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

      Go to top