Re: Dimensione immagini

#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.

    Go to top