我问的问题与这个问题非常相似(我似乎无法发表评论):
我正在制作 PDF 文档,但制作过程中使用了 LeD 中的 DVI 预览器。添加图形有点问题。假设我想添加一个文件 simple_ambiguity.png。
\includegraphics[width=\textwidth]{simple_ambiguity.png}
由于边界框错误,无法与 DVI 配合使用。这很麻烦,因为我实际上并不关心图形是否在 DVI 内准确显示,甚至不关心它是否占用了正确的空间——我只希望它能够编译。
目前,我正在使用一种解决方法:我正在创建一个虚拟的“空图片”文件 simple_ambiguity.eps,我并不真正关心它的尺寸,然后写入
\includegraphics[width=\textwidth]{simple_ambiguity}
但这很麻烦,因为每次添加新图片时我都必须手动创建 eps。我正在寻找一些简单的即发即弃解决方案,让 DVI 只需编译即可。
(在我链接到的问题的答案中,第一个似乎涉及手动创建边界框,第二个涉及在每次编译时调用 ImageMagick,这会不必要地缓慢并引入相当尴尬的依赖关系。)
答案1
如果您只是希望图像在模式下消失,dvi/dvips
那么:
\makeatletter
\def\temp{dvips.def}
\ifx\Gin@driver\temp
\def\Ginclude@graphics#1{\def\temp{#1}---image \expandafter\strip@prefix\meaning\temp---}
\fi
\makeatother
在你的序言中就会产生这样的效果。
答案2
您也可以使用 png 或 gif 图像进行 dvi 路由,但您必须为转换定义一些图形规则。以下需要
latex <file>
dvips -R0 <file>
ps2pdf <file>.ps
convert
必须安装该程序。它是 ImageMagick 软件包的一部分
\documentclass{article}
\usepackage[dvips]{graphicx}
\DeclareGraphicsRule{.png}{eps}{.bb}{`convert #1 eps:-}
\DeclareGraphicsRule{.gif}{eps}{.bb}{`convert #1 eps:-}
\usepackage{grfext}
\AppendGraphicsExtensions*{.png,.gif}
\usepackage{bmpsize}
\makeatletter
\newcommand*{\IncludeGraphics}[2][]{{%
\let\@found\@empty
\@for\@type:=\bmpsize@types\do{%
\ifx\@found\@empty
\@nameuse{bmpsize@read@\@type}{#2.\@type}%
\ifbmpsize@ok
\let\@found=\@type
\fi
\fi
}%
\ifx\@found\@empty\includegraphics[{#1}]{#2}%
\else\includegraphics[{natwidth=\bmpsize@width,natheight=\bmpsize@height,#1}]{#2}%
\fi}}
\makeatother
\begin{document}
\IncludeGraphics{lion.png} % a png image
\IncludeGraphics{lion.gif} % a gif image
\end{document}
答案3
您还可以手动向每个图像添加natwidth
和属性,例如:natheight
\includegraphics[natwidth=800,natheight=600,width=\textwidth]{simple_ambiguity.png}
这应该与latex
和都兼容pdflatex
。
答案4
如果您不关心图片的大小,您可以简单地使用包demo
的选项graphicx
:
\documentclass[a4paper,12pt]{article}
\usepackage[demo]{graphicx}
\begin{document}
\includegraphics[width=\textwidth]{dontexist.png}
\end{document}
或者你可以重新定义\includegraphics
:
\documentclass[a4paper,12pt]{article}
\usepackage{graphicx}
\renewcommand\includegraphics[2][]{\fbox{here graphic #2}}
\begin{document}
\includegraphics[width=\textwidth]{dontexist.png}
\end{document}