Dimensione immagini

  • Creatore
    Topic
  • #95468
    Up
    0
    Down
    ::


    Ciao!
    Sono nuova e ci capisco ancora poco.
    E’ la prima volta che provo a inserire un’immagine; compilando il risultato nel pdf è che l’immagine non prende le dimensioni che indico nel codice ma resta delle sue dimensioni reali, che sono molto grandi in genere…
    Ho provato a scalarla con height e width e anche con scale ma non funziona. Ho notato però, disegnando un riquadro, che lo spazio che viene riservato all’immagine nell’articolo si modifica realmente con le opzioni di \includegraphics, ma l’immagine compare sempre enorme…
    Non so se si veda, ho provato ad allegare la pagina di pdf con il problema.
    Ho provato a compilare sia in LaTex sia in pdfLaTex inserendo un’immagine .eps o .jpg e .pdf. Il risultato non cambia.
    Riporto il pezzo di codice, magari sto facendo qualche errore cretino!!
    `
    \begin{figure}
    \centering
    \fbox{\includegraphics[width=.8\textwidth, height=.6\textheight, keepaspectratio]{images.pdf}}
    \caption{{ … }}
    \end{figure}
    `
    Uso il programma Texmaker.

    Se potete aiutarmi vi sarò infinitamente grata!
    Grazie

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


      Nella dichiarazione delle dimensioni c’è una ridondanza….
      Se dichiari altezza e larghezza poi l’indicazione di mantenere il rapporto tra le due dimensioni è di troppo.
      L’indicazione di dimensione è completa già con due di quelle informazioni. Dovresti dichiarare o
      1. Altezza e larghezza
      2. Altezza e aspectratio
      3. Larghezza e aspectratio

      Ma se non vuoi cambiare l’aspectratio è più comodo il comando scale.

      Nonostante questa ridondanza comunque il tuo codice dovrebbe funzionare correttamente. Puoi inserire un esempio minimo compilabile che riproduca il problema?

    • #95470
      Up
      0
      Down
      ::


      Grazie per il tuo aiuto! Le cose non cambiano anche se uso solo scale…
      Si avevo provato ad allegare il pdf ma a quanto pare non ci sono riuscita….! 🙁
      Ci riprovo!

      [attachment=1037]Page_1.JPG[/attachment]

      Ecco. Per renderti conto delle dimensioni dell’immagine, i numeri bianchi in figura arrivano fino a 35…

      Attachments:
      You must be logged in to view attached files.
    • #95471
      Up
      0
      Down
      ::


      Ciao e benvenuta nel forum 🙂

      Credo che il tuo problema sia dovuto al fatto che l’immagine non è ben scontornata. Quando hai utilizzato [tt]\fbox[/tt], il risultato che vedevi sul pdf presentava corposi spazi bianchi fra il riquadro nero e l’immagine stessa?

      Ciao
      Claudio

    • #95472
      Up
      0
      Down
      ::


      Vedere il pdf aiuta poco….
      Bisognerebbe vedere un esempio minimo compilabile ovvero il file di tex epurato di tutte le cose inutili e che riproduca il comportamento che riscontri.
      A me questo esempio funziona perfettamente

      `
      % !TEX encoding = UTF-8 Unicode
      % !TEX TS-program = pdflatex

      \documentclass[paper=a4, fontsize=11pt,fleqn]{book}

      \usepackage[T1]{fontenc}
      \usepackage[utf8]{inputenc}
      \usepackage[italian]{babel}
      \usepackage{graphicx}

      \begin{document}
      \begin{figure}
      \centering
      \fbox{\includegraphics[width=.4\textwidth, height=.3\textheight, keepaspectratio]{TramEs1.jpg}}
      \caption{{Caption 1}}
      \end{figure}
      \end{document}`

    • #95473
      alegenn
      Partecipante
        Up
        0
        Down
        ::

        Pasqualato” post=95068Ciao!
        Sono nuova e ci capisco ancora poco.
        E’ la prima volta che provo a inserire un’immagine; compilando il risultato nel pdf è che l’immagine non prende le dimensioni che indico nel codice ma resta delle sue dimensioni reali, che sono molto grandi in genere…
        Ho provato a scalarla con height e width e anche con scale ma non funziona. Ho notato però, disegnando un riquadro, che lo spazio che viene riservato all’immagine nell’articolo si modifica realmente con le opzioni di \includegraphics, ma l’immagine compare sempre enorme…
        Non so se si veda, ho provato ad allegare la pagina di pdf con il problema.
        Ho provato a compilare sia in LaTex sia in pdfLaTex inserendo un’immagine .eps o .jpg e .pdf. Il risultato non cambia.
        Riporto il pezzo di codice, magari sto facendo qualche errore cretino!!

        \begin{figure}
        \centering
        \fbox{\includegraphics[width=.8\textwidth, height=.6\textheight, keepaspectratio]{images.pdf}}
        \caption{{ … }}
        \end{figure}

        Uso il programma Texmaker.

        Se potete aiutarmi vi sarò infinitamente grata!
        Grazie

        Scusa, ma perché vuoi mettere la figura dentro un box ([tt]\fbox{…}[/tt])?
        Se usi questo codice
        `\begin{figure}
        \centering
        \includegraphics[width=0.7\textwidth]{nome della tuo file immagine}
        \caption{didascalia della tua immagine}
        \label{nome dell'etichetta della tua immagine}
        \end{figure}`
        che succede?

      • #95474
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          C’è qualcosa di strano, per esempio la figura .jpg che vorresti immettere non è ben formata, per esempio non contiene le dimensioni reali; è difficile dirlo senza disporre di quell’immagine; prova ad accluderla (se non è assolutamente privata e riservata), così che possiamo avere qualcosa da esaminare in un contesto reale; basta l’immagine, non occorre né classe, no esempio minimo mal compilabile (male, perché la figura esce fuori dalla pagina e non ne vuol sapere di venire ridimensionata.

          Normalmente \fbox, durante la lavorazione del documento} può servire per avere una idea di come l’immagine sia formata nello spazio che dice di occupare; mette molto bene in vista gli eventuali margini delle immagini NON scontornate. Non mi sembra che il tuo caso si riferisca ad una immagine non scontornata, ma, lavorare sull’immagine vera potrebbe darci dei lumi.
          Meglio ancora sarebbe usare il comando \frame, invece di \fbox (ovviamente \frame non si può usare con beamer) perché \frame non aggiunge nessuno spazio di separazione fra la cornice e il suo contenuto.


          @Little
          : le tue osservazioni sulla presenza di tre opzioni, width, height, keepaspect reatio, sono sbagliate. Se specifichi solo width, l’altezza viene dimensionata già con lo stesso fattore di scala; lo stesso, invertendo le parti, succede specificando solo height; keepaspectratio serve proprio quando le specifichi entrambe; non escludo che ci sia qualche caso in cui le si possa specificare senza usare l’opzione booleana keepaspectratio, ma la figura deve essere molto speciale per poter essere scalata con fattori di scala differenti per l’altezza e la larghezza; l’immagine ne viene distorta, come vista negli specchi deformanti dei luna-park. Keepaspectratio serve proprio per evitare questa deformazione; si usa quando la figura ha un coefficiente di forma diverso dal coefficiente di forma dello spazio dove la si vuole inserire. Allora \includegraphics usa il fattore di forma tale che altezza e larghezza vengano scalate mediante lo stesso
          fattore di scala, usando il massimo fattore che consenta di non uscire né in altezza né in larghezza dalle dimensioni specificate.
          Se questo non è abbastanza chiaro, supponi di avere una figura di 2000px per 2000px e volerla mettere in una pagina in modo che la sua base non superi \textwidth (15 cm, per esempio) e la sua altezza non superi 0.5\texheight (12cm, per esempio); è chiaro che la vuoi mettere in una spazio rettangolare, mentre la figura è quadrata di conseguenza se non usassi l’opzione keepaspectratio, il fattore di scala in orizzontale sarebbe di 15cm/2000px, mentre quello verticale sarebbe di 12cm/2000px; la figura ne verrebbe deformata; ma se specifichi keepaspectratio, il fattore di scala massimo che permette di NON eccedere le dimensioni specificate è il minore dei due, cioè, nell’esempio, 12cm/2000px e la figura resterebbe quadrata, senza uscire dallo spazio previsto; un \centering permetterebbe di centrale la figura nella larghezza della gabbia del testo e il tutto verrebbe composto correttamente.

        • #95475
          Up
          0
          Down
          ::


          Non conoscevo l’opzione keepaspectratio….se però ho due parametri (altezza e larghezza) e ne specifico 3 (altezza larghezza e rapporto tra le due) ho dato una informazione ridondante.
          Che vuol dire ridondante?
          Che se non fornisco informazioni coerenti (altezza e larghezza che stanno nel rapporto aspectratio) non esiste una soluzione al problema “determiniamo altezza e larghezza dell’immagine” che rispetti tutte le condizioni immesse. Come hai scritto infatti latex sceglierà (secondo i suoi criteri che hai già scritto tu) quali delle combinazioni
          1. altezza, aspectratio
          2. larghezza, aspectratio
          rispettare.

          Fortunatamente latex è abbastanza elastico da non cavillare su queste cose e quindi accetta anche una sola dimensione stabilendo di default che l’aspect ratio si mantiene costante, come ne accetta tre scegliendo lui poi come sistemare l’immagine ma questa è una caratteristica precisa di latex (mentre infatti l’informazione precisa è inequivocabile, quella incompleta oppure ridondante potrebbe essere gestita in maniera differente su programmi differenti).

          Il mio warning sulle informazioni ridondanti non vuol dire che sia sbagliato impostarlo in quel modo. Puoi farlo (e difatti funziona) ma se non conosci come vengono gestite le cose perdi il controllo.

          Puoi risolvere questo problema…ma alle condizioni di chi lo risolve. Puoi decidere che queste condizioni ti piacciono oppure no….ma alla base devi conoscere queste condizioni. Tutto qui…

        • #95476
          franen
          Partecipante
            Up
            0
            Down
            ::

            Little” post=95088se però ho due parametri (altezza e larghezza) e ne specifico 3 (altezza larghezza e rapporto tra le due) ho dato una informazione ridondante.

            Io la vedrei così: se fornisci quei tre parametri, width e height non corrispondono a larghezza e altezza dell’immagine inserita, ma a larghezza massima accettabile e altezza massima accettabile dell’immagine, poi laTeX sceglie quale considerare a seconda dello spazio da occupare e della forma dell’immagine.

            Pertanto io non le definirei ridondanti.

            Fran

          • #95477
            Up
            0
            Down
            ::


            Ragazzi innanzitutto grazie infinite per il vostro aiuto.


            @Little
            ti copio il codice essenziale che sto usando!

            \documentclass[11pt,a4paper]{article}
            \usepackage[T1]{fontenc}
            \usepackage{geometry}
            \geometry{A4paper,top=3cm,bottom=3cm,left=2.5cm,right=2.5cm,twoside}
            \usepackage{color}
            \usepackage[dvips]{graphicx}
            \usepackage[italian]{babel}
            \usepackage{sidecap}
            \usepackage{wrapfig}
            \usepackage{hyperref}

            \begin{document}

            \begin{figure}[htbp]
            \centering
            \includegraphics[scale=0.5]{images.pdf}
            \caption{{ … }}
            \end{figure}

            \end{document}


            @alegenn
            purtroppo non cambia nulla… 🙁 lo mettevo solo per rendermi conto delle dimensioni che impostavo col codice


            @OldClaudio
            ti allego l’immagine che ho usato! Spero possa essere d’aiuto come dici tu…

            [attachment=1039]TRACE.jpg[/attachment]

            va bene così?

            Attachments:
            You must be logged in to view attached files.
          • #95478
            Up
            0
            Down
            ::


            Prova con: `
            \documentclass{article}
            \usepackage[T1]{fontenc}
            \usepackage[utf8]{inputenc}
            \usepackage[italian]{babel}
            \usepackage{graphicx}

            \nofiles
            \begin{document}
            \begin{figure}
            \centering
            \fbox{\includegraphics[scale=0.4]{TRACE}}
            \caption{La figura enorme}
            \label{fig:la-figura-enorme}
            \end{figure}
            \end{document}
            `

            Ciao
            Claudio

          • #95479
            alegenn
            Partecipante
              Up
              0
              Down
              ::

              Pasqualato” post=95093Ragazzi innanzitutto grazie infinite per il vostro aiuto.


              @Little
              ti copio il codice essenziale che sto usando!

              \documentclass[11pt,a4paper]{article}
              \usepackage[T1]{fontenc}
              \usepackage{geometry}
              \geometry{A4paper,top=3cm,bottom=3cm,left=2.5cm,right=2.5cm,twoside}
              \usepackage{color}
              \usepackage[dvips]{graphicx}
              \usepackage[italian]{babel}
              \usepackage{sidecap}
              \usepackage{wrapfig}
              \usepackage{hyperref}

              \begin{document}

              \begin{figure}[htbp]
              \centering
              \includegraphics[scale=0.5]{images.pdf}
              \caption{{ … }}
              \end{figure}

              \end{document}


              @alegenn
              purtroppo non cambia nulla… 🙁 lo mettevo solo per rendermi conto delle dimensioni che impostavo col codice


              @OldClaudio
              ti allego l’immagine che ho usato! Spero possa essere d’aiuto come dici tu…

              [attachment=1039]TRACE.jpg[/attachment]

              va bene così?

              Prova a fare come ti ha detto cfiandra, oppure togli l’opzione per il driver [tt][dvips][/tt] dal comando: [tt]\includegraphics{…}[/tt].
              Ciao

            • #95480
              Up
              0
              Down
              ::


              Ho risolto!!!


              @alegenn
              e @cfiandra come mi avete consigliato mi è bastato togliere l’opzione [dvips] dal comando \includegraphics{…}.

              Non so come ringraziarvi! Grazie mille a tutti!

              Ma……come mai poi?

            • #95481
              alegenn
              Partecipante
                Up
                0
                Down
                ::

                Pasqualato” post=95101Ho risolto!!!


                @alegenn
                e @cfiandra come mi avete consigliato mi è bastato togliere l’opzione [dvips] dal comando \includegraphics{…}.

                Non so come ringraziarvi! Grazie mille a tutti!

                Ma……come mai poi?

                Se vuoi approfondire la questione legata ai driver apri il terminale (prompt dei comandi su windows) e digita [tt]\texdoc graphicx[/tt] si aprirà il documento pdf che spiega, direttamente dalle parole dell’autore del pacchetto, le tipologie di driver riconosciuti e le relative opzioni.
                Saluti

              • #95482
                OldClaudio
                Partecipante
                  Up
                  0
                  Down
                  ::

                  Pasqualato” post=95101Ho risolto!!!


                  @alegenn
                  e @cfiandra come mi avete consigliato mi è bastato togliere l’opzione [dvips] dal comando \includegraphics{…}.

                  Non so come ringraziarvi! Grazie mille a tutti!

                  Ma……come mai poi?

                  Vedo soo ora il messaggio e vedo che ti è già stato segnalato l’errore “capitale” che hai fatto nello specificare il driver sbagliato.

                  Ricapitoliamo: né il programma latex né il programma pdflatex eseguono direttamante le operazioni per trattare le immagini. ma le devolvono ai psogrammi che servono per visualizzare o per traformare il file di uscita. Nei dettagli:

                  1) Il prgramma latex produce in unscita un file DVI, (DeVice Idependent) quindi per visualizzarlo occorre un altro programma che sappia interpretare quallo che si trova dentro il file DVI. Alcuni visualizzatori di questo tipo di file sono in grado di decifrare ed eseguire dei comandi estranei al mondo di TeX; per questo fin dall’infanzia del sistema TeX, dopo le prime urgenti necessità di visualizzazione e di stampa, e la nascita del linguaggio PostScript, fu creato per il mondo TeX il programma convertitore di formato dvips, che trasformava il file DVI in formato PS; il linguaggio PostScript era e resta un poderoso linguaggio di presentazione grafica degli stampati e il mondo Linux l’ha fatto suo; il programma per elaborare e gestire i file in formato PDF per eccellenza era ghostscript phe eprmetteva anche di “stampre” il documento su schermo; questa funzione è poi stata risolta meglio con una interfaccia grafica ghostview, più semplice da usare ed utile ancora oggi. I comandi per scalare, ruotare, deformare, eccetera, le immagini erano comandi PostScript; TeX disponeva di un comando apposta per inviare comandi estranei al programmi esterni, per cui quando uscì il pacchetto graphicx questo inizialmente fu accompagnato da un iniseme di driver, uno dei quali era il driver dvips, che serviva appunto per trasferire i comandi esterni al programma di trasformazione affinché inserirsse i debiti comandi PostScript nel suo file di uscita in formato PS.

                  2) Quando usci il programma pdftex del sistema TeX, che permetteva di avere direttamante un file di uscita in formato PDF, fu creato il file pdftex per il pacchetto graphicx, affinché inserisse direttamente nel file di uscita i debiti comandi PDF al fine di eseguire tutte le operazioni di scalamento, rotazione, deformazione, eccetera, con il linguaggio PDF.

                  3) col tempo il pacchetto graphocx è diventato in grado di stabilire da solo con quale programma (latex, pdflatex, xelatex, lualatex, eccetera) viene usato e da solo sa caricarsi il driver apposito perinserire nel file di uscita i debiti comandi dipendenti dal motore che poi avrebbe dovuto rendere visibile il contenuto del file di uscita.

                  4) Oggi, quindi, non bisogna mai specificare nessun driver al pacchetto graphicx, pperché ci pensa da solo; se si specifica il driver giusto, si fa una cosa ridondante; se si specifica il driver sbagliato si combinano i pasticci che sono capitati a te. è ovvio: se gli chiedi di usare i comandi PostScript, per agire graficamente all’interno di un programma che non è capace di interpretarli, il programma pdftex, non li interpreta e si limita a includere la figura alle sue dimensioni normali.

                  Direi che il “chissà come mapi, pi?” è abbastanza evidente; cpaisco che aualche parola in più non guasta, ma è un po’ come l’uovo di Colombo.

                  Per @Little; L’errore che traspare ancora dalla tua ultima risposta discende dal fatto che ti riferisci ad una opzione aspectratio che è sconosciuta a graphicx, e non consideri l’opzione riconosciuata da graphicx keepaspectratio, che tu stesso ammetti di non averne avuto conoscenza prima di contribuire a questo filone. Vedi dunque che le tue argomentazioni si riferiscono a qualcosa implicito (graphicx fa così di default), ma l’opzione non essite. L’opzione che esiste si riferisce a disuguaglianze; keepaspecratio unita alle impostazioni di width e di height, vuol dire

                  keepaspectratio := begin
                  select max scalefactor such that
                  width<= specifica orizzontale and height <= specifica verticale end e ti rendi conto che le tre informazioni portano ad un risultato univoco e non ce ne è nessuna ridondante. Se ci fosse, sarebbe ridondante l'opzione aspectratio, perché è quello che fa graphics quando non gli si specifica nessuna opzione di forma ma si specifica solo width oppure height.

                  D’altra parte la guida grfguide (da leggere con texdoc grfguide, come ti è già stato detto) specifica chiaramente (pagine 8 e 9):

                  width Required width. The graphic is scaled to this width.
                  height Required height. The graphic is scaled to this height.
                  totalheight Specify the total∘height (height + depth) of the figure. This will
                  differ from the ‘height’ if rotation has occurred. In particular if the figure has been rotated by −90 then it will have zero height but large depth.
                  keepaspectratio Boolean valued key like ‘clip’. If set to true then specifying both ‘width’ and ‘height’ (or ‘totalheight’) does not distort the figure but scales such that neither of the specified dimensions is exceeded.

                  Come vidi non i sono inventato niente.

                • #95483
                  Up
                  0
                  Down
                  ::


                  Non avete capito quello che ho scritto ma fa niente…me ne farò una ragione.
                  Ho perso fin troppo tempo per cercare di spiegarlo (evidentemente male) ma non intendo spenderne ancora visto e considerando anche che non era questo l’argomento del Thread 🙂

                • #95484
                  Up
                  0
                  Down
                  ::

                  Little” post=95105Non avete capito quello che ho scritto ma fa niente…me ne farò una ragione.
                  Ho perso fin troppo tempo per cercare di spiegarlo (evidentemente male) ma non intendo spenderne ancora visto e considerando anche che non era questo l’argomento del Thread 🙂

                  Ci sei quasi 🙂

                  Il punto è che non c’è “informazione ridondante”. Se tu dai come specifica larghezza+altezza hai un risultato. Se dai larghezza+altezza+keepaspectratio ci possono essere tre alternative:
                  1): larghezza+altezza vengono mantenute perché soddisfano la relazione che OldClaudio ha allegato;
                  2): la larghezza è eccessiva rispetto all’altezza e viene ridimensionata;
                  3): l’altezza è eccessiva rispetto alla larghezza e viene ridimensionata.

                  Come vedi, senza quell’informazione, questi tre casi non sono esisterebbero. Perciò non è ridondante.

                  Ciao
                  Claudio

                • #95485
                  Up
                  0
                  Down
                  ::

                  Little” post=95105Non avete capito quello che ho scritto ma fa niente…me ne farò una ragione.
                  Ho perso fin troppo tempo per cercare di spiegarlo (evidentemente male) ma non intendo spenderne ancora visto e considerando anche che non era questo l’argomento del Thread 🙂

                  Io capisco ben poco in generale! Ma grazie lo stesso per il tuo aiuto e, a guardare meglio, se inserivo i pacchetti come mi avevi già consigliato tu in principio avrei risolto subito! Forse senza capire perchè però…

                • #95486
                  Up
                  0
                  Down
                  ::



                  @OldClaudio
                  grazie per la tua esauriente spiegazione! Fantastico!

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

              Go to top