我正在尝试插入一张图片,以前我可能已经做过一千次了,但这一次我遇到了问题。
该图像是我刚刚在 Paint 中创建的 jpg - 它不是特别大,分辨率也不太高。
原始图像是可在此处获得。
我使用常规\includegraphics
命令graphicx
包,PDF 可以编译,但图像不会显示,日志文件显示:
"pdflatex.exe: arithmetic: number too big"
我尝试过缩放图片以防图片太大(实际上不是 - 它是 640x480 像素)但仍然收到错误。
相关代码如下:
\usepackage{graphicx}
\begin{document}
\includegraphics[scale=0.25]{gulfstream2}
\end{document}
在谷歌上快速搜索后,我发现有人提出了一些建议\pdfimageresolution=72
,似乎可以解决那个人的问题,但对我来说却不起作用。有什么建议吗?
答案1
我认为您的问题是由于图像文件中存储的分辨率(以每英寸点数为单位,而不是像素数!)造成的。我遇到过同样的问题,图像的分辨率低得离谱(1 dpi 或更低,在 GIMP 中显示为 1 dpi)。再次保存 JPEG 图像或重新压缩为 PNG 根本没有帮助,但设置合理的分辨率(例如 300 dpi)却有帮助。
您的图片似乎有同样的问题:
% file 14345le.jpg
14345le.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 1x1, segment length 16, comment: " Image generated by Aladdin Ghostscript (device=pnmraw)", baseline, precision 8, 640x480, frames 3
请注意“密度 1x1”位。您可以在 GIMP 中看到相同的信息,并通过“图像”→“缩放图像”对话框对其进行修改,然后使用“文件”菜单导出以保存修改后的图像。请注意,除非您选择无损压缩格式(例如 PNG),否则您将会损失质量。
我不是 pdfTeX 专家,但我认为问题的根源在于,如果像素足够多,那么低得离谱的分辨率必然会导致尺寸超过 \maxdimen,这是 TeX 可以处理的最大长度。例如,对于 1 dpi 的 640x480 图像,宽度为 (640/1)*72.27 = 46252.8pt,超过了 \maxdimen = 16383.99999pt(根据https://tex.stackexchange.com/a/430/73317)。