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

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

Управление содержимым бокса в 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⟩ Окружает верхнюю часть tikzpicture tikz upper={scale=0.5}
tikz lower /tcb/tikz lower=⟨options⟩ Окружает нижнюю часть tikzpicture tikz lower={rotate=30}
tikznode upper /tcb/tikznode upper=⟨options⟩ Помещает контент в TikZ node tikznode upper={draw}
tikznode lower /tcb/tikznode lower=⟨options⟩ Помещает нижнюю часть в TikZ node tikznode 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-окружениями