RISOLTO (in parte) – sovrapposizione caption e figure eps

  • Questo topic ha 9 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 18 anni fa da MasterMirko.
  • Creatore
    Topic
  • #26691
    Up
    0
    Down
    ::


    Ciao a tutti,
    ho un problemino che non riesco a risolvere.
    Ho cercato precedenti topic sul forum ma non ho trovato niente a riguardo.

    In un documento utillizzante il seguente preambolo:

    `
    \documentclass[12pt,a4paper,twoside, openright]{book}

    \usepackage[textheight=\textheight,textwidth=\textwidth,bindingoffset=2cm,vcentering]{geometry}

    \usepackage{graphicx} %Pacchetto per inserire le figure nel Latex

    \usepackage{latexsym}

    \usepackage{amsfonts} %Pacchetto per inserire i caratteri matematici

    \usepackage{makeidx} %Pacchetto per generare l'indice analitico

    \usepackage[latin9]{inputenc} %Pacchetto per poter inserire direttamente nel testo

    %\usepackage[utf8x]{inputenc} %lettere accentate. Se si scrive in inglese

    %si può�commentare. Nota che per usare latin9 di opzione bisogna salvare in encoding ISO-xxxx-9.

    % se si salva come utf 8 bisogna installare il pacchetto unicode (non è un package) per latex e poi usare opzione utfx8x.

    \usepackage[T1]{fontenc} %Pacchetto che gestisce l'encoding T1

    \usepackage[english,italian]{babel} %Pacchetto per la sillabazione delle parole

    %in italiano e in inglese

    \usepackage[Lenny]{fncychap} %Pacchetto per avere diversi tipi di titoli di

    %capitolo diversi. Commentare se si desidera

    %avere i titoli in maniera normale. Gli stili

    %possibili sono 2: Sonny, Lenny

    \usepackage{setspace} %pacchetto per l'interlinea che puo essere \singlespacing \onehalfspacing o \doublespacing

    \usepackage{verbatim} %Pacchetti per stampare il codice

    \usepackage{listings} %Pacchetti per stampare il codice

    \usepackage{fancyvrb} %Pacchetti per stampare il codice

    \usepackage{epigraph}

    \usepackage{acronym}

    \usepackage{natbib} %biblio con \citep \citet

    `

    inserisco delle figure *.eps con il seguente codice all’interno di un Capitolo:

    `
    \begin{figure}[t]

    \vspace*{2mm}

    \begin{center}

    \includegraphics[width=\textwidth]{img/new_msla_sw12}

    \end{center}

    \caption{bla bla bla.}

    \label{sla-pc2}

    \end{figure}

    `

    Le figure sono tutte prodotte con matlab, sono tutte di dimensioni maggiori rispettop alla larghezza del testo per cui utilizzo ` width= ` per riportarle all’ordine.
    A seconda però della dimensione (o forse del fatto che sia in formato landscape piuttosto che portrait…?), alcune figure risultano avere la caption sovrapposta alla figura stessa (pressppoco a metà altezza), invece di essere 10 pt sotto la figura,come dovrebbe essere per default.
    Sottolineo che questo comportamento si verifica solo per certe immagini.
    Ho pensato ad un bug nella produzione delle immagini vettoriali…
    Ovviamente potrei risolvere spostando “a mano” la didascalia n pt sotto, ma vorrei qualcosa di più elegante.

    Inoltre per il posizionamento delle figure uso sempre [t] ma sembra che le figure vengano messe tutte in fondo al capitolo indipendentemente dalla indicazione della posizione. Questo probabilmente c’è in qualche guida…ehm ehm….
    🙄

    Qualche idea?
    Grazie ciao

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


      Intanto direi:`\begin{figure}[t]
      \centering
      \includegraphics[width=\textwidth]{img/new_msla_sw12}
      \caption{bla bla bla.}
      \label{sla-pc2}
      \end{figure}`senza mettere manualmente le spaziature, che LaTeX le gestisce bene di suo.
      Poi guarda questa discussione dove ho messo una procedura di produzione di immagini da matlab.

      Buona giornata

    • #26693
      Up
      0
      Down
      ::


      Ciao mirko,
      Grazie ma il centering al posto del center non sortisce effetti sul problema esposto.
      Per quanto riguarda le figure in se e per se, la cosa strana è che io le ho già usate in un documento latex che usava una documentclass piuttosto complesso fornito da una rivista e tutto funzionava bene.
      Ora provando a impaginare le STESSE immagini eps (prodotte direttamente da command line di matlab, senza salvarle una a una a mano perchè sono un certo numero) in questa classe book col preambolo suindicato, da’ questo genere di errore.
      Leggendo un po’ mi sembra di capire che potrebbe essere legato ad un mancato riconoscimento del bounding box delle stesse, che in questo caso viene riconosciuto più PICCOLO, contrariamente al problema che ho visto si riscontra più comunemente di box troppo grande e quindi relativo eccesso di spazio bianco.
      Vorrei evitare se possibile di risalvare tutte le immagini a mano, convertirle in pdf o altro.
      Altre idee?

      se può servire la stringa con cui salvo le immagini in matlab è pressappoco questa:

      `
      print('-depsc','-r300','-tiff',figure(i),['svd_h_corr',t])

      `

      Ah, sto lavorando in una macchina a 64 bit e le immagini sono state prodotte su una 32, può centrare qualcosa?

      News: provando con questo semplice codice:
      `
      \documentclass[12pt,a4paper]{article}
      \usepackage{graphicx}
      \begin{document}
      \begin{figure}[h]
      \centering
      \includegraphics[width=\columnwidth]{svd3}
      \caption{bla bla bla}
      \label{svd1-pc}
      \end{figure}
      \end{document}
      `

      Continua a darmi lo stesso errore sulla stessa figura…ergo è la figura?
      E si che prima funzionava…
      mah….

    • #26694
      Up
      0
      Down
      ::

      Ciao mirko,
      Grazie ma il centering al posto del center non sortisce effetti sul problema esposto.
      Per quanto riguarda le figure in se e per se, la cosa strana è che io le ho già usate in un documento latex che usava una documentclass piuttosto complesso fornito da una rivista e tutto funzionava bene.
      Ora provando a impaginare le STESSE immagini eps (prodotte direttamente da command line di matlab, senza salvarle una a una a mano perchè sono un certo numero) in questa classe book col preambolo suindicato, da’ questo genere di errore.
      Leggendo un po’ mi sembra di capire che potrebbe essere legato ad un mancato riconoscimento del bounding box delle stesse, che in questo caso viene riconosciuto più PICCOLO, contrariamente al problema che ho visto si riscontra più comunemente di box troppo grande e quindi relativo eccesso di spazio bianco.
      Vorrei evitare se possibile di risalvare tutte le immagini a mano, convertirle in pdf o altro.
      Altre idee?

      se può servire la stringa con cui salvo le immagini in matlab è pressappoco questa:

      `
      print('-depsc','-r300','-tiff',figure(i),['svd_h_corr',t])

      `

      Ah, sto lavorando in una macchina a 64 bit e le immagini sono state prodotte su una 32, può centrare qualcosa?

      News: provando con questo semplice codice:
      `
      \documentclass[12pt,a4paper]{article}
      \usepackage{graphicx}
      \begin{document}
      \begin{figure}[h]
      \centering
      \includegraphics[width=\columnwidth]{svd3}
      \caption{bla bla bla}
      \label{svd1-pc}
      \end{figure}
      \end{document}
      `

      Continua a darmi lo stesso errore sulla stessa figura…ergo è la figura?
      E si che prima funzionava…
      mah….

      Dovresti usare gs da linea di comando, per far ricalcolare i BB, ma non so come si fa… io in genere lo faccio manualmente, ma se le figure sono tante, la cosa si fa noiosa.

      Per provare, fallo a mano su una e vedi se il problema si risolve. In quel caso, cerca su internet la sintassi per usare dalla command line il GS.

      Ho trovato questa, ma è per epstopdf, guardala lo stesso.

      Buona giornata

    • #26695
      Up
      0
      Down
      ::


      trovato qualcosa:
      l’errore anche con il preambolo super-semplificato, lo da’ sempre compilando con dvipdfm

      `
      dvipdfm testo.dvi
      `

      Che ho dovuto usare perchè usando
      `
      dvipdf $1.dvi $1.pdf
      `
      sul testo completo mi dava errori di costruzione del pdf su numerose pagine del tipo:
      Page 1 may be too complex to print
      Page 5 may be too complex to print
      etc….
      Quindi?
      Qualcuno capisce di che si tratta?
      Grazie ciao

    • #26696
      Up
      0
      Down
      ::

      trovato qualcosa:
      l’errore anche con il preambolo super-semplificato, lo da’ sempre compilando con dvipdfm

      `
      dvipdfm testo.dvi
      `

      Che ho dovuto usare perchè usando
      `
      dvipdf $1.dvi $1.pdf
      `
      sul testo completo mi dava errori di costruzione del pdf su numerose pagine del tipo:
      Page 1 may be too complex to print
      Page 5 may be too complex to print
      etc….
      Quindi?
      Qualcuno capisce di che si tratta?
      Grazie ciao

      Non ha molto a che vedere con il problema sulle immagini di cui sopra.

      Con questo prendi il DVI errato e lo converti in PDF errato anch’esso di conseguenza.

      Se poi vuoi il PDF, ti consiglio di compilare con PDFLaTeX, e non con LaTeX.

    • #26697
      Up
      0
      Down
      ::


      Invece sembra che fosse proprio il metodo di conversione da dvi to pdf:
      Ho appena provato a convertire utilizzando:
      `
      dvips $1
      ps2pdf $1.ps $1.pdf
      `
      invece di dvipdfm o dvipdf e non da’ più l’errore, cioè impagina correttamente quelle stramaledette didascalie.
      Diciamo qundi che il mio probl è risolto, anche se la causa mi è tuttora sconosciuta.
      Grazie dell’aiuto,
      alla prox.
      Antonio

    • #26698
      Up
      0
      Down
      ::

      Invece sembra che fosse proprio il metodo di conversione da dvi to pdf:
      Ho appena provato a convertire utilizzando:
      `
      dvips $1
      ps2pdf $1.ps $1.pdf
      `
      invece di dvipdfm o dvipdf e non da’ più l’errore, cioè impagina correttamente quelle stramaledette didascalie.
      Diciamo qundi che il mio probl è risolto, anche se la causa mi è tuttora sconosciuta.
      Grazie dell’aiuto,
      alla prox.
      Antonio

      Prova a fare le immagini in PDF e a compilare direttamente con pdfLaTeX, che abilita alcuni pacchetti utili, senza fare quel doppio passaggio.

    • #26699
      Up
      0
      Down
      ::


      Grazie dei consigli,
      proverò la prox volta il pdflatex.

      Per ora le immagini le lascio in eps perchè il print di matlab non supporta direttamente il pdf.

      Saluti

    • #26700
      Up
      0
      Down
      ::

      Grazie dei consigli,
      proverò la prox volta il pdflatex.

      Per ora le immagini le lascio in eps perchè il print di matlab non supporta direttamente il pdf.

      Saluti

      Per quello ti avevo consigliato epstopdf, con il manuale!

      Buon lavoro!

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

Go to top