# Is it possible to apply shadow only to the last part of a breakable tcolorbox?

I'd like to apply (drop lifted) shadow only to the last part of a breakable tcolorbox but I couldn't find any hint for this in the documentation. The following MWE is a non working attempt.

\documentclass{article}
\usepackage{tcolorbox}
\usepackage{mwe}
\tcbuselibrary{breakable,skins}
\begin{document}
\lipsum[1-5]
\end{tcolorbox}
\end{document}


Hence my question: is it possible to apply shadow only to the last part of a breakable tcolorbox?

Version 1 (extras):

The maybe shortest solution is to take advantage of the new extras options from tcolorbox 3.70 (2015/07/16) or newer. These allow to place options for different parts of a break sequence. Here, we need extras unbroken or last:

\documentclass{article}
\usepackage{tcolorbox}
\usepackage{mwe}
\tcbuselibrary{breakable,skins}
\begin{document}
\begin{tcolorbox}[breakable,
extras unbroken and last={drop lifted shadow},
skin=enhancedlast ]
\lipsum[1-5]
\end{tcolorbox}
\end{document}


Version 2 (skins):

Here's another alternative. In any case, a change of the skin is the way to a solution. If the main skin is enhancedlast, the break sequence will be enhancedmiddle (first), enhancedmiddle (middle), enhancedlast (last).

Using the subskin feature, I take this standard sequence and add the appropriate shadow options. This gives:

\documentclass{article}
\usepackage{tcolorbox}
\usepackage{mwe}
\tcbuselibrary{breakable,skins}
\begin{document}
skin=enhancedlast,
skin first is subskin of={enhancedmiddle}{no shadow},
skin middle is subskin of={enhancedmiddle}{no shadow},
skin last is subskin of={enhancedlast}{drop lifted shadow} ]
\lipsum[1-5]
\end{tcolorbox}
\end{document}


• Argg. I got the break sequence wrong while I tried the exactly same strategy. I should learn these breaks +1 :) – user11232 Jan 18 '15 at 0:07

Yes, it's possible. I defined a new style and a new skin (similar to enhancedmiddle) allowing to do this (perhaps there's a simpler solution):

\documentclass{article}
\usepackage[a6paper]{geometry}% just for the example
\usepackage{tcolorbox}
\usepackage{lipsum}
\tcbuselibrary{breakable,skins}

\makeatletter
\tcbset{
mybase@middle/.style={%
clear@spec,graphical environment=tikzpicture@tcb@hooked,geometry nodes,%
set@outerboundary=\tcb@boundaryframe@pathmiddle,%
shape@of@skin=middle,%
set@extensions@preframe={},%
set@extensions@postframe={\tcb@draw@border@middle\tcb@apply@underlay\tcb@apply@overlay},%
set@extensions@final={\tcb@apply@finish}%
}
}
\tcb@new@skin{myenhancedmiddle}{
mybase@middle,%
frame engine=pathmiddle,
interior titled engine=pathmiddle,
interior engine=pathmiddle,
segmentation engine=path,
title engine=pathmiddle,%
skin first=enhancedmiddle,
skin middle=enhancedmiddle,
skin last=enhancedmiddle
}
\makeatother

\begin{document}

\begin{tcolorbox}[
breakable,
skin=myenhancedmiddle,
skin first=myenhancedmiddle,
skin middle=myenhancedmiddle,