在投影仪中使用脆弱框架的缺点

在投影仪中使用脆弱框架的缺点

这是默认的 Beamer 脆弱框架。将默认框架设置为脆弱(或将可选的脆弱参数传递给所有框架)有什么缺点。beamer 用户指南

如果框架包含易碎文本,则使用不同的内部机制来排版框架,以确保框架内的字符代码可以重置。切换到另一种内部机制的代价是,您无法使用覆盖,或者需要写入和读回外部文件(这并不总是可取的)。

据推测,写入和读取文件需要时间,因此这会增加编译所需的时间,但是在脆弱的框架中是否存在无法工作的东西?

对于 MWE 来说:

\documentclass{beamer}
\def\foo{Something that makes the fragile frame fail is: }
\begin{document}
\begin{frame}
    \foo
\end{frame}
\begin{frame}[fragile]
    \foo
\end{frame}
\end{document}

我试图了解\foo需要定义什么才会导致问题。

答案1

没有重大的缺点。也可以使用以下选项定义新环境fragile

\documentclass{beamer}

\newenvironment{Foo}[1]
  {\begin{frame}[environment=Foo]{#1}}
  {\end{frame}}

\newenvironment{FooBar}[1]
  {\begin{frame}[fragile,environment=FooBar]{#1}}
  {\end{frame}}
\begin{document}

\begin{Foo}{title} 
\end{Foo}

\begin{FooBar}{title}
\end{FooBar}

\end{document} 

易碎品每一个内容写入外部文件并读回。没什么大不了的,但会使编译速度变慢。但是,fragile对于逐字材料来说是必需的。

答案2

此主题。显然,该fragile选项与该选项不兼容allowframebreaks,没有一些尴尬的花招。所以这是一个缺点,除了在接受的答案的评论中提到的编译速度要慢得多。

答案3

fragile选项对居中有一些影响:

\documentclass{beamer}

\begin{document}

\begin{frame}
    \centering
    center
\end{frame}

\begin{frame}[fragile]
    \centering
    not center
\end{frame}

\begin{frame}[fragile]
    \begin{center}
        center again
    \end{center}
\end{frame}

\end{document}

相关内容