Tcolorbox:字幕背景顏色

Tcolorbox:字幕背景顏色

如何修正背景顏色之間的過渡?氣象局:

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

結果是:

在此輸入影像描述

多謝;哈拉爾德

答案1

這真的很奇怪,可能是個錯誤。下面程式碼中的 hack 修復了產生的問題:

在此輸入影像描述

但我不明白發生了什麼事。應該before skip=...可以解決這個問題,但單獨調整跳躍量並不能解決問題。同樣,應該可以僅使用\vskip命令來完成此操作,但我也無法使其工作。我只能透過同時擁有 a\vskip和 a來解決這個問題before skip。這是駭客:

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

您可能需要調整\vskip數量,因為我認為這-\baselineskip會使字幕過高,但使用它比選擇隨機距離在美學上更令人愉悅。

答案2

分隔線和下框部分的內容之間故意留有一定距離。添加draft選項有助於理解會發生什麼:

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

在此輸入影像描述

bicolor分隔線與下部內容之間的距離為middle(預設:2mm)加上boxsep(預設:1mm)。您可以看到這些距離為白色和粉紅色。

副標題恰好從下部的開頭開始(您可能會在副標題頂部看到虛線)。

若要將字幕向上移動到分隔線,可以使用enlarge top initially by變更字幕的邊界框。只要字幕的高度大於校正的距離,此方法就有效。實際上,我會添加一個小的額外距離,以避免在兩條線匹配時發生光學故障,例如用於3.1mm預設值:

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

這給出:

在此輸入影像描述

相關內容