Crare catalogo con latex

  • Questo topic ha 8 risposte, 5 partecipanti ed è stato aggiornato l'ultima volta 18 anni fa da egreg9.
  • Creatore
    Topic
  • #26701
    Up
    0
    Down
    ::


    Salve a tutti…

    Sono nuovo all’uso di questo strumento. Ho letto qualche guida, qualcosa ho capito, qualcos’altro non molto….
    Vi spiego il mio problema: devo generare un catalogo che sarà formato da un tot di pagine contenenti foto una accanto all’altra con sotto ogni foto il codice dell’articolo.
    Creerò uno script che farà una query su un database per ottenere le informazioni che mi servono (codice immagine e path dell’immagine) e poi scriverà un file .tex.

    Ora sto guardando come poter fare qualcosa del genere. Ho seguito questa guida http://www.telug.it/marco/LaTeX-PDF-HOWTO/LaTeX-PDF-HOWTO.html e più o meno sono riuscito a fare qualcosa.

    In sostanza se si guarda la guida spiega di fare questo per aggiungere una immagine:

    `01 \begin{figure}
    02 \centerline{\includegraphics[width=0.7\textwidth]{category}}
    03 \caption{Categories of Free and Non-Free Software, taken from
    04 {\tt http://www.gnu.org/philosophy/categories.html}}
    05 \label{software-categories}
    06 \end{figure}
    `

    Io ho fatto il mio script che continua ad aggiungere questo pezzo di codice (senza caption ne label per provare). Compilando il file poi dopo una quindicina di immagini mi viene un errore sui float (ora non ho l’errore esatto, domattina lo posto).

    Qualcuno ha dei suggerimenti da darmi? O magari un modo più furbo….
    Poi dovrò anche abbellire la pagina creando un layout standard per le pagine con logo bordini ecc ecc… ma per ora mi accontento di generare la serie di foto.

