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 pdflatex
e 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 convert
comando 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)$