更改块标题的名称和编号

更改块标题的名称和编号

我正在尝试对 Beamer 中的默认设置进行以下更改:

  1. 我不想使用通常的块编号 (1, 2, 3),而是想添加一个前缀:(A.1, A.2, A.3)。
  2. 我还想将该\begin{example}块中的“示例”一词改为“练习”。

我该如何进行这些调整?对于第二个,我打算创建一个\begin{exercise}命令,但我不知道如何创建一个。

\documentclass{beamer}

\usetheme{Boadilla}
\usecolortheme{whale}
\setbeamertemplate{theorems}[numbered]

\begin{document}

\begin{frame}{Title}
    \begin{theorem}
        Theorem A.1, not Theorem 1.
    \end{theorem}
    \begin{example}
        Change `Example 2' to `Exercise A.2'.
    \end{example}
    \begin{definition}
        Definition A.3
    \end{definition}
\end{frame}

\end{document}

在此处输入图片描述

答案1

新的块环境

当使用定理环境时,覆盖规范在调用时必须遵循“块开始模板”。所以我们必须使用它来添加可选参数,\inserttheoremaddition这可能让我们更改块标题

将此代码放在序言中以添加A。在数字之前。

% ------------- Adding letter A before numbers ----------
    \setbeamertemplate{theorem begin}
    {%
    \begin{\inserttheoremblockenv}
        {\inserttheoremname~A\inserttheorempunctuation\ignorespaces\inserttheoremnumber}%
    }\setbeamertemplate{theorem end}
    {    \end{\inserttheoremblockenv}}

另一方面,创造一个新的块环境称为练习,我们有 use\def\th@newblock命令。现在,您可以通过 在文档部分中创建一个练习块\begin{exercise}。请注意,示例环境\begin{example}仍然可用(如上图所示)。我修改了发布的答案这里。因此,您还应该在序言部分添加下一个代码。

% ------------- Creating a new block template ----------
\makeatletter
\def\th@newblock{%
  \normalfont 
  \def\inserttheoremblockenv{exampleblock}}
\theoremstyle{newblock}
\newtheorem{exercise}[theorem]{Exercise}
\makeatother

此外,您可以更改此块的“颜色”或样式,更改exampleblockalertblock或任何其他选项。

最后,这是你的新代码:

\documentclass{beamer}
\usetheme{Boadilla}
\usecolortheme{whale}
\setbeamertemplate{theorems}[numbered]

% ------------- Adding letter A before numbers ----------
\setbeamertemplate{theorem begin}
{%
\begin{\inserttheoremblockenv}
    {\inserttheoremname~A\inserttheorempunctuation\ignorespaces\inserttheoremnumber}%
}
\setbeamertemplate{theorem end}
{    \end{\inserttheoremblockenv}}

% ------------- Creating a new block template ----------
\makeatletter
\def\th@newblock{%
  \normalfont 
  \def\inserttheoremblockenv{exampleblock}}
\theoremstyle{newblock}
\newtheorem{exercise}[theorem]{Exercise}
\makeatother

% ------------- Document ----------
\begin{document}

\begin{frame}{Title}
    \begin{theorem}
        Theorem A.1, not Theorem 1.
    \end{theorem}
    \begin{exercise}            % using the new exercise command !
        Change `Example 2' to `Exercise A.2'.
    \end{exercise}
    \begin{definition}
        Definition A.3
    \end{definition}
    \begin{example}
        Example block is still working 
    \end{example}
\end{frame}

\end{document}

这是我发布的第一个答案,如果我说得不够清楚,请告诉我。问候。

相关内容