Tcolorbox: Hintergrundfarbe des Untertitels

Tcolorbox: Hintergrundfarbe des Untertitels

Wie kann ich den Übergang zwischen den Hintergrundfarben korrigieren? Das 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}

und das Ergebnis ist:

Bildbeschreibung hier eingeben

Vielen Dank, Harald

Antwort1

Das ist wirklich seltsam und wahrscheinlich ein Fehler. Der Hack im folgenden Code behebt das Problem und erzeugt:

Bildbeschreibung hier eingeben

aber ich verstehe nicht, was passiert. Das before skip=...sollte sich darum kümmern, aber das Anpassen der Überspringmenge allein behebt das Problem nicht. Ebenso sollte es möglich sein, dies nur mit einem \vskipBefehl zu tun, aber ich konnte das auch nicht zum Laufen bringen. Ich konnte das Problem nur beheben, indem ich sowohl a als auch \vskipa hatte before skip. Hier ist der 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}

Möglicherweise müssen Sie den Betrag anpassen, \vskipda ich finde, dass -\baselineskipder Untertitel dadurch einen Tick zu hoch platziert wird, aber diese Einstellung war ästhetisch ansprechender als die Wahl einer zufälligen Entfernung.

Antwort2

Bewusst ist zwischen der Trennlinie und dem Inhalt des unteren Boxteils etwas Abstand. Das Hinzufügen der draftOptionen hilft zu verstehen, was passiert:

\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}

Bildbeschreibung hier eingeben

Der Abstand zwischen der bicolorTrennlinie und dem Inhalt des unteren Teils beträgt middle(Standard: 2mm) plus boxsep(Standard: 1mm). Diese Abstände werden in den Farben Weiß und Rosa angezeigt.

Der Untertitel beginnt genau am Anfang des unteren Teils (Sie erkennen möglicherweise die gestrichelte Linie oben im Untertitel).

Um den Untertitel nach oben zur Trennlinie zu verschieben, könnte man enlarge top initially byden Begrenzungsrahmen des Untertitels ändern. Dies funktioniert, solange die Höhe des Untertitels größer als der korrigierte Abstand ist. Tatsächlich würde ich einen kleinen zusätzlichen Abstand hinzufügen, um optische Störungen zu vermeiden, wenn zwei Zeilen übereinstimmen. Verwenden Sie beispielsweise 3.1mmdie Standardwerte:

\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}

Das gibt:

Bildbeschreibung hier eingeben

verwandte Informationen