xelatex 和 beamer 下 PNG 图形尺寸过大

xelatex 和 beamer 下 PNG 图形尺寸过大

我有 PNG 图像,想将其引入到演示文稿中。该图是黑白的,边缘很小。当我用 编译文件时,pdflatex一切都很好,但是当我用 编译它时,xelatex我收到!dimension too large错误:

[1] <use  "./figs/surface.png" > [2]
! Dimension too large.
<to be read again> 
                   b
l.31 \end{frame}

我使用的线路:

  \includegraphics<2> [width=0.8\textwidth]{./figs/surface.png}\par

以及文件:在此处输入图片描述

以下是 MWE:

\documentclass[bigger]{beamer}
\begin{document}

\begin{frame}{Coarse-Grained (CG) simulation of a membrane}
  \begin{columns}
    \begin{column}{0.6\textwidth}
      \includegraphics<2> [width=0.8\textwidth]{./figs/surface.png}\par
      \includegraphics<3> [width=1.0\textwidth]{./figs/a_lipid_CG.jpg}
    \end{column}
    \begin{column}{0.4\textwidth}
      \begin{itemize}
        \item bla
      \end{itemize}
    \end{column}
  \end{columns}
\end{frame}


\end{document}

以下是所用文件的链接: http://www.4shared.com/photo/EK4CPOF2/a_lipid_CG.html http://www.4shared.com/photo/un7JtzXa/surface.html

答案1

a_lipid_CG.jpg似乎是导致问题的原因。如下所述,此特定 JPG 似乎与 XeTeX 不兼容。

我使用以下 MWE 遇到了同样的错误:

\documentclass{beamer}
\begin{document}
\begin{frame}
\includegraphics{a_lipid_CG.jpg}
\end{frame}
\end{document}.

请注意,这[1] <use "./figs/surface.png" > [2]不是错误消息的一部分,而只是在它之前打印的信息消息。

在通过 Image Magick 转换工具运行 JPG 图像convert(即,convert a_lipid_CG.jpg a_lipid_CG2.jpg用这个新的 JPG 文件测试文档)后,错误消失。这使我得出结论,您的特定 JPG 文件与 XeTeX 不完全兼容。显然,XeTeX 在从 JPG 的元数据读取大小时存在问题,这不知何故导致了“太大”错误。

要解决此问题,请在图像处理程序中打开 JPG 文件并再次保存。

答案2

与 @Martin-Scharrer 所说的类似,convert/mogrify也适用于我,但只能通过明确添加解决方案,而解决方案似乎缺失了。因此,以下方法解决了该问题(顺便说一下,这些文件是用 matplotlib 生成的):

mogrify -density 90 myfile.png

相关内容