我有如下的 tcolorbox 代码
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{vietnam}
\newcounter{dang}\setcounter{dang}{0}
\renewcommand{\thedang}{\arabic{dang}}
\newtcolorbox{dang}[1]{enhanced, breakable,
before skip=2mm,after skip=2mm,
colback=white,colframe=blue!40!black,boxrule=0.5mm,
attach boxed title to top left={xshift=1cm,yshift*=1mm-\tcboxedtitleheight},
varwidth boxed title*=-3cm,arc is angular,
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,
},colbacktitle=blue!40!black,breakable,
fonttitle=\bfseries,
title={#1}
\addcontentsline{toc}{subsubsection}{#1}
}
\begin{dang}{Cộng 2 số phức}
Ta có $ z=a+bi $ và $ z'=a'+b'i $ khi đó $ z+z'=a+a'+(b+b')i $
\end{dang}
\end{document}
我想隐藏或显示框的标题,该框的背景为蓝色,内容为白色。我该怎么做?谢谢
答案1
您的问题不太清楚,因此我对您想要的内容做了一些假设。
不显示标题框的通常方法就是不将其包含title={…}
在框选项中。
但是按照您当前的操作方式,这意味着您必须将\addcontentsline
框外选项拉出并放入目录中想要的每个框的参数中。恕我直言,这并不理想。
tcolorbox
能够使用框标题作为条目自动将每个框放入目录中。不幸的是,如果没有给出标题,它会放入框环境的名称(即党)!同样,这并不是很理想,因为我认为在您的情况下,您希望没有标题的框不包含在目录中。
我的折衷方案是遵循标准 LaTeX 行为并创建两个框环境(dang
和dang*
),其中dang
目录中仅包含。两者都可以指定标题。
也可以自动对框进行编号,但我没有在下面这样做,因为我不确定你想要什么。
平均能量损失
\documentclass[12pt,a4paper]{article}
\usepackage{varwidth}
\usepackage[most]{tcolorbox}
\usepackage[utf8]{vietnam}
\tcbset{%
dang/.style={
enhanced, breakable,
before skip=2mm, after skip=2mm,
colback=white, colframe=blue!40!black,
boxrule=0.5mm, arc is angular,
attach boxed title to top left={xshift=1cm, yshift*=1mm-\tcboxedtitleheight},
varwidth boxed title*=-3cm,
boxed title style={frame code={
\path[fill=tcbcolback!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=tcbcolback!60!black, right color=tcbcolback!60!black,
middle color=tcbcolback!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},
colbacktitle=blue!40!black,
fonttitle=\bfseries}}
\newtcolorbox[list inside=toc]{dang}[1][]{dang,#1}
\newtcolorbox{dang*}[1][]{dang,#1}
\begin{document}
\tableofcontents
\section{A section}
\subsection{A subsection}
\begin{dang}[title=Cộng 2 số phức]
Ta có $ z=a+bi $ và $ z'=a'+b'i $ khi đó $ z+z'=a+a'+(b+b')i $
\end{dang}
\subsubsection{A subsubsection}
\begin{dang*}
Ta có $ z=a+bi $ và $ z'=a'+b'i $ khi đó $ z+z'=a+a'+(b+b')i $
\end{dang*}
\begin{dang*}[title=This is not in the table of contents]
Ta có $ z=a+bi $ và $ z'=a'+b'i $ khi đó $ z+z'=a+a'+(b+b')i $
\end{dang*}
\end{document}