tcolorbox 禁用空白选项

tcolorbox 禁用空白选项

在编写包时,我开始使用tcolorbox及其documentation库。我找到了密钥doc head command等,并开始自定义。但是这样做有很大的限制,因为我基本上无法使用这些enhanced功能。原因(来自包的代码):

\newtcolorbox{tcb@doc@head}[1]{blank,colback=white,colframe=white,
  code={\tcbdimto\tcb@temp@grow@left{-\kvtcb@doc@indentleft}%
        \tcbdimto\tcb@temp@grow@right{-\kvtcb@doc@indentright}},
  grow to left by=\tcb@temp@grow@left,%
  grow to right by=\tcb@temp@grow@right,
  sidebyside,sidebyside align=top,
  sidebyside gap=-\tcb@w@upper@real,
  phantom=\phantomsection,%
  enlarge bottom by=-0.2\baselineskip,#1}

它包含禁用所有绘图的选项blank。出于自定义目的,我想删除它。我真的必须重新定义整个命令吗?还是有什么简单的方法?

梅威瑟:

\documentclass{article}
\usepackage{tcolorbox}
\tcbuselibrary{documentation}
\tcbset{
doc head command={colback=black} % disable blank here for the fancy stuff
}

\begin{document}
\begin{docCommand}{examplecommand}
Test
\end{docCommand}
\end{document}

答案1

最简单的方法是\tcbset{blank/.style={}}在加载documentation库后进行说,但这可能会破坏其他环境(如果在那里使用,tcolorbox它们的外观会发生变化)。blank

另一个解决方案是定义noblank部分撤销的定义blank(参见文件tcbskins.code.tex中的设置),不幸的是,某些选项必须复制并手动更改。

\documentclass{article}
\usepackage{tcolorbox}


\tcbuselibrary{documentation}


% From tcbskins.code.tex
% blank/.style={enhanced,frame hidden,interior hidden,segmentation hidden,%
%    arc=0pt,outer arc=0pt,boxsep=0pt,top=0pt,bottom=0pt,left=0pt,right=0pt,boxrule=0pt,%
%    bottomtitle=6pt,middle=3pt}}

\tcbset{
  noblank/.style={enhanced,frame style={draw,fill=tcbcol@frame}, interior style={draw,fill=tcbcol@back}, segmentation hidden,sharp corners,
    %boxrule=1pt, % Change at will
    %boxsep=1pt,
  }
}

\tcbset{
  doc head command={colback=black,noblank} % disable blank here for the fancy stuff
}




\begin{document}
\begin{docCommand}{examplecommand}{}
Test
\end{docCommand}
\end{document}

在此处输入图片描述

相关内容