Gostaria de inserir uma imagem GIF no meu texto e encontrei issoConverta imagem GIF em PNG rapidamente.
Então colei no meu documento
\documentclass[a4paper]{article}
\usepackage{graphicx}
\DeclareGraphicsRule{.JPG}{eps}{.JPG}{`convert #1 eps:-}
\begin{document}
\framebox{\includegraphics[0,0][150,200]{DSC00121-SMALL.JPG}}
\end{document}
Ou seja, eu tenho
\usepackage{graphicx}
\DeclareGraphicsRule{.JPG}{eps}{.JPG}{`convert #1 eps:-}
e então
\framebox{\includegraphics[0,0][150,200]{nn.JPG}}
Também renomeei a imagem comonn.JPG
Mas não funciona! Qualquer ajuda?
Responder1
Aqui está o MWE para pdfLaTeX, supondo que você tenha a linha de comando convert
doMagia da Imageminstalado, e usando a .png
rota, como pdfLaTeX
já tem o método para PNG:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
% loading epstopdf package might be needed,
% but is often automatically loaded by graphicx when running pdfLaTeX
%\usepackage{epstopdf}
% epstopdf setup for GIF
\DeclareGraphicsRule{.gif}{png}{.png}{%
\noexpand\epstopdfcall{convert #1 \noexpand\OutputFile}%
}
\AppendGraphicsExtensions{.gif}
\begin{document}
\subsection*{This is a GIF version}
\includegraphics[width=0.5\linewidth]{tmp.gif}
% The GIF file is converted to tmp-gif-converted-to.png
\subsection*{This is a jpg version}
\includegraphics[width=0.5\linewidth]{tmp.jpg}
\subsection*{This is a png version}
\includegraphics[width=0.5\linewidth]{tmp.png}
\subsection*{This is a pdf version}
\includegraphics[width=0.5\linewidth]{tmp}
\end{document}
EDITAR:
Com o antigo LaTeX (no modo dvi), seria necessário converter GIFs em EPS. Para este efeito, pode-se substituir o \DeclareGraphicsRule
acima pelo seguinte:
\DeclareGraphicsRule{.gif}{eps}{.gif.bb}{`convert #1 eps:-}
Em seguida, o comando de conversão é escrito literalmente no .dvi
arquivo e executado desde dvips
que seja executado com a -R0
opção. Finalmente, o arquivo PDF pode ser produzido usando a extensão ps2pdf
.
No entanto, este método tem várias desvantagens:
- os números convertidos são enormes;
- não funciona com
dvipdfm(x)
. - funciona apenas se o
.gif.bb
arquivo tiver sido criado, isso pode ser feito com um comando como:identify tmp.gif |sed -r -e "s/(.*)\s+([0-9]{2,})x([0-9]{2,})\s+(.*)/%%BoundingBox: 0 0 \2 \3/" > tmp.gif.bb
para cada arquivo gráfico tmp.gif
.
Neste contexto, torna-se muito mais eficiente escrever um lote para realizar a conversão de todos os arquivos fora de LaTeX/dvips
, usando convert
com opções adequadas, ou Netpbm
, ou Irfanview
(somente Windows) e assim por diante.
EDITAR 2:No Windows, o convert
comando é uma ferramenta de manipulação de disco, e versões recentes do ImageMagick usam imagemagick convert
(com o espaço) em vez do arquivo convert
. Então \epstopdfcall
deve ser modificado de acordo.