Команды для добавления различного контента в боксы

Управляет добавлением различного контента в боксы

Управление содержимым бокса в tcolorbox

Добавление контента в различные части бокса

ПараметрСинтаксисОписаниеПример
before title/tcb/before title=⟨code⟩Код перед заголовком (с \ignorespaces)before title={\textbf{Важно:}~}
before title*/tcb/before title*=⟨code⟩Код перед заголовком (без \ignorespaces)before title*={\textbf{Важно:}}
after title/tcb/after title=⟨code⟩Код после заголовка (с \unskip)after title={\hfill\small[подпись]}
after title*/tcb/after title*=⟨code⟩Код после заголовка (без \unskip)after title*={\quad[подпись]}
before upper/tcb/before upper=⟨code⟩Код перед верхней частью (с \ignorespaces)before upper={\begin{quote}}
before upper*/tcb/before upper*=⟨code⟩Код перед верхней частью (без \ignorespaces)before upper*=\begin{tabular}
after upper/tcb/after upper=⟨code⟩Код после верхней части (с \unskip)after upper={\end{quote}}
after upper*/tcb/after upper*=⟨code⟩Код после верхней части (без \unskip)after upper*=\end{tabular}
before lower/tcb/before lower=⟨code⟩Код перед нижней частью (с \ignorespaces)before lower={\textbf{Примечание:}}
before lower*/tcb/before lower*=⟨code⟩Код перед нижней частью (без \ignorespaces)before lower*=\begin{itemize}
after lower/tcb/after lower=⟨code⟩Код после нижней части (с \unskip)after lower={\hfill\footnotesize*}
after lower*/tcb/after lower*=⟨code⟩Код после нижней части (без \unskip)after lower*=\end{itemize}

Специальные окружения для контента

ПараметрСинтаксисОписаниеПример
text fill/tcb/text fillВключает minipage для вертикального выравниванияtext fill
tabulars/tcb/tabulars=⟨preamble⟩Окружает контент tabular*tabulars={lcr}
tabulars*/tcb/tabulars*={⟨code⟩}{⟨preamble⟩}Tabular* с дополнительным кодомtabulars*={\small}{lcr}
tabularx/tcb/tabularx=⟨preamble⟩Окружает контент tabularx`tabularx={X
tabularx*/tcb/tabularx*={⟨code⟩}{⟨preamble⟩}Tabularx с дополнительным кодом`tabularx*={\footnotesize}{X
tikz upper/tcb/tikz upper=⟨options⟩Окружает верхнюю часть tikzpicturetikz upper={scale=0.5}
tikz lower/tcb/tikz lower=⟨options⟩Окружает нижнюю часть tikzpicturetikz lower={rotate=30}
tikznode upper/tcb/tikznode upper=⟨options⟩Помещает контент в TikZ nodetikznode upper={draw}
tikznode lower/tcb/tikznode lower=⟨options⟩Помещает нижнюю часть в TikZ nodetikznode lower={fill=yellow}
tikznode/tcb/tikznode=⟨options⟩Применяет tikznode к обеим частямtikznode={shape=circle}
varwidth upper/tcb/varwidth upper=⟨length⟩Окружает varwidth окружениемvarwidth upper=5cm
environment upper/tcb/environment upper=⟨name⟩Окружает верхнюю часть указанным окружениемenvironment upper=itemize
environment upper args/tcb/environment upper args={⟨name⟩}{⟨code⟩}Окружение с дополнительными параметрамиenvironment upper args={tabular}{{cc}}
environment lower/tcb/environment lower=⟨name⟩Окружает нижнюю часть указанным окружениемenvironment lower=enumerate
environment lower args/tcb/environment lower args={⟨name⟩}{⟨code⟩}Окружение с дополнительными параметрамиenvironment lower args={tabular}{{lr}}
environment title/tcb/environment title=⟨name⟩Окружает заголовок указанным окружениемenvironment title=center
environment title args/tcb/environment title args={⟨name⟩}{⟨code⟩}Окружение с дополнительными параметрамиenvironment title args={flushright}{}

Примеры использования

1. Добавление текста вокруг содержимого

\begin{tcolorbox}[
  before title={\textbf{Внимание:}~},
  after title={\hfill\footnotesize[источник]},
  before upper={\textit{Начало текста:}\par},
  after upper={\par\hfill\textit{окончание}}
]
  Заголовок
  \tcblower
  Основное содержимое бокса
\end{tcolorbox}

2. Использование окружений

\begin{tcolorbox}[
  environment upper=itemize,
  environment lower args={tabular}{{ll}}
  \item Первый пункт
  \item Второй пункт
  \tcblower
  A & B \\
  C & D
\end{tcolorbox}

3. Таблицы в боксе

\begin{tcolorbox}[
  tabulars={|l|c|r|},
  title=Таблица в боксе
]
  Левый & Центр & Правый \\
  A & B & C
\end{tcolorbox}

4. TikZ рисунки

\begin{tcolorbox}[
  tikz upper={scale=0.8},
  title=TikZ рисунок
]
  \draw (0,0) circle (1cm);
  \fill (0,0) circle (2pt);
\end{tcolorbox}

Особенности работы:

  1. Параметры с * (например, before upper*) не добавляют автоматические пробелы (\ignorespaces/\unskip)
  2. Для работы tabulars/tabularx требуются соответствующие пакеты
  3. text fill полезен для вертикального выравнивания с \vfill
  4. TikZ-окружения позволяют легко встраивать графику
  5. Окружения environment не работают с другими tcolorbox-окружениями