没有 toprule 的 Tcolorbox

没有 toprule 的 Tcolorbox

我想使用 tcolorbox 创建一个现在有内部的框toprule。使用下面的选项,仍然有一条可见的线。此外,主体块与框架发生冲突。你知道如何解决这个问题吗?

\documentclass[12pt,a4paper,landscape]{beamer}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tcolorbox}\tcbuselibrary{skins}     
\usepackage{lipsum}

\newtcolorbox{mybox}[1][]{
    enhanced,
    colback=white,
    colbacktitle=white,
    coltitle=black,
    colframe=black,
    arc=15mm,
    toptitle=5mm,
    /tcb/boxrule=.5mm,
    /tcb/titlerule=0mm,
    titlerule style={white,line width=0mm}, % tikz arguments
    left=10mm,right=10mm,top=0mm,bottom=10mm,
    title={\strut#1}
}

\begin{document}
    \begin{frame}
        \begin{columns}[onlytextwidth]  
            \begin{column}{\textwidth}
                \begin{mybox}[Test]
                    \lipsum[31]
                \end{mybox}
            \end{column}
        \end{columns}
    \end{frame}
\end{document}

在此处输入图片描述

答案1

  1. 你设置了arc=15mm。 的值toptitle至少应该是它的一半,因此我将其更改为toptitle=10mm
  2. 如果您设置了line width=0mmtitlerule style虽然我不知道原因,但可能会出现一条非常轻微的灰线(取决于您的 pdf 阅读器)。我的经验是,在这种情况下,您可以将其设置为一个小的正值,比如0.1mm,这样线条就会真正不可见。另一种方法可能是用enhanced替换enhanced jigsaw
\documentclass[12pt,a4paper,landscape]{beamer}

\usepackage{tcolorbox}\tcbuselibrary{skins}
\usepackage{lipsum}

\newtcolorbox{mybox}[1][]{
    enhanced jigsaw, % use this the slight gray line will be removed
    colback=white,
    colbacktitle=white,
    coltitle=black,
    colframe=black,
    arc=15mm,
    toptitle=10mm,
    boxrule=.5mm,
    titlerule=0mm,
    titlerule style={white,line width=.1mm}, 
    left=10mm,right=10mm,top=0mm,bottom=10mm,
    title={\strut#1}
}

\begin{document}
    \begin{frame}
        \begin{columns}[onlytextwidth]
            \begin{column}{\textwidth}
                \begin{mybox}[Test]
                    \lipsum[31]
                \end{mybox}
            \end{column}
        \end{columns}
    \end{frame}
\end{document}

在此处输入图片描述

相关内容