制作一个完全围绕枚举项的框

制作一个完全围绕枚举项的框

我想在每个枚举项周围添加灰色框。因此我尝试了以下方法:

\documentclass{article}
    \usepackage[most]{tcolorbox}
    \usepackage{enumitem}

    \begin{document}

    \begin{enumerate}[label=\textbf{{[T\arabic*0]}}]
        \begin{tcolorbox} 
            {\item Item 1 \label{funnyItem}}
        \end{tcolorbox}
        \begin{tcolorbox} 
            {\item Item 2 \label{mediocreItem}}
        \end{tcolorbox}
        \begin{tcolorbox} 
            {\item Item 3 \label{sadItem}}
        \end{tcolorbox}
    \end{enumerate}

    \end{document}

问题是,tcolorbox 没有覆盖枚举数字 [TXX]。 在此处输入图片描述

我需要自动枚举编号,因为我需要引用该项目并获取编号。例如 \ref{sadItem} 导致输出 [T30]。有什么想法吗?

答案1

快速破解:

\documentclass{article}
\usepackage[most]{tcolorbox}
\usepackage{enumitem}


\tcbset{enlarge left by=-0.8cm,left=1.2cm}

\begin{document}

\begin{enumerate}[label=\textbf{{[T\arabic*0]}}]
    \begin{tcolorbox}
        {\item Item 1 \label{funnyItem}}
    \end{tcolorbox}
    \begin{tcolorbox} 
        {\item Item 2 \label{mediocreItem}}
    \end{tcolorbox}
    \begin{tcolorbox} 
        {\item Item 3 \label{sadItem}}
    \end{tcolorbox}
\end{enumerate}

\end{document}

在此处输入图片描述

答案2

我认为这是一个更好的a la tcolorbox解决方案。

每个项目都是独立的(请参阅tcolorboxtcolorbox文档)。此自动计数器可用于进一步参考。标题框自动声明为计数器值,并打印在 tcolorbox 内容前面。auto counterinit optionsfree styled

最初为空的可选参数用于添加可能的label值和任何其他格式选项。

\documentclass{article}
\usepackage[most]{tcolorbox}

\newtcolorbox[%
    auto counter,
    number freestyle={[T\noexpand\arabic{\tcbcounter}0]}]
    {myitembox}[1][]{%
        detach title,
        title={\thetcbcounter},
        coltitle=black,
        fonttitle=\bfseries,
        before upper={\tcbtitle\quad},
        #1}

\begin{document}
\begin{myitembox}[label=a]
This is an item in box~\ref{a}
\end{myitembox}
\begin{myitembox}[label=b]
This is an item similar to box~\ref{a}, but this is box~\ref{b} 
\end{myitembox}
\begin{myitembox}[colframe=red, coltitle=green!40!black]
This is an item
\end{myitembox}
\end{document}

在此处输入图片描述

相关内容