到目前为止,我已经花了很多时间寻找自定义tcolorbox
包内“Counter”的方法。我想在 a 中放入一个定义,tcolorbox
如下所示。
为了获得此定义格式,我使用了以下命令(参见\tcbset{...}
):
\documentclass[12pt, openany]{book}
\usepackage[T1]{fontenc}
\usepackage{ae,aecompl}
\PassOptionsToPackage{svgnames}{xcolor}
\usepackage[round,sort,comma]{natbib}
\usepackage{amssymb,amsmath,amsfonts,amsthm,caption,subcaption}
\usepackage{mathtools}
\usepackage{enumerate}
\usepackage{enumitem}
\usepackage{tikz}
\usepackage{color}
\usepackage{float,rotfloat}
\usepackage{wrapfig}
\usepackage{multicol,multirow}
\usepackage{graphicx} % need for figures
\usepackage{verbatim} % useful for program listings
\usepackage{listings}
\usepackage{hyperref,url}
\usepackage[most]{tcolorbox}
\usepackage{cleveref}
\tcbset{
defnstyle/.style={fonttitle=\bfseries\upshape, fontupper=\slshape,
arc=0mm, colback=blue!5!white,colframe=blue!75!black},
}
\newtcbtheorem[number within=section,crefname={definition}{definitions}]%
{defn}{Definition}{defnstyle}{defn}
\begin{document}
\chapter{Limits and Derivatives}
\section{First Section}
\begin{defn}{One}{one}
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{equation*}
\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{equation*}
existiert.
\end{defn}
\section{Second Section}
\begin{defn}{Two}{Two}
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{equation*}
\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{equation*}
\end{defn}
\end{document}
但是,我并不想按照上述模式计算定义,而是想在每个部分中只计算 1、2、3(我仍然想使用tcolorbox
)。不需要指示章节和部分(见下文)。因此,我尝试调整命令number within=section
以满足我的需要,但我根本无法得到它。
如果有人能回答这个问题就太好了。
我非常感谢您付出的时间和精力。
答案1
使用新的 LaTeX 内核(2018-04-01 或更新版本),您可以使用\counterwithin*{tcb@cnt@defn}{section}
和删除选项number within=section
。
\documentclass[12pt, openany]{book}
\usepackage[T1]{fontenc}
\usepackage{amssymb}
\usepackage[most]{tcolorbox}
\usepackage{cleveref}
\tcbset{
defnstyle/.style={fonttitle=\bfseries\upshape, fontupper=\slshape,
arc=0mm, colback=blue!5!white,colframe=blue!75!black},
}
\newtcbtheorem[crefname={definition}{definitions}]%
{defn}{Definition}{defnstyle}{defn}
\counterwithin*{tcb@cnt@defn}{section}
\begin{document}
\chapter{Limits and Derivatives}
\section{First Section}
\begin{defn}{One}{one}
Eine Funktion $f \colon I\to\mathbb{R}$ auf einem Intervall $I$ hei\ss{}t in
$x_0\in I$ differenzierbar oder linear approximierbar,
wenn der Grenzwert
\begin{equation*}
\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{equation*}
existiert.
\end{defn}
\section{Second Section}
\begin{defn}{Two}{Two}
Eine Funktion $f \colon I\to\mathbb{R}$ auf einem Intervall $I$ hei\ss{}t in
$x_0\in I$ differenzierbar oder linear approximierbar,
wenn der Grenzwert
\begin{equation*}
\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{equation*}
\end{defn}
\end{document}
如果你仍在使用旧版本的内核,你可以尝试
\makeatletter
\@addtoreset{tcb@cnt@defn}{section}
\makeatother
代替
\counterwithin*{tcb@cnt@defn}{section}
当然你也可以反其道而行
\newtcbtheorem[number within=section,crefname={definition}{definitions}]{defn}{Definition}{defnstyle}{defn}
\makeatletter
\renewcommand*{\thetcb@cnt@defn}{\arabic{\tcb@cnt@defn}}
\makeatother
这两种方法的缺点是它们依赖于tcolorbox
计数器名称的内部名称 ( tcb@cnt@<counter>
)。如果您坚持使用tcolorbox
-only 命令,则可以避免对内部名称的依赖,但代价是使用更复杂的定义number freestyle
\newtcbtheorem[number within=section,number freestyle=\noexpand\arabic{\tcbcounter},
crefname={definition}{definitions}]{defn}{Definition}{defnstyle}{defn}
答案2
使用数字自由格式来格式化数字。不要使用 ae 包 - 这个包很久以前就过时了。
\documentclass[12pt, openany]{book}
\usepackage[T1]{fontenc}
\PassOptionsToPackage{svgnames}{xcolor}
\usepackage[round,sort,comma]{natbib}
\usepackage{amssymb,amsmath,amsfonts,amsthm,caption,subcaption}
\usepackage{mathtools}
\usepackage{enumerate}
\usepackage{enumitem}
\usepackage{tikz}
\usepackage{color}
\usepackage{float,rotfloat}
\usepackage{wrapfig}
\usepackage{multicol,multirow}
\usepackage{graphicx} % need for figures
\usepackage{verbatim} % useful for program listings
\usepackage{listings}
\usepackage{hyperref,url}
\usepackage[most]{tcolorbox}
\usepackage{cleveref}
\tcbset{
defnstyle/.style={fonttitle=\bfseries\upshape, fontupper=\slshape,
arc=0mm, colback=blue!5!white,colframe=blue!75!black},
}
\newtcbtheorem[number within=section,crefname={definition}{definitions},
number freestyle=\noexpand\arabic{\tcbcounter}]%
{defn}{Definition}{defnstyle}{defn}
\begin{document}
\chapter{Limits and Derivatives}
\section{First Section}
\begin{defn}{One}{one}
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{equation*}
\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{equation*}
existiert.
\end{defn}
\section{Second Section}
\begin{defn}{Two}{Two}
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{equation*}
\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{equation*}
\end{defn}
\end{document}