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}
Это дает: