下面是我的完整 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
参考lstlisting
并figure
取得成功。
\captionsetup[lstlisting]{style=style1}
\captionsetup[figure]{style=style2}