
Como posso corrigir a transição entre as cores de fundo? O MWE:
\documentclass[a4paper]{article}
\usepackage[scale=.85]{geometry}
\usepackage{tcolorbox,enumitem}
\tcbuselibrary{skins,xparse}
\begin{document}
\noindent
\begin{tcolorbox}[skin=bicolor,title=Main Title,
colframe=red!75!black,colback=blue!10!white,colbacklower=green!10,width=0.5\linewidth,height=0.5\linewidth]
The upper part. \par ~~~\par ~~~\par ~~~\par ~~~\par ~~~\par ~~~\par ~~~\par ~~~\par ~~~
\tcblower
\tcbsubtitle[before skip=\baselineskip]%
{My subtitle}
The lower part.
\end{tcolorbox}
\end{document}
e o resultado é:
Muito obrigado; Harald
Responder1
Isso é realmente estranho e provavelmente é um bug. O hack no código abaixo corrige o problema de produção:
mas não entendo o que está acontecendo. O before skip=...
programa deveria cuidar disso, mas ajustar a quantidade de salto por si só não resolve o problema. Da mesma forma, deveria ser possível fazer isso usando apenas um \vskip
comando, mas também não consegui fazer isso funcionar. Só consegui resolver o problema tendo um \vskip
e um arquivo before skip
. Aqui está o hack:
\documentclass[a4paper]{article}
\usepackage[scale=.85]{geometry}
\usepackage{tcolorbox,enumitem}
\tcbuselibrary{skins,xparse}
\begin{document}
\noindent
\begin{tcolorbox}[skin=bicolor,title=Main Title,
colframe=red!75!black,colback=blue!10!white,colbacklower=green!10,
width=0.5\linewidth,
height=0.5\linewidth]
The upper part. \par ~~~\par ~~~\par ~~~\par
~~~\par ~~~\par ~~~\par ~~~\par ~~~\par ~~~
\tcblower\vskip-\baselineskip
\tcbsubtitle[before skip=-\baselineskip]{My subtitle}
The lower part.
\end{tcolorbox}
\end{document}
Pode ser necessário ajustar a \vskip
quantidade, pois acho que isso -\baselineskip
coloca a legenda um pouco alta demais, mas usar isso foi mais esteticamente agradável do que escolher uma distância aleatória.
Responder2
Deliberadamente, existe alguma distância entre a linha de separação e o conteúdo da parte inferior da caixa. Adicionar as draft
opções ajuda a entender o que acontece:
\documentclass[a4paper]{article}
\usepackage[scale=.85]{geometry}
\usepackage{tcolorbox}
\tcbuselibrary{skins,xparse}
\begin{document}
\begin{tcolorbox}[skin=bicolor,draft,title=Main Title,
colframe=red!75!black,colback=blue!10!white,colbacklower=green!10,width=0.5\linewidth,height=0.5\linewidth]
The upper part. \par ~~~\par ~~~\par ~~~\par ~~~\par ~~~\par ~~~\par ~~~\par ~~~\par ~~~
\tcblower
\tcbsubtitle[]%
{My subtitle}
The lower part.
\end{tcolorbox}
\end{document}
A distância entre a bicolor
linha de separação e o conteúdo da parte inferior é middle
(padrão: 2mm) mais boxsep
(padrão: 1mm). Você vê essas distâncias nas cores branca e rosa.
A legenda começa exatamente no início da parte inferior (você pode ver a linha tracejada no topo da legenda).
Para mover a legenda para cima, até a linha de separação, pode-se usar enlarge top initially by
para alterar a caixa delimitadora da legenda. Isso funciona desde que a altura da legenda seja maior que a distância corrigida. Na verdade, eu adicionaria uma pequena distância adicional para evitar falhas ópticas quando duas linhas forem correspondidas, por exemplo, use 3.1mm
para os valores padrão:
\documentclass[a4paper]{article}
\usepackage[scale=.85]{geometry}
\usepackage{tcolorbox}
\tcbuselibrary{skins,xparse}
\begin{document}
\begin{tcolorbox}[skin=bicolor,title=Main Title,
colframe=red!75!black,colback=blue!10!white,colbacklower=green!10,width=0.5\linewidth,height=0.5\linewidth]
The upper part. \par ~~~\par ~~~\par ~~~\par ~~~\par ~~~\par ~~~\par ~~~\par ~~~\par ~~~
\tcblower
\tcbsubtitle[enlarge top initially by=-3.1mm]% -(middle+boxsep+tinydelta)
{My subtitle}
The lower part.
\end{tcolorbox}
\end{document}
Isto dá: