在编写包时,我开始使用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}