以下 M(N)WE 使用 latexmk 使用 pdfTeX 3.14159265-2.6-1.40.17 (TeX Live 2016) (Debian) 编译。
\documentclass{beamer}
\usepackage[absolute, overlay]{textpos}
\begin{document}
\begin{frame}{M(N)WE}
\begin{textblock*}{8cm}[0,0](0.5\paperwidth, 0.5\paperheight)
\only<1->{\includegraphics[height=1cm]{user.pdf}}
\only<2->{\includegraphics[height=1cm]{multiuser.pdf}}
\end{textblock*}
\end{frame}
\end{document}
生成的文档可以在 evince 中打开并显示所需的结果。但是,Windows 上的 Adobe Acrobat Reader XI 无法打开 PDF 并显示错误消息
打开文档时出错。文件已损坏,无法修复。
可以排除复制过程中造成的损坏,因为在 Chrome 等浏览器中打开 PDF 完全没问题。我尝试了不同的组合,以找出真正导致错误的组合。
- 带图形的框架(
\includegraphics{multiuser.pdf}
)有效! - 带覆盖和图形的框架(
\only<2->{\includegraphics{multiuser.pdf}}
)有效 - 带有文本块、覆盖和图形的框架(multiuser.pdf)起作用了!
- 但是如果我添加 user.pdf,就会出现错误。
- 如果我删除
\only<2->{}
,它又可以再次工作。 - 另外,如果我
\includegraphics{multiuser.pdf}
在文本块之前添加,MWE 就会起作用。 - 如果我采用 MWE,但对两个 includegraphics 命令都使用 user.pdf,它就可以工作。
- 最后,如果我在 Windows 上使用 MiKTeX 编译 MWE,它就可以工作了。
两幅图均使用 Inkscape 绘制,然后导出为 PDF 1.5。可下载这里。
似乎我在这里遇到了一个非常特殊的条件,导致了错误。这里的目标只是让第 1 页上的 user.pdf 结束,让第 2 页上的 multiuser 结束在某个绝对位置,我很确定我找到了另一种方法。但是,我想知道我是否违反了导致不稳定行为的一般良好实践规则(如果有的话,我想避免其他某些组合带来进一步的麻烦)。
相关问题:问题如何使用 pdfLaTeX 文档克服 Acrobat Reader 错误 131?和在 Linux 上使用 pdflatex 生成的 Beamer pdf 无法使用 Windows/Adobe Reader 打开(标记为前者的重复)推荐\pdfminorversion=4
,然后生成一个PDF 1.4文档,可以用Adobe Reader打开。