Команды для упрвления слоями в боксах
Управляет слоями в боксах, наложение друг на друга и т.д.
Управление наложениями (Overlays) в tcolorbox
Основные параметры наложений
Параметр |
Синтаксис |
Описание |
Пример |
overlay |
/tcb/overlay=⟨graphical code⟩ |
Графическое наложение для всех состояний бокса |
overlay={\draw[red] (frame.south west) rectangle (frame.north east);} |
no overlay |
/tcb/no overlay |
Отключает все наложения |
no overlay |
overlay broken |
/tcb/overlay broken=⟨graphical code⟩ |
Наложение только для разорванных боксов |
overlay broken={\draw[dashed] (frame.south west) -- (frame.north east);} |
overlay unbroken |
/tcb/overlay unbroken=⟨graphical code⟩ |
Наложение только для целых боксов |
overlay unbroken={\fill[yellow] (frame.center) circle (5mm);} |
overlay first |
/tcb/overlay first=⟨graphical code⟩ |
Наложение для первой части разорванного бокса |
overlay first={\node at (frame.center) {First};} |
overlay middle |
/tcb/overlay middle=⟨graphical code⟩ |
Наложение для средних частей разорванного бокса |
overlay middle={\node at (frame.center) {Middle};} |
overlay last |
/tcb/overlay last=⟨graphical code⟩ |
Наложение для последней части разорванного бокса |
overlay last={\node at (frame.center) {Last};} |
Комбинированные параметры
Параметр |
Синтаксис |
Описание |
Пример |
overlay unbroken and first |
/tcb/overlay unbroken and first=⟨graphical code⟩ |
Комбинация unbroken и first |
overlay unbroken and first={\draw[blue] (frame.south west) -- (frame.north east);} |
overlay middle and last |
/tcb/overlay middle and last=⟨graphical code⟩ |
Комбинация middle и last |
overlay middle and last={\draw[green] (frame.south west) -- (frame.north east);} |
overlay unbroken and last |
/tcb/overlay unbroken and last=⟨graphical code⟩ |
Комбинация unbroken и last |
overlay unbroken and last={\draw[red] (frame.south west) -- (frame.north east);} |
overlay first and middle |
/tcb/overlay first and middle=⟨graphical code⟩ |
Комбинация first и middle |
overlay first and middle={\draw[yellow] (frame.south west) -- (frame.north east);} |
Примеры использования
1. Простое наложение
\begin{tcolorbox}[
enhanced,
overlay={\draw[red, line width=2pt] (frame.south west) rectangle (frame.north east);},
title=Пример с наложением
]
Содержимое бокса с красной рамкой
\end{tcolorbox}
2. Наложение для разорванных боксов
\begin{tcolorbox}[
breakable,
overlay first={\node[rotate=45] at (frame.center) {Начало};},
overlay middle={\node[rotate=45] at (frame.center) {Продолжение};},
overlay last={\node[rotate=45] at (frame.center) {Конец};},
title=Разорванный бокс
]
Много текста, который будет разорван на несколько частей...
\end{tcolorbox}
3. Комбинированное наложение
\begin{tcolorbox}[
enhanced,
overlay unbroken and first={\fill[yellow!50] (frame.north west) rectangle ([xshift=2cm]frame.north east);},
title=Комбинированный пример
]
Содержимое бокса с желтой полосой вверху для unbroken/first состояний
\end{tcolorbox}
4. Водяной знак
\begin{tcolorbox}[
enhanced,
overlay={\node[rotate=45,scale=10,text=gray!20] at (frame.center) {ЧЕРНОВИК};},
title=Документ с водяным знаком
]
Текст документа с полупрозрачным водяным знаком
\end{tcolorbox}
Особенности работы с наложениями:
- Для сложных наложений рекомендуется использовать
enhanced
режим из библиотеки skins
- Наложения применяются после рисования рамки и фона, но перед отображением текста
- Для позиционирования элементов можно использовать узлы геометрии (
frame.north west
, title.south
и т.д.)
- При работе с разорванными боксами (
breakable
) можно задавать разные наложения для разных частей
- Наложения могут содержать любые допустимые TikZ-команды
Советы:
- Используйте
overlay
для элементов, которые должны отображаться всегда
- Для разорванных боксов применяйте
overlay first/middle/last
для разных частей
- Комбинированные параметры (
unbroken and first
и т.д.) помогают избежать дублирования кода
- Для сложных графических элементов создавайте стили с наложениями и переиспользуйте их