Incluindo uma imagem jpg, a compilação do código-fonte em pdflatex não cria pdf

Incluindo uma imagem jpg, a compilação do código-fonte em pdflatex não cria pdf

Estou escrevendo um relatório sobre um projeto de programação em LaTeX e preciso inserir algumas imagens. Criei imagens usando um programa de Elementos Finitos Freefem++ e salvei os resultados em arquivos de imagem. Tentei png, jpeg, eps e ps, mas gostaria de usar jpg e nenhum deles funcionou até agora. Pesquisei em toda a Internet e parece que meu código deve funcionar, então não tenho certeza do que estou perdendo.

\documentclass[a4paper,11pt]{article}

\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage[pdftex]{graphicx}
%\graphicspath{{images/}}
 \DeclareGraphicsExtensions{.pdf,.jpeg,.png,.jpg}   

\usepackage[english]{babel}
\begin{document}

\section*{Introduction}
\addcontentsline{toc}{section}{Introduction}


The domain considered will be

\begin{figure}
\begin{center}
\includegraphics{domain.jpg}
\end{center}
\end{figure}

\end{document}

Já tentei com o arquivo em uma pasta images e na mesma pasta do documento, já tentei com e sem a extensão do arquivo, com e sem [pdftex]e \DeclareGraphicsExtensions, etc. Compila com pdflatexe não dá erros, código de saída 1, então, quando tento visualizar o pdf, ele diz que não existe e pergunta se compilei o código-fonte. Se eu compilar com pdftex, apenas criará uma primeira página em branco. Já tentei de tudo que consigo pensar, não sei o que estou perdendo. Talvez um pacote que eu precise instalar no meu computador? Ou apenas um erro estúpido no código? Alguém vê meu erro? Desde já, obrigado!

Responder1

O problema: aparentemente Freefem++cria imagens .jpg, .png, etc. que não são legíveis pelo LaTeX. Graças aos comentários acima me dizendo que havia um problema com a imagem, decidi tentar convertê-la para .jpeg(outros formatos provavelmente também teriam funcionado, mas eu queria jpg). Para fazer isso, instalei o pacote ImageMagick do terminal no Linux e usei o convertcomando para criar domain.jpeg:

$ convert domain.JPG domain.jpeg

Isso tornou a imagem utilizável, depois foi só formatar para que ficasse correta.

Responder2

Me deparei com o mesmo erro com pandoc ao tentar converter epub para pdf:

[macfarlane@boulder]:(~/Documents)$ pandoc -s -t latex --toc --chapters \
    --latex-engine=lualatex $BOOK.epub -o $BOOK.pdf
!LuaTeX error (file /tmp/tex2pdf.23440/3f21bef8dd2877aad72f5cddbf00284ca88fa0e7
.jpg): reading JPEG image failed (no marker found)
 ==> Fatal error occurred, no output PDF file produced!

pandoc: Error producing PDF
[macfarlane@boulder]:(~/Documents)$ 

Aqui está uma solução alternativa. Verifique se um arquivo tex pode ser produzido:

[macfarlane@boulder]:(~/Documents)$ pandoc \
    -s -t latex \
    --toc --chapters \
    --latex-engine=lualatex $BOOK.epub -o $BOOK.tex
[macfarlane@boulder]:(~/Documents)$ 

Extraia as imagens e outras mídias contidas no contêiner epub para o caminho DIR, criando-o se necessário, e ajuste as referências das imagens no documento [LaTeX] para que apontem para os arquivos extraídos, com a opção --extract-media= DIR . Selecione o diretório atual que também contém o arquivo ePub. Adicione --extract-media=. o que significa extrair no diretório atual, que também é $HOME/Documents

[macfarlane@boulder]:(~)$ cd Documents
[macfarlane@boulder]:(~/Documents)$ pandoc \
    -s -t latex \
    --toc --chapters \
    --latex-engine=lualatex \
    --extract-media=. $BOOK.epub -o $BOOK.tex
pandoc: extracting ./images/9781501144158.jpg
pandoc: extracting ./images/com-01.jpg
pandoc: extracting ./images/f0003-01.jpg
pandoc: extracting ./images/f0005-01.jpg
[ ----- extract-media logging shortened ---- ]
pandoc: extracting ./images/f0177-01.jpg
pandoc: extracting ./images/f0187-01.jpg
pandoc: extracting ./images/logo.jpg
pandoc: extracting ./images/logo1.jpg
pandoc: extracting ./images/title.jpg
[macfarlane@boulder]:(~/Documents)$ 

Revogue as imagens .jpg extraídas criando novas imagens JPEG compatíveis com LaTeX com o utilitário `convert' (do conjunto de programas imagemagick)

[macfarlane@boulder]:(~/Documents)$ cd images
[macfarlane@boulder]:(~/Documents/images)$ convert logo1.jpg logo1.jpeg 

e Substitua as imagens .jpg extraídas anteriormente pelo pandoc pelas imagens .jpeg recém-criadas:

[macfarlane@boulder]:(~/Documents/images)$ mv logo1.jpeg logo1.jpg 

Pode-se fazer isso com um único loop for na linha de comando:

[macfarlane@boulder]:(~/Documents)$ 
[macfarlane@boulder]:(~/Documents)$ cd images/
[macfarlane@boulder]:(~/Documents/images)$ for i in *.jpg; do convert $i `echo $i | sed 's/jpg/jpeg/'`; done
[macfarlane@boulder]:(~/Documents/images)$ rm -f *.jpg
[macfarlane@boulder]:(~/Documents/images)$ for i in *.jpeg; do mv $i `echo $i | sed 's/jpeg/jpg/'`; done 
[macfarlane@boulder]:(~/Documents/images)$ cd ..
[macfarlane@boulder]:(~/Documents)$ 

Execute a primeira linha de comando novamente, mas desta vez faça com que o mecanismo LuaTeX procure por seu \includegraphics no mesmo diretório onde as imagens ePub foram extraídas anteriormente ( --data-dir=DIRECTORY Especifique o diretório de dados do usuário para procurar por arquivos de dados pandoc. Se esta opção não for especificada, o diretório de dados do usuário padrão será usado. Isto é, no Unix: $HOME/.pandoc ) adicionando a opção --data-dir=. :

[macfarlane@boulder]:(~/Documents)$ pandoc \
    -s -t latex \
    --toc --chapters \
    --latex-engine=lualatex \
    --data-dir=. $BOOK.epub -o $BOOK.pdf
[macfarlane@boulder]:(~/Documents)$ 

informação relacionada