1

我正在使用 MikTex 2.9 进行投影仪演示,并且我自己制作了一些环境。我希望能够引用这些环境,但是当我这样做时,由于某种原因,块头的高度会增加。

\newcounter{theo}[part]
\renewcommand{\thetheo}{\arabic{theo}}
\resetcounteronoverlays{theo}
\newenvironment<>{theo}[2]{
\setbeamercolor{block title}{fg=white,bg=dgreen!100!white}
\begin{block}{\refstepcounter{theo}\label{#2}Saetning~\thetheo #1}}{\end{block}}
\AtBeginEnvironment{theo}{\setbeamercolor{itemize item}{fg=dgreen!100!white}}
\AtBeginEnvironment{theo}{\setbeamercolor{itemize subitem}{fg=dgreen!100!white}}
\AtBeginEnvironment{theo}{\setbeamercolor{itemize subsubitem}{fg=dgreen!100!white}}
\AtBeginEnvironment{theo}{\setbeamercolor{enumerate item}{fg=dgreen!100!black}}
\AtBeginEnvironment{theo}{\setbeamercolor{enumerate subitem}{fg=dgreen!100!black}}
\AtBeginEnvironment{theo}{\setbeamercolor{enumerate subsubitem}{fg=dgreen!100!black}}

输出看起来不错,除了块头比我不想引用定理时要高得多(它增长了大约 1.67 倍)。无论我是否确实参考了某个定理,问题都存在。上面的代码旨在使这些引用成为可能。这足以产生这个块头高度问题。我没有使用内置的定理环境,因为我正在用丹麦语制作我的投影仪演示文稿(Saetning 是丹麦语的定理),我还想通过将项目符号点着色为与块标题相同的颜色来自定义环境. 有人可以帮帮我吗?顺便说一句,我正在使用 \usetheme{Aalborg}。

4

1 回答 1

0

我不会尝试定义新环境,而是简单地使用 beamer 提供的内置theorem环境和翻译机制。

要将其调整为与您在问题中显示的相同格式,可以进行一些小的调整:

\documentclass{beamer}

\usetheme{Aalborg}

\uselanguage{danish}
\languagepath{danish}
\deftranslation[to=danish]{Theorem}{Saetning}

\makeatletter
\setbeamertemplate{theorem begin}{%
  \setbeamercolor{block title}{bg=cyan!100!white}%
  \setbeamercolor{itemize item}{fg=cyan!100!white}%
  \setbeamercolor{itemize subitem}{fg=cyan!100!white}%
  \setbeamercolor{itemize subsubitem}{fg=cyan!100!white}%
  \setbeamercolor{enumerate item}{fg=cyan!100!black}%
  \setbeamercolor{enumerate subitem}{fg=cyan!100!black}%
  \setbeamercolor{enumerate subsubitem}{fg=cyan!100!black}%
  \begin{\inserttheoremblockenv}
    {%
      \inserttheoremname
      \inserttheoremnumber
      \ifx\inserttheoremaddition\@empty\else\ \inserttheoremaddition\fi%
    }%
}

\setbeamertemplate{theorem end}{%
    \end{\inserttheoremblockenv}%
}

\makeatother

\begin{document}

\begin{frame}
    \begin{theorem}[Pythagoras]
        $a^2+b^2=c^2$ 
        \begin{itemize}
        \item test
        \end{itemize}
        \label{pytagoras}
    \end{theorem}

    Theorem \ref{pytagoras}

    \begin{block}{Title Pythagoras}
        content...
        \begin{itemize}
        \item test
        \end{itemize}
    \end{block}
\end{frame} 

\end{document}

在此处输入图像描述

于 2019-09-15T18:35:05.937 回答