Ich möchte ein GIF-Bild in meinen Text einfügen und habe dies gefundenKonvertieren Sie GIF-Bilder im Handumdrehen in PNG.
Also habe ich in mein Dokument eingefügt
\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}
Ich habe nämlich
\usepackage{graphicx}
\DeclareGraphicsRule{.JPG}{eps}{.JPG}{`convert #1 eps:-}
und dann
\framebox{\includegraphics[0,0][150,200]{nn.JPG}}
Außerdem habe ich das Bild umbenannt innn.JPG
Aber es funktioniert nicht! Irgendwelche Hilfe?
Antwort1
Hier ist das MWE für pdfLaTeX, vorausgesetzt, Sie haben die Kommandozeile convert
vonBildmagieinstalliert und die .png
Route verwendet, wie pdfLaTeX
es bereits die Methode für PNG tut:
\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}
BEARBEITEN:
Mit altmodischem LaTeX (im DVI-Modus) müsste man GIFs in EPS umwandeln. Dazu kann man das \DeclareGraphicsRule
obige durch das folgende ersetzen:
\DeclareGraphicsRule{.gif}{eps}{.gif.bb}{`convert #1 eps:-}
Anschließend wird der Konvertierungsbefehl wörtlich in die .dvi
Datei geschrieben und von ausgeführt, dvips
sofern er mit der -R0
Option ausgeführt wird. Abschließend kann die PDF-Datei mithilfe von erstellt werden ps2pdf
.
Allerdings hat diese Methode mehrere Nachteile:
- die umgerechneten Zahlen sind enorm;
- es funktioniert nicht mit
dvipdfm(x)
. - es funktioniert nur, wenn die
.gif.bb
Datei erstellt wurde. Dies kann mit einem Befehl wie diesem erfolgen:identify tmp.gif |sed -r -e "s/(.*)\s+([0-9]{2,})x([0-9]{2,})\s+(.*)/%%BoundingBox: 0 0 \2 \3/" > tmp.gif.bb
für jede Grafikdatei tmp.gif
.
In diesem Zusammenhang ist es wesentlich effizienter, einen Stapel zu schreiben, um die Konvertierung aller Dateien außerhalb von durchzuführen LaTeX/dvips
, indem Sie convert
mit geeigneten Optionen, oder Netpbm
, oder Irfanview
(nur Windows) usw. verwenden.
BEARBEITEN 2:Unter Windows convert
ist der Befehl ein Tool zur Datenträgerverwaltung. Neuere Versionen von ImageMagick verwenden imagemagick convert
(mit Leerzeichen) anstelle des bloßen convert
. \epstopdfcall
Muss dann entsprechend geändert werden.