\ vfill em tcolorbox com sidebyside
Oct 02 2020
Eu tenho alguns tcolorboxes sidebyside de altura variável inquebráveis.
Na parte inferior dessas caixas, quero ter no lado esquerdo uma linha e no lado direito um texto "separe aqui" no mesmo nível da linha.
Não tenho altura fixa, então não posso definir este atributo (?).
\documentclass[notitlepage]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[many]{tcolorbox}
\usepackage{lipsum}
\begin{document}
\begin{tcolorbox}[sidebyside,sidebyside align=top]
on left: \lipsum[1]
\vfill
\mbox{}{ \hrule}
\tcblower
text
\vfill
please separate here
\end{tcolorbox}
\begin{tcolorbox}[sidebyside,sidebyside align=top]
text
\vfill
\mbox{}{ \hrule}
\tcblower
on right:\lipsum[2]
\vfill
please separate here
\end{tcolorbox}
\end{document}
Respostas
1 muzimuzhiZ Oct 02 2020 at 19:48
O conteúdo superior e inferior de um lado a lado tcolorboxé colocado em um minipageambiente. Até que a altura de minipageseja especificada, um \vfillusado nele não terá efeito.
No exemplo a seguir, o efeito desejado é emulado por overlayopção. São utilizadas algumas dimensões internas tcolorboxe dois números mágicos (10pt, 12pt) evitáveis.
\documentclass[notitlepage]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[many]{tcolorbox}
\usepackage{lipsum}
\makeatletter
\tcbset{
my sidebyside/.style={
sidebyside, sidebyside align=top,
enhanced, geometry nodes,
bottom=2mm+14.4pt,
overlay={
\draw ([shift={(\kvtcb@leftupper+\kvtcb@boxsep, 10pt)}]frame.south west)
-- ([shift={(-.5*\kvtcb@sbs@gap, 10pt)}]frame.south);
\node[shift={(.5*\kvtcb@sbs@gap, 10pt)}, inner sep=0pt, anchor=base west] at (frame.south) {please separate here};
}
}
}
\makeatother
\begin{document}
\begin{tcolorbox}[my sidebyside]
\lipsum[2]
\tcblower
right-side is shorter
\end{tcolorbox}
\begin{tcolorbox}[my sidebyside]
left-side is shorter
\tcblower
\lipsum[2]
\end{tcolorbox}
\end{document}
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?