Como criar caixas coloridas multiníveis usando tcolorbox/qualquer outro pacote?

Como criar caixas coloridas multiníveis usando tcolorbox/qualquer outro pacote?

tcolorboxO manual fornece o seguinte exemplo:

insira a descrição da imagem aqui

Alguém pode me sugerir como criar exatamente esse tipo de caixa - O não. O número de linhas a serem adicionadas deve ser flexível (parece que o tcolorbox não tem outra opção além de superior e inferior):

insira a descrição da imagem aqui

Responder1

E aqui está uma possibilidade usando mdframed:

\documentclass{article}
\usepackage{xcolor}
\usepackage[framemethod=tikz]{mdframed}

\definecolor{mybrown}{RGB}{128,64,0}

\mdfdefinestyle{mystyle}{%
linecolor=mybrown,outerlinewidth=1pt,%
frametitlerule=true,frametitlefont=\sffamily\bfseries\color{white},%
frametitlerulewidth=1pt,frametitlerulecolor=mybrown,%
frametitlebackgroundcolor=mybrown,
backgroundcolor=mybrown!05,
innertopmargin=\topskip,
roundcorner=5pt
}
\mdtheorem[style=mystyle]{example}{Example}

\gdef\Sepline{%
  \par\noindent\makebox[\linewidth][l]{%
  \hspace*{-\mdflength{innerleftmargin}}%
   \tikz\draw[thick,dashed,gray!60] (0,0) --%
        (\textwidth+\the\mdflength{innerleftmargin}+\the\mdflength{innerrightmargin},0);
  }\par\nobreak}


\begin{document}

\begin{example}[The Title]
The contents of the first part.
\Sepline
\noindent The contents of the second part.
\Sepline
\noindent The contents of the third part.
\Sepline
\noindent The contents of the fourth part.
\end{example}

\end{document}

insira a descrição da imagem aqui

Aqui está agora uma modificação que não usa uma estrutura semelhante a um teorema, mas um ambiente simples com um argumento obrigatório para fornecer um título:

\documentclass{article}
\usepackage{xcolor}
\usepackage[framemethod=tikz]{mdframed}

\definecolor{mybrown}{RGB}{128,64,0}

\mdfdefinestyle{mystyle}{%
linecolor=mybrown,outerlinewidth=1pt,%
frametitlerule=true,frametitlefont=\sffamily\bfseries\color{white},%
frametitlerulewidth=1pt,frametitlerulecolor=mybrown,%
frametitlebackgroundcolor=mybrown,
backgroundcolor=mybrown!05,
innertopmargin=\topskip,
roundcorner=5pt
}
\newmdenv[style=mystyle]{exa}
\newenvironment{example}[1]
  {\begin{exa}[frametitle=#1]}
  {\end{exa}}

\gdef\Sepline{%
  \par\noindent\makebox[\linewidth][l]{%
  \hspace*{-\mdflength{innerleftmargin}}%
   \tikz\draw[thick,dashed,gray!60] (0,0) --%
        (\textwidth+\the\mdflength{innerleftmargin}+\the\mdflength{innerrightmargin},0);
  }\par\nobreak}

\begin{document}

\begin{example}{The Title}
The contents of the first part.
\Sepline
\noindent The contents of the second part.
\Sepline
\noindent The contents of the third part.
\Sepline
\noindent The contents of the fourth part.
\end{example}

\end{document}

insira a descrição da imagem aqui

Responder2

tcolorboxnão fornece código para adicionar mais de uma parte inferior. Mas você pode adicionar linhas adicionais:

\documentclass{report}

\usepackage{tikz,tcolorbox}

\makeatletter
\newcommand{\DrawLine}{%
  \begin{tikzpicture}
  \path[use as bounding box] (0,0) -- (\linewidth,0);
  \draw[color=red!75!black,dashed,dash phase=2pt]
        (0-\kvtcb@leftlower-\kvtcb@boxsep,0)--
        (\linewidth+\kvtcb@rightlower+\kvtcb@boxsep,0);
  \end{tikzpicture}%
  }
\makeatother

\begin{document}

\begin{tcolorbox}[colback=red!5,colframe=red!75!black,title=My nice heading]

This is another \textbf{tcolorbox}.

\tcblower

Here, you see the lower part of the box.

\DrawLine

and some more

\end{tcolorbox}

\end{document}

Isso produz:

insira a descrição da imagem aqui

informação relacionada