tcolorbox 手册中的文本框不起作用!

tcolorbox 手册中的文本框不起作用!

我目前正在尝试为当前的论文添加一些漂亮的文本框。因此,我找到了该tcolorbox软件包并查阅了相应的手册。

当我浏览了一些示例并熟悉了该包的基本用法后,我发现手册第 154 页的示例有一个增强的标题框。

关于这个例子的基本代码如下(基本上是从手册中复制的):

\documentclass[pdftex]{report}

\usepackage{lipsum}
\usepackage[many]{tcolorbox}    % Paket für textboxen
\usepackage{varwidth}           % Paket zur anpassung der titelbreite von textboxen

\begin{document}

\newtcolorbox{mybox}{
    enhanced,
    before skip=2mm,after skip=2mm,
    colback=black!5,colframe=black!50,boxrule=0.2mm,
    attach boxed title to top left={xshift=1cm,yshift*=1mm-\tcboxedtitleheight},
    varwidth boxed title*=-3cm,
    boxed title style={
        frame code={
            \path[fill=tcbcol@back!30!black]
                ([yshift=-1mm,xshift=-1mm]frame.north west)
                arc[start angle=0,end angle=180,radius=1mm]
                ([yshift=-1mm,xshift=1mm]frame.north east)
                arc[start angle=180,end angle=0,radius=1mm];
            \path[left color=tcbcol@back!60!black,right color=tcbcol@back!60!black,
                middle color=tcbcol@back!80!black]
                ([xshift=-2mm]frame.north west) -- ([xshift=2mm]frame.north east)
                [rounded corners=1mm]-- ([xshift=1mm,yshift=-1mm]frame.north east)
                -- (frame.south east) -- (frame.south west)
                -- ([xshift=-1mm,yshift=-1mm]frame.north west)
                [sharp corners]-- cycle;
        },
        interior engine=empty,
    },
    fonttitle=\bfseries,
    title={My title},
    colbacktitle=green
}
\begin{mybox}
\lipsum[1]
\end{mybox}

\end{document}        

遗憾的是,这似乎不起作用。

我已将问题范围缩小至以下区块:

boxed title style={
    frame code={
        \path[fill=tcbcol@back!30!black]
            ([yshift=-1mm,xshift=-1mm]frame.north west)
            arc[start angle=0,end angle=180,radius=1mm]
            ([yshift=-1mm,xshift=1mm]frame.north east)
            arc[start angle=180,end angle=0,radius=1mm];
        \path[left color=tcbcol@back!60!black,right color=tcbcol@back!60!black,
            middle color=tcbcol@back!80!black]
            ([xshift=-2mm]frame.north west) -- ([xshift=2mm]frame.north east)
            [rounded corners=1mm]-- ([xshift=1mm,yshift=-1mm]frame.north east)
            -- (frame.south east) -- (frame.south west)
            -- ([xshift=-1mm,yshift=-1mm]frame.north west)
            [sharp corners]-- cycle;
    },
    interior engine=empty,
},

如果从框架代码中删除两个 \path 分支,它似乎可以工作,但标题框也没有编码!

该示例应如下所示: 在此处输入图片描述

由于我没有对示例代码进行任何重要更改,因此我不明白收到的错误消息:

Undefined control sequence. [   \begin{mybox}]
Undefined control sequence. [   \begin{mybox}]

答案1

对于评论来说太长了,这只是一个建议。

该软件包tcolorbox从版本 3.80 引入了一些更改/更新3.90(即 2016/02/29 的更新)。原始作者编写的代码在预3.90发布版本中遇到了问题:

! Undefined control sequence.
\tcb@frame@code ->\path 
                        [fill=tcbcol@back!30!black] ([yshift=-1mm,xshift=-1m...
l.36 \begin{mybox}

先前3.30版本会报告以下错误:

! Package pgfkeys Error: I do not know the key '/tcb/before skip', to which you
 passed '2mm', and I am going to ignore it. Perhaps you misspelled it.

See the pgfkeys package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.36 \begin{mybox}

自此之后的任何版本3.90都会提供正确的输出,因此最简单的建议是更新,而不是在此处修补代码!

在此处输入图片描述

对于那些想要比较错误等的人:这是旧版本的tcolorbox github 上的 tcolorbox/发布

相关内容