为什么尽管使用了 \includeonlyframes,但所有内容仍能编译?

为什么尽管使用了 \includeonlyframes,但所有内容仍能编译?

我有一个演示文稿,里面有大约 50 张幻灯片和许多 PgfPlots,编译起来需要很长时间。我尝试使用,\includeonlyframes{}结果是只有选定的帧出现在生成的 PDF 中,但编译所花的时间和以前一样长。从日志文件中我可以看到,所有内容似乎都已编译:所有 SVG 图像都转换为 PDF,我看到了所有图的 PgfPlots 日志消息。

更新

问题仅发生在并非所有包含图像的框架有一个标签。请考虑以下 MWE(使用 编译xelatex mwe.tex):

\documentclass{beamer}
\includeonlyframes{ex1}
\begin{document}
    \frame{
        Whether this frame has a label or not, seems to be irrelevant.
        \typeout{No, the graphic does not matter}
    }
    \frame[label=ex1]{
        This frame should have a label.
        \includegraphics{example-image-a}
    }
    \frame[label=ex2]{
        This frame should also have a label.
        \includegraphics{example-image-b}
    }
\end{document}

这表现得符合预期:输出 PDF 中只有第二帧,日志文件仅提到包含。现在从第三帧中example-image-a删除标签:ex2

\documentclass{beamer}
\includeonlyframes{ex1}
\begin{document}
    \frame{
        Whether this frame has a label or not, seems to be irrelevant.
        \typeout{it is relevant, it just does not show in the log file}
    }
    \frame[label=ex1]{
        This frame should have a label.
        \includegraphics{example-image-a}
    }
    \frame{
        This frame should also have a label.
        \includegraphics{example-image-b}
    }
\end{document}

Beamer 现在的行为有所不同:似乎所有帧都已编译(至少是带有图像的帧),但 PDF 仍然只包含第二帧。以下是日志中的一段代码:

File: example-image-a.pdf Graphic file (type QTm)

<use  "example-image-a.pdf" >

LaTeX Font Warning: Font shape `OT1/cmss/m/n' in size <4> not available
(Font)              size <5> substituted on input line 10.

[1

]
File: example-image-b.pdf Graphic file (type QTm)
 <use  "example-image-b.pdf" >

在编译第一个MWE时,example-image-b.pdf没有提到。

在我的原始文档中,我使用了很多 PDF 和 PgfPlots 输入,但我只使用了一个标签。结果是,尽管只用 定义了一个框架,但所有框架都得到了编译\includeonlyframes{}。奇怪的是,没有图像的普通框架是否有标签似乎无关紧要(参见 MWE 中的第一个框架)。

所以要么是我完全误解了 Beamer 文档,要么这是一个错误。您觉得呢?

相关内容