epstopdf 在 tabularx 环境中找不到图形

epstopdf 在 tabularx 环境中找不到图形

我正在使用 MiKTeX,在环境中使用 EPS 图形时遇到了一个非常奇怪的问题tabularx。请考虑以下示例:

\documentclass{beamer}

\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{epstopdf}

\graphicspath{{../Icons_Cisco/}}
\epstopdfsetup{outdir=./} %Required since more recent MiKTeX versions - the converted figure is not found otherwise
\begin{document}

\begin{frame}
  \frametitle{Test}

  \begin{figure}
    %\includegraphics{cloud}
  \end{figure}

  \begin{table}
    \begin{tabularx}{\textwidth}{m{0.4\textwidth}m{0.4\textwidth}}
      \begin{figure}
        \includegraphics{cloud}
      \end{figure} & Picture of a cloud\\
    \end{tabularx}
  \end{table}
\end{frame}

\end{document}

这应该会产生一个带有云图标的投影仪幻灯片(当使用来自http://www.cisco.com/c/dam/en_us/about/ac50/ac47/3015_eps.zip) 和文本“云的图片”。但是,它无法生成输出文件,并显示以下错误消息:

!包 pdftex.def 错误:未找到文件“./cloud-eps-converted-to.pdf”。

但奇怪的是,当取消注释环境外包含云图标的注释行时tabularx,我得到了一张带有两个云图标的幻灯片。我推测 EPS 到 PDF 的转换每个文件只运行一次,但我找不到它在环境内不起作用的原因tabularx

这是一个已知问题还是我忽略了一些显而易见的问题?在我的演示文稿中添加额外的图形实际上不是一个选择。

答案1

tabularx\writes在试用期间会禁用,因此您可以

在此处输入图片描述

\documentclass{beamer}

\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{epstopdf}

\graphicspath{{../Icons_Cisco/}}
\epstopdfsetup{outdir=./} %Required since more recent MiKTeX versions - the converted figure is not found otherwise
\begin{document}

\begin{frame}
  \frametitle{Test}

  \begin{figure}
    %\includegraphics{cloud}
  \end{figure}

\let\savedwrite\write
  \begin{table}
    \begin{tabularx}{\textwidth}{m{0.4\textwidth}m{0.4\textwidth}}
       \ifx\savedwrite\write\includegraphics[width=\linewidth]{cloud}\fi
       & Picture of a cloud\\
    \end{tabularx}
  \end{table}
\end{frame}

\end{document}

因此它只在最后一次运行时处理图像,但实际上在运行中进行转换是一种不必要的复杂化,我只需在运行 pdftex 之前在命令行上将 EPS 文件转换为 PDF 一次,然后\includegraphics{cloud}使用 PDF 而不是 EPS。

相关内容