Me gustaría insertar una imagen GIF en mi texto y encontré estoConvierta una imagen GIF a PNG sobre la marcha.
Así que pegué en mi 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}
Es decir, tengo
\usepackage{graphicx}
\DeclareGraphicsRule{.JPG}{eps}{.JPG}{`convert #1 eps:-}
y luego
\framebox{\includegraphics[0,0][150,200]{nn.JPG}}
También he cambiado el nombre de la imagen comonn.JPG
¡Pero no funciona! ¿Alguna ayuda?
Respuesta1
Aquí está el MWE para pdfLaTeX, suponiendo que tenga la línea de comandoconvert
deMagia de imageninstalado, y usando la .png
ruta, como pdfLaTeX
ya tiene el 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:
Con el antiguo LaTeX (en modo dvi), habría que convertir GIF a EPS. Para ello se podrá sustituir lo \DeclareGraphicsRule
anterior por el siguiente:
\DeclareGraphicsRule{.gif}{eps}{.gif.bb}{`convert #1 eps:-}
Luego, el comando de conversión se escribe palabra por palabra en el .dvi
archivo y se ejecuta dvips
siempre que se ejecute con la -R0
opción. Finalmente, el archivo PDF se puede generar usando ps2pdf
.
Sin embargo, este método tiene varios inconvenientes:
- las cifras convertidas son enormes;
- no funciona con
dvipdfm(x)
. - solo funciona si el
.gif.bb
archivo ha sido creado, eso se puede hacer con un 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 archivo gráfico tmp.gif
.
En este contexto, resulta mucho más eficiente escribir un lote para realizar la conversión de todos los archivos fuera de LaTeX/dvips
, utilizando convert
las opciones adecuadas, o Netpbm
, o Irfanview
(solo Windows), etc.
EDITAR 2:En Windows, el convert
comando es una herramienta de manejo de disco y las versiones recientes de ImageMagick usan imagemagick convert
(con el espacio) en lugar del simple archivo convert
. Luego \epstopdfcall
debe modificarse en consecuencia.