我目前正在尝试为当前的论文添加一些漂亮的文本框。因此,我找到了该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/发布