Visualizzazione 7 filoni di risposte
  • Autore
    Risposte
    • #26702
      lorenzo.pantieri
      Partecipante
        Up
        0
        Down
        ::

        `01 \begin{figure}
        02 \centerline{\includegraphics[width=0.7\textwidth]{category}}
        03 \caption{Categories of Free and Non-Free Software, taken from
        04 {\tt http://www.gnu.org/philosophy/categories.html}}
        05 \label{software-categories}
        06 \end{figure}
        `

        Non ho capito molto del tuo problema. Di sicuro, posso dirti che questo codice non è gran che: non userei \centerline, ma \centering. Anche usare \tt (è obsoleto, fra l’altro) per inserire un indirizzo Web è proprio bruttino (c’è il comando \url del pacchetto url). E’ possibile aumentare il numero dei float gestibili da LaTeX, ma prima di farlo ti suggerisco di approfondire la cosa su una guida.

        http://www.guit.sssup.it/phpbb/viewtopic.php?t=405&highlight=memoria+float

        Ciao,
        L.

      • #26703
        Up
        0
        Down
        ::


        Cerco di spiegarmi meglio.
        Il mio script interroga un database poi controlla la presenza di alcuni file e in base a questo genera un file.tex
        In questo file c’è un header costituito dall’intestazione indicata nella guida che ho indicato sopra e poi c’è la serie di immagini incluse. Ecco un pezzo di questo codice:

        `\begin{figure}[htbp]
        \centering{\includegraphics[height=3cm]{./img/B523-40}}
        \end{figure}
        \begin{figure}[htbp]
        \centering{\includegraphics[height=3cm]{./img/B523}}
        \end{figure}
        \begin{figure}[htbp]
        \centering{\includegraphics[height=3cm]{./img/B524-24}}
        \end{figure}
        \begin{figure}[htbp]
        \centering{\includegraphics[height=3cm]{./img/B524-28}}
        \end{figure}
        \begin{figure}[htbp]
        \centering{\includegraphics[height=3cm]{./img/B524-40}}
        \end{figure}
        \begin{figure}[htbp]
        \centering{\includegraphics[height=3cm]{./img/B525-28}}
        `

        Le figure incluse saranno un centinaio. Attualmente compilando vengono incluese 17 immagini e alla diciottesima mi esce l’errore:
        `! LaTeX Error: Too many unprocessed floats.

        See the LaTeX manual or LaTeX Companion for explanation.
        Type H for immediate help.

        `

        Ho cercato in giro per le guide ma non ho trovato nulla. Le uniche cose erano “Metti più testo tra le tue immagini”. Ma io testo da mettere non ne ho…
        Suggerimenti? Guide da consultare?

      • #26704
        Up
        0
        Down
        ::

        Cerco di spiegarmi meglio.
        Il mio script interroga un database poi controlla la presenza di alcuni file e in base a questo genera un file.tex
        In questo file c’è un header costituito dall’intestazione indicata nella guida che ho indicato sopra e poi c’è la serie di immagini incluse. Ecco un pezzo di questo codice:

        `\begin{figure}[htbp]
        \centering{\includegraphics[height=3cm]{./img/B523-40}}
        \end{figure}
        \begin{figure}[htbp]
        \centering{\includegraphics[height=3cm]{./img/B523}}
        \end{figure}
        \begin{figure}[htbp]
        \centering{\includegraphics[height=3cm]{./img/B524-24}}
        \end{figure}
        \begin{figure}[htbp]
        \centering{\includegraphics[height=3cm]{./img/B524-28}}
        \end{figure}
        \begin{figure}[htbp]
        \centering{\includegraphics[height=3cm]{./img/B524-40}}
        \end{figure}
        \begin{figure}[htbp]
        \centering{\includegraphics[height=3cm]{./img/B525-28}}
        `

        Le figure incluse saranno un centinaio. Attualmente compilando vengono incluese 17 immagini e alla diciottesima mi esce l’errore:
        `! LaTeX Error: Too many unprocessed floats.

        See the LaTeX manual or LaTeX Companion for explanation.
        Type H for immediate help.

        `

        Ho cercato in giro per le guide ma non ho trovato nulla. Le uniche cose erano “Metti più testo tra le tue immagini”. Ma io testo da mettere non ne ho…
        Suggerimenti? Guide da consultare?

        L’errore è probabilmente dovuto alla mancanza di testo (almeno, nel tuo codice non ce n’è traccia). LaTeX posiziona le immagini nella pagina bilanciando testo e immagini sino a riempire la pagina, e se non c’è testo per riempire la pagina allora mette le immagini in una coda in attesa che ci sia abbastanza testo. Quando però la coda è troppo lunga si genera un errore.
        Non so che layout intendi dare alla pagina, ma visto che le immagini sono alte 3cm penso che ti convenga passare a qualcosa come minipage o subfig.
        Tutto dipende dal layout.
        Leggi http://www.guit.sssup.it/downloads/fig_tut.pdf per avere chiaro il problema.

        Andrea

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

          `\begin{figure}[htbp]
          `
          Suggerimenti? Guide da consultare?

          Se hai una sfilza di figure grosse (ma non mi pare il tuo caso) si può provare a posizionarle con l’opzione
          `\begin{figure}[!p]
          `
          tranne la prima, da posizionare con
          `\begin{figure}[!h]
          `
          Se le figure non sono grandi e una per pagina è troppo, prova a inserire un
          `\clearpage`
          dopo ogni due o tre.

          Altri stratagemmi possono essere:
          1. l’opzione [H] del pacchetto float;
          2. il comando \FloatBarrier del pacchetto placeins;
          3. anche raggruppare più figure in un unico float con il comando \ContinuedFloat del pacchetto subfig può essere un’idea.

          Suggerimenti? Guide da consultare?

          Le guide dei pacchetti float, placeins e subfig. E un po’ di lavoro manuale di impaginazione.

          LaTeX fa un buon lavoro con i float solo se il rapporto testo/float è alto. Nel tuo caso, ti tocca usare qualche trucco, e la bontà del risultato finale non per nulla è garantita.

          Ciao,
          L.

        • #26706
          Up
          0
          Down
          ::

          `\begin{figure}[htbp]
          `
          Suggerimenti? Guide da consultare?

          Se hai una sfilza di figure grosse (ma non mi pare il tuo caso) si può provare a posizionarle con l’opzione
          `\begin{figure}[!p]
          `
          tranne la prima, da posizionare con
          `\begin{figure}[!h]
          `
          Se le figure non sono grandi e una per pagina è troppo, prova a inserire un
          `\clearpage`
          dopo ogni due o tre.

          Altri stratagemmi possono essere:
          1. l’opzione [H] del pacchetto float;
          2. il comando \FloatBarrier del pacchetto placeins;
          3. anche raggruppare più figure in un unico float con il comando \ContinuedFloat del pacchetto subfig può essere un’idea.

          Suggerimenti? Guide da consultare?

          Le guide dei pacchetti float, placeins e subfig. E un po’ di lavoro manuale di impaginazione.

          LaTeX fa un buon lavoro con i float solo se il rapporto testo/float è alto. Nel tuo caso, ti tocca usare qualche trucco, e la bontà del risultato finale non per nulla è garantita.

          Credo che di una faccenda simile si sia già discusso qui. L’ambiente figure per un lavoro del genere è da escludere a priori: non si tratta di illustrazioni fuori testo, quelle immagini sono il testo.

          Qualcuno con un po’ di pazienza forse riesce a ritrovare quel topic.

          Ciao
          Enrico

        • #26707
          Up
          0
          Down
          ::


          Se non ti interessa creare l’elenco delle figure, puoi toglierle dall’ambiente figure, così lui le posiziona proprio dove compaiono.

        • #26708
          lorenzo.pantieri
          Partecipante
          • #26709
            Up
            0
            Down
            ::

            http://www.guit.sssup.it/phpbb/viewtopic.php?t=3914&highlight=clearpage

            Io pensavo a http://www.guit.sssup.it/phpbb/viewtopic.php?t=4150

            È evidente che non si deve usare l’ambiente figure.

            Ciao
            Enrico

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

        Go to top