Beamer:如何制作类似定理的块(带免费标题)

Beamer:如何制作类似定理的块(带免费标题)

我经常使用 CambridgeUS,唯一的缺点是当我将定理分成几部分时,看不清定理的结尾。所以我希望定理的主体用斜体表示。但是,我也希望能够选择标题,因此我希望使用“定理 (Erdos, 1960)”而不是“定理”。

做这个的最好方式是什么?

我应该创建一种新型的块环境,还是更改定理环境?

我当然可以使用普通块并始终手动将其设为斜体,但这看起来是一个糟糕的解决方案。

答案1

您可以尝试以下代码来定义您的自定义块:

\newenvironment<>{proposition}[1][\undefined]{%
\begin{actionenv}#2%
\ifx#1\undefined%
   \def\insertblocktitle{Proposition}%
\else%
   \def\insertblocktitle{Proposition ({\em#1})}%
\fi%
\par%
\mode<presentation>{%
  \setbeamercolor{block title}{fg=white,bg=yellow!50!black}
  \setbeamercolor{block body}{fg=black,bg=yellow!20}
}%
\usebeamertemplate{block begin}\em}
{\par\usebeamertemplate{block end}\end{actionenv}}

改编自此处: 定制投影机块有哪些优点和缺点?。请注意,已插入 \if 以排版标题中的命题(当未给出可选标题时),或命题(提案名称) 如果提供了这样的可选名称。

通过在 \usebeamertemplate{block begin} 后插入 \em 命令,正文已调整为斜体。

此外,颜色也已经定义(这是我在 beamer 中实现自定义定义的最初动机,因为当指定背景颜色时,在 beamer 中使用 thmtools 包会出现问题)。

通过这种方式,您可以定义定义、假设、命题、引理、定理、推论、注释块,每个块可能具有不同的颜色。使用它们作为:

\begin{proposition}
   Main text, no custom name in the title.
\end{proposition}

当您只想要正文时,或者您还想在括号内以斜体指定名称时,请使用:

\begin{proposition}[optional name, will become italic]
   Main text
\end{proposition}

如果有人希望正文保持正常(而不是斜体),那么从 \usebeamertemplate{block begin} 之后删除 \em 命令就足够了。

相关内容