尝试使用 \caption 应用两种不同的标题样式,但样式无法应用

尝试使用 \caption 应用两种不同的标题样式,但样式无法应用

下面是我的完整 LaTeX 文档。

我的目标是创建两种不同的标题样式。一种样式用于编程块的标题(使用列表创建),在编程块上方,会出现一个带有灰色背景和黑色轮廓的标题。这是在 中完成的\DeclareCaptionStyle{style1}

然后我想要第二个标题样式,它没有应用任何样式,只用于图像下方。这是在 中完成的\DeclareCaptionStyle{style2}

目前,编程块 ( \DeclareCaptionStyle{style1}) 的样式未应用于文档中。我不确定我的语法有什么问题。

\documentclass[12pt,dvipsnames]{article}
\usepackage{graphicx, listings, caption}
\usepackage[most]{tcolorbox}
\graphicspath{{./Images/}}

\tcbset{on line,
  boxsep=4pt, left=0pt,right=0pt,top=0pt,bottom=0pt,
  colframe=black,colback=lightgray,
  highlight math style={enhanced}
}

\DeclareCaptionStyle{style1}{
  font={sf,small},
  box=colorbox,boxcolor=gray,
  labelformat=empty,
  justification=raggedright,
  singlelinecheck=false
}
\DeclareCaptionStyle{style2}{
}
\captionsetup[R]{style=style1}
\captionsetup[graphics]{style=style2}

\lstset{
  rulecolor=\color{Black},
  backgroundcolor=\color{White},
  breaklines=true,
  tabsize=4,
  showstringspaces=false
  extendedchars=\true,
  frame=single,
  framesep=3pt,
  framerule=0.4pt,
  xleftmargin=3.4pt,
  xrightmargin=3.4pt,
}

\lstdefinestyle{R}{
  language=R,
  caption={[R]{R}},
  basicstyle=\scriptsize\color{Gray}\ttfamily,
  keywordstyle=\color{Blue},
  identifierstyle=\color{Black},
  stringstyle=\color{BrickRed},
  commentstyle=\color{Green}
}

\begin{document}
\begin{lstlisting}[style=R]
print("hello")
\end{lstlisting}

\begin{figure}[h]
\centering
\includegraphics{imagename}
\caption[graphics]{Amazing captioning text.}
\end{figure}
\end{document}

答案1

改为\captionsetup参考lstlistingfigure取得成功。

\captionsetup[lstlisting]{style=style1}
\captionsetup[figure]{style=style2}

相关内容