并排 tcolorbox 环境之间的水平间隙

并排 tcolorbox 环境之间的水平间隙

我正在尝试使用该软件包为我的简历创建现代布局tcolorbox。以下是我迄今为止完成的工作:

\documentclass{article}

%%%

\usepackage{geometry}

\geometry{
    paperheight=842pt,
    paperwidth=595pt,
    margin=0pt,
}
\setlength{\parindent}{0cm}

%%%

\usepackage{xcolor}

\definecolor{theme}{HTML}{333d4f}
\definecolor{shader}{HTML}{e3e4e6}

%%%

\usepackage{tcolorbox}

\newtcolorbox{sidebar}[1][]{
  boxrule=0pt,
  colback=theme,
  sharp corners,
  width=0.35\paperwidth,
  height=#1,
  nobeforeafter,
  valign=center,
  halign=center,
}

\newtcolorbox{mainbox}[1][]{        
  boxrule=0pt,
  colback=white,    
  sharp corners,
  width=0.65\paperwidth,
  height=#1,
  nobeforeafter,
  valign=center,
  halign=center,
}

\newtcolorbox{headbox}[1][]{    
  boxrule=0pt,
  colback=shader,
  sharp corners,
  width=0.65\paperwidth,
  height=#1,
  nobeforeafter,
  valign=center,
  halign=center,
}

%%%

\offinterlineskip % <--------------

%%%

\begin{document}

\begin{sidebar}[0.15\paperheight]

    Top-Sidebar

\end{sidebar}
%
%
\begin{headbox}[0.15\paperheight]

    Headbox

\end{headbox}
%
%
\begin{sidebar}[0.85\paperheight]

    Bottom-Sidebar

\end{sidebar}
%
%
\begin{mainbox}[0.85\paperheight]

    Mainbox

\end{mainbox}

\end{document}

在此处输入图片描述

现在我陷入了两件困境:

tcolorbox“瓷砖”之间的水平间隙

当我尝试将两个tcolorbox环境并排放置时,两个颜色框之间有一个很小但仍然明显的水平间隙(用红色圈出)。我已经发现,当尝试避免直接放置在彼此上方的颜色框之间的垂直间隙时,放置良好的命令可以完成这项工作。是否有等效的命令或参数可以消除并排放置的\offinterlineskip两个环境之间的水平间隙?tcolorbox

将颜色框放置在图案中

从技术上讲,“顶部侧边栏”和“底部侧边栏”应该是一个颜色框。但是,我似乎无法将多个tcolorbox环境并排放置而不会搞砸。现在,有没有办法“合并”“顶部侧边栏”和“底部侧边栏”,以使布局完全相同,但三种颜色各只有一个颜色框?

非常感谢你的回答!

答案1

除其他解决方案外,您还可以使用\tcbposter带有三个框的方案。请tcbposter参阅tcolorbox文档中的第 20 节。

\documentclass{article}

%%%

\usepackage{geometry}

\geometry{
    paperheight=842pt,
    paperwidth=595pt,
    margin=0pt,
}
\setlength{\parindent}{0cm}

\usepackage[most]{tcolorbox}

\definecolor{theme}{HTML}{333d4f}
\definecolor{shader}{HTML}{e3e4e6}

\begin{document}
\begin{tcbposter}[
    poster = {showframe, columns=1, rows = 1, spacing=0pt},
    boxes = {sharp corners, halign=center, valign=center, boxrule=0pt}
]
\posterbox[colback=theme]{name=sidebar, column=1, row=1, span=.35}{}
\posterbox[colback=shader, height=.15\paperheight]{name=headbox, column*=1, row=1, span=.65}{}
\posterbox[colback=white]{name=mainbox, column*=1, span=.65, below=headbox, rowspan=.85}{}
\end{tcbposter}
\end{document}

在此处输入图片描述

相关内容