如何使用 caption/captionsetup 为标题框添加圆边

如何使用 caption/captionsetup 为标题框添加圆边

我在序言中使用了以下内容,以确保图表下方的标题具有灰色背景:

\usepackage{caption}
\definecolor{light-gray}{gray}{0.9}
\captionsetup{box=colorbox,boxcolor=light-gray,slc=off}

得到的结果如下:

在此处输入图片描述

我的问题是我想要圆边,但不知道如何实现。标题没有指定可以传递给函数的所有参数\captionsetup。事实上,在该文档中找不到box=和。是否可以传递参数来使背景标题框的边缘圆滑?其次,我在哪里可以找到完整的标题文档?boxcolor=

答案1

底层colorbox试验之前不提供圆边,因为\colorbox根本没有圆边。

一个技巧是用另一个标题框替换colorbox——这有点棘手:

的一个未记录的功能caption\DeclareCaptionOption\DeclareCaptionBox宏——使用它们来添加一个名为的选项,比如说stuffforbox由底层使用的mycaptionbox,它被定义为\newtcolorbox

有关更多配置选项,请参阅tcolorbox手册,特别是有关间距问题!

\documentclass{article}

\usepackage{caption}
\usepackage[most]{tcolorbox}


\definecolor{light-gray}{gray}{0.9}
\makeatletter
\newtcolorbox{mycaptionbox}[2][]{enhanced,colback=light-gray,#1}
\DeclareCaptionOption{stuffforbox}{\def\caption@stuffforbox{#1}}

\DeclareCaptionBox{mybox}{%
  \begin{mycaptionbox}[code={\pgfkeysalsofrom{\caption@stuffforbox}}]
    #2%
  \end{mycaptionbox}%
}
\makeatother
\captionsetup{stuffforbox={drop shadow},box={mybox},boxcolor={light-gray},slc=off}

\begin{document}
\begin{figure}
  \caption{An image}
\end{figure}
\end{document}

在此处输入图片描述

相关内容