4

amsthm 定理環境 (定理、例、証明、解、...) は、ビーマー スライドにブロックを作成します。デフォルトでは、サンプル環境は、定理、解、または証明 (ブロック) とは異なるテンプレート (ブロックの例) を使用します。

定義できる「ブロック ソリューション」などの別のテンプレートを使用してソリューションを作成するにはどうすればよいですか?

編集:答えてくれた人に感謝します。まだ回避策を実装していませんが、2 つのアイデアがあるようです。

  • \th@fooという名前の定理に似た環境のコマンドを再定義しますfoo。新しいコマンドは\inserttheoremblockenv、目的のブロック環境になるように再定義する必要があります。具体beamerbasetheorems.sty的にexample.

  • theorem beginおよびテンプレートを再定義しtheorem endて、グローバル変数に基づいて正しい定理ブロック環境を検索します\inserttheoremname(「参考文献」を参照beamerinnerthemedefault.sty)。pgfkeysルックアップ テーブルは、レジストリに保持できます。このアプローチは少し高度で、コマンドは含まれません@。しかし、YAGNI が思い浮かびます。

4

1 に答える 1

2

に見られるようにbeamerbasetheorems.sty

\documentclass[notheorems]{beamer}

\theoremstyle{plain}
\newtheorem{theorem}{\translate{Theorem}}
\newtheorem{example}[theorem]{\translate{Example}}

% or

\theoremstyle{definition}
\newtheorem{theorem}{\translate{Theorem}}
\newtheorem{example}[theorem]{\translate{Example}}

% or

\theoremstyle{example}
\newtheorem{theorem}{\translate{Theorem}}
\newtheorem{example}[theorem]{\translate{Example}}

どんなスタイルでも構いません。[alert|example] ブロックの外観を変更することもできます。

\setbeamercolor{block body}{fg=blue,bg=white}
\setbeamercolor{block body alerted}{fg=blue,bg=white}
\setbeamercolor{block body example}{fg=blue,bg=white}

(試していません。ビーマーソースを調べただけです)

編集:やりたいことはまだわかりませんが、独自の定理スタイルを定義できます:

\makeatletter
\def\th@something{%
  \normalfont % body font
  \def\inserttheoremblockenv{alertblock}  
}
\theoremstyle{something}
\newtheorem{warn}[theorem]{WARNING}
\makeatother

\begin{warn}[Attention please]
This is dangerous
\end{warn}

(これは機能します、私はそれをテストしました)

\defbeamertemplate を使用してカスタマイズできる 3 つの定義済みブロックがあります。これを行う方法については、ソースとドキュメントを調べてください。さらにブロック環境が必要な場合は、以下を参照してくださいbasebeamerlocalstructure.sty

  \newenvironment<>{alertblock}[1]{%
    \begin{actionenv}#2%
      \def\insertblocktitle{#1}%
      \par%
      \mode<presentation>{%\usebeamerfont{block}%
        \setbeamercolor{local structure}{parent=alerted text}}%
      \usebeamertemplate{block alerted begin}}
    {\par%
      \usebeamertemplate{block alerted end}%
    \end{actionenv}}

それが役立つことを願っています

于 2010-04-08T14:08:48.883 に答える