买者自负

买者自负

这是这个答案

我注意到,如果框架加载了参数,建议的宏会返回错误fragile \begin{frame}[fragile]。请注意,手动发出时

\begin{frame}[fragile,allowframebreaks]

它没有返回任何错误(这不是参数顺序的问题)。为什么?

\documentclass{beamer}

\let\oldframe\frame
\renewcommand\frame[1][]{\oldframe[allowframebreaks,#1]}

\begin{document}

\begin{frame}[fragile]
\begin{enumerate}
\item    something \item    something \item    something
\item    something \item    something \item    something
\item    something \item    something \item    something
\item    something \item    something \item    something
\item    something \item    something \item    something
\item    something \item    something \item    something
\item    something \item    something \item    something
\end{enumerate}
\end{frame}

\end{document}

答案1

请勿在家中尝试!不适用于个人、集体、集合、国家、国际、超国家、全球、太阳系、星系间、星际间或通用的商业、非商业、公共、私人、半私人或第三部门用途。

买者自负


fragile该手册对和有如下说明environment(第 60-1 页):

  • fragile... 告诉 beamer 框架内容是“脆弱的”。这意味着框架包含的文本不是“按常规解释的”。例如,这适用于逐字文本,显然,逐字文本的解释与普通文本略有不同。

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

    具体来说,当为普通 (pdf)LaTeX 提供此选项时,将发生以下情况:扫描框架的内容,然后将其写入名为⟨jobname⟩.vrb或(如果已为框架分配标签) 的特殊文件⟨jobname⟩.⟨current frame number⟩.vrb。然后,重新启动框架并读回此文件的内容。由于在读取文件时可以修改字符代码,因此您可以使用逐字文本和覆盖。

    要确定帧的结束,请使用以下规则:第一次出现 [原文如此。] 的一行正好包含 \end{⟨frame environment name⟩}结束框架。⟨environment name⟩通常是frame,但可以使用 environment选项进行更改。这条特殊规则是必要的,因为框架内容毕竟在收集时不会被解释。

    ...

  • environment=⟨frame environment name⟩fragile。此选项仅与选项 ...配合使用才有用。<frame environment name>用于在收集帧内容时确定扫描的结束。通常,当 \end{frame}达到一行读取时,帧结束。但是,如果您\begin{frame}在另一个环境中使用,则需要使用此选项 ...

    ... [因为否则] TeX 会“错过”结尾...因为它在收集框架内容时不会解释文本。

通过修改 61 上的示例,您可以使用它来解决各种限制。

\documentclass{beamer}
% modified from example on p 61
\newenvironment{slide}[1][]
{%
  \begin{frame}[allowframebreaks,#1]%
  }{%
  \end{frame}%
}

\begin{document}

\begin{slide}[fragile,environment=slide]
  \begin{enumerate}
    \item    something \item    something \item    something
    \item    something \item    something \item    something
    \item    something \item    something \item    something
    \item    something \item    something \item    something
    \item    something \item    something \item    something
    \item    something \item    something \item    something
    \item    something \item    something \item    something
  \end{enumerate}
  \begin{verbatim}
    \macro \macro \macro
  \end{verbatim}
\end{slide}

\end{document}

易碎内容的自动中断

相关内容