tcolorboxes 标签问题

tcolorboxes 标签问题

我遇到了以下问题:使用该tcolorbox包时,我得到了不一致的标签结果:在这个例子中,我得到的结果是两个盒子都被称为 1.1 :

在此处输入图片描述

其代码如下:

\documentclass{memoir}
\usepackage[breakable]{tcolorbox}
\newenvironment{Mijnbox}[1]
{\stepcounter{table}%
\tcbset{breakable,coltitle=blue!20!black,colback=black!1!white,colframe=black!10!    white,title=Box ~\thetable: #1}
\begin{tcolorbox}}
{\end{tcolorbox}}

\begin{document}
\ref{Boxone} and \ref{Boxtwo}

\section{A try}
\begin{Mijnbox}{This one is called one}\label{Boxone}
I try to refer to this box 
\end{Mijnbox}

\begin{Mijnbox}{ge}\label{Boxtwo}
This is yet another box
\end{Mijnbox}
end{document}

我究竟做错了什么?

答案1

tcolorbox软件包允许自动对箱子进行编号,并且还可以使用其他计数器。标签可以作为选项指定。

对于这种情况,定义一个非常有用,\newtcolorbox它有自己的名称空间,并且不会干扰tcolorbox被“污染”的其他设置\tcbset

  • 另一个好方法\refstepcounter托比约恩 T.已经,这当然是正确的。
  • 我只更改了屏幕截图的颜色,但没有更改显示的代码的颜色

\documentclass{memoir}
\usepackage[breakable]{tcolorbox}


\newtcolorbox[use counter=table,number within=chapter]{MijnOtherBox}[2][]{breakable,coltitle=blue!20!black,colback=black!1!white,colframe=black!10!white,title={Box~\thetcbcounter: #2},#1}


\newenvironment{Mijnbox}[1]
{\stepcounter{table}%
  \tcbset{breakable,coltitle=blue!20!black,colback=black!1!white,colframe=black!10!    white,title=Box ~\thetable: #1}
  \begin{tcolorbox}}
  {\end{tcolorbox}}

\begin{document}
\ref{Boxone} and \ref{Boxtwo} and \ref{BoxThree}

\section{A try}
\begin{Mijnbox}{This one is called one}\label{Boxone}
I try to refer to this box 
\end{Mijnbox}

\begin{Mijnbox}{ge}\label{Boxtwo}
This is yet another box
\end{Mijnbox}

\begin{MijnOtherBox}[label=BoxThree]{This is box three}
Even another box
\end{MijnOtherBox}

\end{document}

在此处输入图片描述

答案2

您需要\refstepcounter{table}而不是\stepcounter{table}。前者将使步进计数器成为当前/活动的计数器,由 拾取\label

相关内容