我想使用 tcolorbox 为使用 amsthm 创建的环境创建框。MWE:
\documentclass{scrbook}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{xcolor}
\usepackage{tcolorbox}
\tcbuselibrary{skins,theorems,breakable}
\usepackage{varwidth}
%Theorem with tcolorbox
\newtcbtheorem{YetAnotherTheorem}{Theorem}%
{enhanced,breakable,frame empty,interior empty,colframe=green!50!white,
coltitle=green!50!black,fonttitle=\bfseries,colbacktitle=green!15!white,
borderline={0.5mm}{0mm}{green!15!white},
borderline={0.5mm}{0mm}{green!50!white,dashed},
attach boxed title to top center={yshift=-2mm},
boxed title style={boxrule=0.4pt},varwidth boxed title}{theo}
%Theorem with amsthm
\newtheoremstyle{defstyle}
{}
{}
{
}
{0pt}{}{}
{\newline}
{\ifx\relax#3\relax
\textcolor{blue!50!white}{\textbf{#1} #2}%
\else
\textbf{#3}%
\fi}
\theoremstyle{defstyle}
\newtheorem{definition}{Definition}
\tcolorboxenvironment{definition}{enhanced jigsaw,colframe=blue,colback=blue!20!white,breakable,before skip=10pt,after skip=10pt,attach boxed title to top center={yshift=-2mm}}
\begin{document}
\begin{YetAnotherTheorem}{Mittelwertsatz f\"{u}r $n$ Variable}{mittelwertsatz_n4}%
Es sei $n\in\mathbb{N}$, $D\subseteq\mathbb{R}^n$ eine offene Menge und
$f\in C^{1}(D,\mathbb{R})$. Dann gibt es auf jeder Strecke
$[x_0,x]\subset D$ einen Punkt $\xi\in[x_0,x]$, so dass gilt
\begin{align*}
f(x)-f(x_0) = \operatorname{grad} f(\xi)^{\top}(x-x_0)
\end{align*}
\end{YetAnotherTheorem}
\begin{definition}
Eine Funktion $f:~I\to\mathbb{R}$ auf einem Intervall $I$ hei\ss{}t in
$x_0\in I$ differenzierbar oder linear approximierbar,
wenn der Grenzwert
\begin{align*}
\lim\limits_{x\to x_0}\frac{f(x)-f(x_0)}{x-x_0}=\lim\limits_{h\to 0}\frac{f(x_0+h)-f(x_0)}{h}
\end{align*}
existiert. Bei Existenz hei\ss{}t dieser Grenzwert Ableitung
oder Differentialquotient von $f$ in $x_0$ und man
schreibt f\"{u}r ihn
\begin{align*}
f’(x_0)\quad\text{oder}\quad\frac{df}{dx}(x_0).
\end{align*}
\end{definition}
\end{document}
我使用了软件包文档的第 16.4 章,我对结果几乎很满意(无论如何,只要我使用正确的颜色……),我唯一缺少的是“附加方框标题”。在使用 amsthm 创建的环境中,我包含了一个特定行为,无论定义/定理是否有可选名称,我都需要包含该行为。
- 使用 \tcolorboxenvirionment 时如何将标题附加到框中?或
- 我如何将所提到的行为纳入 \newtcbtheorem 中?
当我将 ams-theorem 中使用的代码片段添加到 tcbtheorem 时,出现了错误消息。
我已经在德国社区发布了这个问题texwelt.de
答案1
- 切勿混合使用
ntheorem
或amsthm
和tcbtheorem
。最好只使用其中一个并分开它们的定义。 - 如果我理解正确的话,你会寻找类似这样的东西:
- 标题(“定理”或“定义”旁边的文字)是必填字段,因此如果您不喜欢此文字,请将其留空。例如:
\begin{YetAnotherTheorem}{}{mittelwertsatz_n4}
。
上面的图像由以下生成:
\documentclass{scrbook}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{xcolor}
\usepackage{tcolorbox}
\tcbuselibrary{many}
\usepackage{varwidth}
%Theorem with tcolorbox
\newtcbtheorem{YetAnotherTheorem}{Theorem}%
{
enhanced jigsaw, breakable,
frame empty, interior empty,
colframe=green!50!white, coltitle=green!50!black,
fonttitle=\bfseries,colbacktitle=green!15!white,
borderline={1mm}{0mm}{green},
attach boxed title to top center={yshift=-2mm},
boxed title style={boxrule=0.4pt},
varwidth boxed title
}{theo}
\newtcbtheorem{definition}{Definition}%
{
enhanced jigsaw, breakable,
colframe=blue,colback=blue!20!white,
breakable,
before skip=10pt,after skip=10pt,
attach boxed title to top center={yshift=-2mm}
}{def}
\begin{document}
\begin{YetAnotherTheorem}{Mittelwertsatz f\"{u}r $n$ Variable}{mittelwertsatz_n4}
Es sei $n\in\mathbb{N}$, $D\subseteq\mathbb{R}^n$ eine offene Menge und
$f\in C^{1}(D,\mathbb{R})$. Dann gibt es auf jeder Strecke
$[x_0,x]\subset D$ einen Punkt $\xi\in[x_0,x]$, so dass gilt
\[
f(x)-f(x_0) = \operatorname{grad} f(\xi)^{\top}(x-x_0)
\]
\end{YetAnotherTheorem}
\begin{YetAnotherTheorem}{}{mittelwertsatz_n4}
Es sei $n\in\mathbb{N}$, $D\subseteq\mathbb{R}^n$ eine offene Menge und
$f\in C^{1}(D,\mathbb{R})$. Dann gibt es auf jeder Strecke
$[x_0,x]\subset D$ einen Punkt $\xi\in[x_0,x]$, so dass gilt
\[
f(x)-f(x_0) = \operatorname{grad} f(\xi)^{\top}(x-x_0)
\]
\end{YetAnotherTheorem}
\begin{definition}{}{important-definition}
Eine Funktion $f:~I\to\mathbb{R}$ auf einem Intervall $I$ hei\ss{}t in $x_0\in I$ differenzierbar oder linear approximierbar, wenn der Grenzwert
\[
\lim\limits_{x\to x_0}\frac{f(x)-f(x_0)}{x-x_0}=\lim\limits_{h\to 0}\frac{f(x_0+h)-f(x_0)}{h}
\]
existiert. Bei Existenz hei\ss{}t dieser Grenzwert Ableitung oder Differentialquotient von $f$ in $x_0$ und man schreibt f\"{u}r ihn
\[
f’(x_0)\quad\text{oder}\quad\frac{df}{dx}(x_0).
\]
\end{definition}
\end{document}