我正在使用 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。