84

Related:
Convert gif image to png on the fly

I have an image file -- a gif file, which is the graph of a function. How do I add it to a LaTeX file? Will it come out OK in the subsequent pdf file?

TCL
  • 1,140

4 Answers4

85

Use movie15 package. For example:

% in preamble
\usepackage{movie15}
% in documenet
\includemovie{1cm}{1cm}{ani.gif}

PDFLaTeX is needed, and you must use Adobe Reader with certain media player plug-in. Thus it often fails.

Another method is to use animate package. You have to convert the animated gif to separate images first, using ImageMagick:

convert foo.gif foo.png

This would sometimes create a suboptimal result; if the GIF is optimized try

convert foo.gif -coalesce foo.png

You may probably get foo-0.png, foo-1.png, ..., foo-18.png.

Then include the graphics:

\animategraphics{12}{foo-}{0}{18}

See the manual of animate for more options.

Leo Liu
  • 77,365
  • 10
    Interesting, but the OP didn't request animation ... :-) – Hendrik Vogt Feb 06 '11 at 08:50
  • 2
    Indeed. I noticed @TeX asked for animated GIF, so I appended this answer. – Leo Liu Feb 06 '11 at 09:40
  • I tried with different (animated) gif and none shows up in the PDF (Acrobat viewer), can any one point to a sample gif that works with movie15? – alfC Jan 10 '12 at 19:18
  • 3
    The original question doesn't mention animated gifs. The workflow for including animated gifs as opposed to plain gifs is so significantly different that I think this answer isn't helpful to the question. – Matthew Leingang Feb 05 '13 at 20:14
  • 2
    I got the error ! Package movie15 Error: File 'test.gif' cannot be opened for embeddin – SparkAndShine Oct 26 '15 at 10:45
  • did not work for me – bim Sep 13 '22 at 13:10
  • I think there have been some updates since this post was last edited and now we need to use magick instead of convert. So, we should now use magick foo.gif -coalesce foo.png – Imran Sep 27 '23 at 02:52
18

needs pdflatex -shell-escape ... and an installed program convert which is available for all plarforms

\documentclass{article}
\usepackage{graphicx}
\usepackage{epstopdf}

\epstopdfDeclareGraphicsRule{.gif}{png}{.png}{convert gif:#1 png:\OutputFile}
\AppendGraphicsExtensions{.gif}

\begin{document}

  \includegraphics{demo.eps}\qquad
  \includegraphics{knuth-tex.gif}

\end{document}
14

With the original latex engine, this would work:

\documentclass{article}
\usepackage{graphicx}
\begin{document}
    \includegraphics{your.gif}
\end{document}

But if you are using pdflatex or xelatex, this will result in an error about .gif being an unknown graphics extension. (If you don't know which engine you are using, it's probably pdflatex.) I would recommend converting the .gif file to a .png file and repeating the above snippet, with your.gif replaced by your.png. In fact, you can just use your; latex has a default set of extensions it will add to find the file.

There are dozens of ways to convert GIFs to PNGs, including many free online services. Google is your friend. The only reason I can see to convert the file on the fly with each compiling of the latex document would be if your gif file changes often as the result of some other process.

Matthew Leingang
  • 44,937
  • 14
  • 131
  • 195
1

If you wese using windows, you could just right click the .gif file and "open with" MS-Paint

Then just save the file as .jpg one and use it like you please.

retr0
  • 111