Immagini LaTex

Pierlu11
Salve, sto cerando di inserire un'immagine in LaTex ma ogni volta esce fuori il messaggio di errore "file not found".
Ho provato con il comando "\includegraphics" e con "\begin{figure}..." ma in entrambi i casi non ho avuto risultati.
Qualcuno può aiutarmi?

Risposte
apatriarca
Potresti inserire la parte del file latex in cui inserisci l'immagine, spiegare come lanci la compilazione latex e dove si trova l'immagine? Dalla tua descrizione è difficile capire cosa sbagli. Potrebbe essere un problema con il particolare percorso del file (per esempio la presenza di / o caratteri non validi o altro).

Pierlu11
L'immagine è in formato .jpeg e si trova nella stessa cartella del file in LaTex.
Il codice che uso è

begin{figure}[htbp]
centering
includegraphics{eps/NOME.eps}
caption{NOME\label{NOME}}
end{figure}

oppure

includegraphics{NOME}.

L compilazione LaTex la lancio con "pdfLaTex".

vict85
Ma l'immagine non era un jpeg? Perché provi a caricare un eps?

Pierlu11
Anche se uso il codice

begin{figure}[htbp]
centering
includegraphics{jpeg/NOME.jpeg}
caption{NOME\label{NOME}}
end{figure}

non funziona.

apatriarca
Perché c'è un "jpeg/" davanti al nome? Non ho usato latex di recente ma se non ricordo male tra parentesi graffe ci devi mettere semplicemente il percorso al file..

Pierlu11
Ho provato ma non va né con

begin{figure}[htbp]
centering
includegraphics{NOME.jpeg}
caption{NOME\label{NOME}}
end{figure}

né con

begin{figure}[htbp]
centering
includegraphics{NOME}
caption{NOME\label{NOME}}
end{figure}

apatriarca
Puoi anche inserire solo il nome del file senza l'estensione da quello che vedo. Quindi semplicemente \includegraphics{nome} . La domanda potrebbe essere stupida, ma stai omettendo gli "\" dal codice, giusto? Hai inoltre inserito \usepackage{graphicx} nel preambolo? C'è una ragione per cui invece di inserire il vero codice ce lo mostri cambiato? È difficile capire se in realtà stai solo scrivendo il codice sbagliato o se c'è qualche altro problema.

Pierlu11
Non capisco dove non riesco a spiegarmi... dopo aver inserito

\usepackage{graphicx}

ho provato a scrivere il codice esattamente nei modi seguenti:

\begin{figure}[htbp]
\centering
\includegraphics{NOME}
\caption{NOME\label{NOME}}
\end{figure}

\begin{figure}[htbp]
\centering
\includegraphics{NOME.jpeg}
\caption{NOME\label{NOME}}
\end{figure}

\begin{figure}[htbp]
\centering
\includegraphics{jpeg/NOME.jpeg}
\caption{NOME\label{NOME}}
\end{figure}

\includegraphics{NOME}

ma nessuno di questi funziona.

vict85
pdflatex non è in grado di trovare il file, per cui il tuo file deve trovarsi in qualche posto in cui Latex non si aspetta. Rispetto al file .tex, dove si trova il file? Nota che puoi settare la cartella in cui cercare il file con [inline]\graphicspath[/inline].

Inoltre [inline]\includegraphics{NOME}[/inline] e [inline]\includegraphics{jpeg/NOME.jpeg}[/inline] non sono equivalenti: il primo cerca una immagine di nome NOME nella stessa cartella del file .tex, l'altro cerca un file jpeg chiamato NOME nella sottocartella jpeg.


P.S.: Usa il tag
[code]
[/code] e non il comando per la matematica.

Pierlu11
Dove va inserito il comando "\graphicspath" per inserire la cartella dove si trova il file?
Il file LaTex e l'immagine si trovano nella stessa cartella ma neppure "includegraphics{NOME}" funziona.

apatriarca
Senza mostrare un po' più di quello che stai facendo e dei messaggi che vengono visualizzati non abbiamo alcun modo di capire cosa effettivamente stia succedendo. Ci possono essere numerosi problemi, dalla possibilità che il formato non sia supportato, un path problematico (troppo lungo o con caratteri speciali o altro) a problemi di installazione o di come è impostato il tuo programma. Mostra il codice che stai testando e l'outup del programma in modo che possiamo provare a riprodurre il tuo problema.

Pierlu11
Oltre a quanto ho scritto c'è solo il resto della tesi che non ha nulla a che vedere con l'inserimento dell'immagine quindi non penso possa aiutare a capire molto di più...
Il massimo che posso fare e darvi tutti i dati sull'immagine, aggiungere un begin e un end document al codice e dire esattamente qual è l'errore.

Immagine:
588x887
155KB
ImmagineJPEG

Codice:

\documentclass[a4paper,12pt,openright,twoside]{report}
\usepackage{graphicx}

\begin{document}

\begin{figure}[htbp]
\centering
\includegraphics{NOME}
\caption{NOME\label{NOME}}
\end{figure}

\end{document}

Errore:
LaTeX Error: File `NOME' not found.

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

l.686 \includegraphics{NOME}

apatriarca
Ma il nome dell'immagine è NOME? Tra le parentesi graffe devi ovviamente avere il nome corretto dell'immagine. Ho creato un mini esempio di un file con una immagine su Overleaf come esempio.

Pierlu11
Si, l'immagine si chiama "NOME". Nel tuo esempio il nome dell'immagine andrebbe messo al posto di "home"?

apatriarca
No, l'immagine si chiama "jpeg-home.jpeg". A questo punto mi vengono in mente solo le seguenti idee:
1. Cancella tutti i file temporanei creati durante la compilazione del file latex e ricompila.
2. Prova a spostare il file in una diversa cartella, qualche percorso non troppo lungo e che non contenga alcuno spazio.
3. Prova a lanciare il programma su un altro computer.

Pierlu11
La terza soluzione non a vedo possibile... proverò con le prime due.
Intanto ho provato ad inserire
\DeclareGraphicsExtensions{-jpg]
e mi esce un nuovo messaggio di errore:
"Cannot determine size of graphic"

apatriarca
Ho trovato online un commento su quell'errore in cui la soluzione era cambiare l'estensione in ".jpg" (nel suo caso era originariamente ".JPG"). Potrebbe essere un bug di qualche versione particolare di pdflatex per cui fallisce. Provare ad aggiornare la distribuzione latex potrebbe essere un'altra alternativa. Quando dicevo altri computer pensavo a colleghi, il laboratorio informatico dell'università o servizi online (come Overleaf che ho usato per passarti l'esempio*).

* In realtà negli ultimi anni ho sempre solo usato tali sistemi.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.