Как создать многоуровневые цветные коробки с помощью tcolorbox или любого другого пакета?

Как создать многоуровневые цветные коробки с помощью tcolorbox или любого другого пакета?

tcolorboxВ руководстве приведен следующий пример:

введите описание изображения здесь

Может ли кто-нибудь подсказать мне, как создать именно такой тип поля - количество добавляемых строк должно быть гибким (кажется, у tcolorbox нет других опций, кроме верхней и нижней):

введите описание изображения здесь

решение1

И вот один из вариантов использования 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}

введите описание изображения здесь

Вот модификация, не использующая структуру, подобную теореме, а простую среду с обязательным аргументом для указания заголовка:

\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}

введите описание изображения здесь

решение2

tcolorboxне предоставляет код для добавления более одной нижней части. Но вы можете добавить дополнительные строки:

\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}

Это дает:

введите описание изображения здесь

Связанный контент