不同目录中 \tcolorbox 的标题

不同目录中 \tcolorbox 的标题

我有一些彩色盒子我的文档中:

\documentclass[10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[most]{tcolorbox}

\newtcolorbox[list inside=toc]{mybox}[1]{title={#1}}

\begin{document}

\tableofcontents
\clearpage

\section{First section}

\begin{mybox}{My title}
content
\end{mybox}

\begin{mybox}{My title}
content
\end{mybox}

\begin{mybox}{My title}
content
\end{mybox}

\section{Second section}
\subsection{First subsection}
\subsubsection{First subsubsection}

\begin{mybox}{My title}
content
\end{mybox}

\subsection{Second subsection}

\begin{mybox}{My title}
content
\end{mybox}

\end{document}

我希望它们的标题出现在我的 中\tableofcontents。如您所见,这些 colobox 位于\sections、subsections... 或任何其他级别内。

问题是尽管如此,它们在呈现的表中都具有相同的缩进级别(作为子部分):

在此处输入图片描述

我期望有:

在此处输入图片描述

我所能看到的只是使用\addcontentsline,但我宁愿避免在使用框时编写部分级别( {section}, ...)。{subsection}

答案1

\documentclass[10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[most]{tcolorbox}

\newtcolorbox[list inside=toc,list type=\noexpand\currentseclevel]{mybox}[1]{title={#1}}
\makeatletter
\newcommand\currentseclevel{%
        \ifnum \c@subsubsection = 0 
             \ifnum \c@subsection = 0
                     section%
              \else
                     subsection%
              \fi 
          \else 
              subsubsection% 
          \fi}
\makeatletter                   
\begin{document}

\tableofcontents
\clearpage

\section{First section}

\begin{mybox}{My title}
content
\end{mybox}

\begin{mybox}{My title}
content
\end{mybox}

\begin{mybox}{My title}
content
\end{mybox}

\section{Second section}
\subsection{First subsection}
\subsubsection{First subsubsection}

\begin{mybox}{My title}
content
\end{mybox}

\subsection{Second subsection}

\begin{mybox}{My title}
content
\end{mybox}

\end{document}

在此处输入图片描述

相关内容