修复文件名

修复文件名

我试图将图形包含到我的 Latex 文件中,该文件是我在 OS X 上使用 latex+dvipdf 编译的。但是 Latex 返回此错误:“无法确定图形大小”

我的图形是从 PowerPoint 导出的,因此我尝试了 .pdf 和 .png。两者都出现了相同的错误。

不起作用的示例代码:

\begin{figure}[htb]
\begin{center}
\leavevmode
\includegraphics[width=0.8\textwidth]{graph.png}
\end{center}
\end{figure}

如果我必须手动设置图像的一些尺寸,请告诉我如何找到这些尺寸。我需要图像占据文本宽度的约 80% 并居中。谢谢。

答案1

DVI 生成latex不支持读取 PNG、JPG 或 PDF 图像的大小。您需要使用pdflatex。实际上在现代发行版中latex处于pdflatexDVI 模式,但由于某种原因,它只能在 PDF 模式下读取大小。但是,您可以使用和声明图像的自然大小,natwidthnatheight将使latex编译无错误。生成的 DVI 文件将仅链接到 PDF,并且 DVI 到 PDF 转换器需要将其包含在最终 PDF 中。据我所知,dvpdf不支持这一点,但dvipdfm支持。

\documentclass{article}

\usepackage{graphicx}

\begin{document}
\begin{figure}
    \centering
    \includegraphics[width=0.8\textwidth,natwidth=610,natheight=642]{tiger.pdf}
\end{figure}
\end{document}

使用以下任一方式进行编译

pdflatex <file base>

或者

latex <file base>
dvipdfm <file base>

答案2

非 Latex 解决方案

一个非常快捷的解决方法是将png文件转换为eps格式。例如,可以使用图形软件轻松完成Inkscape

因此,您只需打开文件Inkscape然后SaveAs选择eps格式即可。

现在将文件中的扩展名tex

\includegraphics[width=0.8\textwidth]{tiger.png}

\includegraphics[width=0.8\textwidth]{tiger.eps}

答案3

修复文件名

我遇到的这个错误是由于 pdf 文件名中包含点。删除这些点(当然,.pdf 除外)可以解决此问题。

修复文件类型检测

LaTeX graphics/graphicx 包使用第一个点来查找扩展名。只需添加 \usepackage{graphicx} \usepackage{grffile} 即可解决问题,而无需更改文件名。包grffile会更改算法以检查已知扩展名(选项multidot,默认启用)。

答案4

我在一个jpeg文件中看到了这个问题。通过将其扩展名从 改为.JPG(.jpg是的,只需将大写改为小写),错误就消失了。

$ pdflatex --version
This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian) restricted \write18 enabled.

相关内容