在 LaTeX 中插入 GIF

在 LaTeX 中插入 GIF

我想在文本中插入 GIF 图像,然后我发现了这个即时将 GIF 图像转换为 PNG

所以我粘贴了我的文档

\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} 

也就是说我有

\usepackage{graphicx}
\DeclareGraphicsRule{.JPG}{eps}{.JPG}{`convert #1 eps:-}

进而

 \framebox{\includegraphics[0,0][150,200]{nn.JPG}}

我也已将图片重命名为nn.JPG

但它不起作用!有什么帮助吗?

答案1

这是 pdfLaTeX 的 MWE,假设你有convert来自的命令行图像魔法安装并使用.png路线,因为pdfLaTeX已经有了 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}

在此处输入图片描述

编辑: 使用老式的 LaTeX(dvi 模式)时,必须将 GIF 转换为 EPS。为此,可以用\DeclareGraphicsRule以下内容替换上述内容:

\DeclareGraphicsRule{.gif}{eps}{.gif.bb}{`convert #1 eps:-}

然后将转换命令逐字写入.dvi文件中,并通过 执行dvips(如果使用-R0选项运行)。最后可以使用 生成 PDF 文件ps2pdf

然而,这种方法有几个缺点:

  • 转换后的数字非常大;
  • 它不适用于dvipdfm(x)
  • 它仅在文件已创建时才有效.gif.bb,可以使用如下命令完成: identify tmp.gif |sed -r -e "s/(.*)\s+([0-9]{2,})x([0-9]{2,})\s+(.*)/%%BoundingBox: 0 0 \2 \3/" > tmp.gif.bb

对于每个图形文件tmp.gif

LaTeX/dvips在这种情况下,通过使用convert合适的选项,或Netpbm,或Irfanview(仅限 Windows)等,编写批处理来执行 之外的所有文件的转换会变得更加高效。

编辑2:在 Windows 上,该convert命令是一个磁盘处理工具,而 ImageMagick 的最新版本使用imagemagick convert(带空格)而不是裸的convert。然后\epstopdfcall必须进行相应的修改。

相关内容