各位大佬们,小弟在使用listings宏包时,想要将caption放在frame顶部横线的中间,并将其截断,如图所示,该如何操作呢?我在STFW(https://tex.stackexchange.com/)上只找到了关于mdframed宏包和minted宏包相关操作,没有找到listings宏包的,请各位大佬不吝赐教。
关于mdframed的例子:https://tex.stackexchange.com/questions/69148/how-to-insert-title-in-mdframed,
\documentclass{article}
\usepackage{mdframed}
\usepackage{lipsum}
\newenvironment{myenv}[1]
{\mdfsetup{
frametitle={\colorbox{white}{\space#1\space}},
innertopmargin=10pt,
frametitleaboveskip=-\ht\strutbox,
frametitlealignment=\center
}
\begin{mdframed}%
}
{\end{mdframed}}
\begin{document}
\begin{myenv}{The frame title}
\lipsum[2]
\end{myenv}
\end{document}
关于minted的例子:
\documentclass[UTF8,fontset=none,fancyhdr,12pt]{ctexart}
\usepackage{geometry}
\usepackage{tikz,everypage}
\usetikzlibrary{shapes,positioning}
\usepackage{graphicx}
\graphicspath{{figs/}}
\usepackage{minted}
\usepackage{multicol}
\usepackage{xcolor}
\definecolor{GreenYellow}{cmyk}{0.15,0,0.69,0}
\definecolor{headblue}{RGB}{47,85,151}
\colorlet{toprulecolor}{GreenYellow!50}
\colorlet{topbgcolor}{GreenYellow!20}
\colorlet{topcolor}{GreenYellow!80}
\newcounter{mmycode}
\NewDocumentEnvironment{mytex}{ }{
\VerbatimEnvironment\stepcounter{mmycode}
\begin{minted}[frame=single,linenos,style=colorful,label=Code:\themmycode]{tex}}
{\end{minted}}
\begin{document}
\begin{minted}[frame=single,linenos,style=colorful,label=Terminal:1]{shell}
pdflatex cas-dc-template
bibtex cas-dc-template
pdflatex cas-dc-template
pdflatex cas-dc-template
\end{minted}
\end{document}
效果分别如下:
想请问一下大佬们,listings宏包如何做到呢?我在listings宏包的说明文档里面也没找到相关参数。再次谢谢大佬们!
你这是固定的定制标题呢?还是定制的是只是必要的时候加一个代码说明呢?两个差异很大。
可以看看这里:
https://tex.stackexchange.com/questions/40682/define-a-new-caption-in-a-listing-environment
我想要将listings的frame顶部截断,然后将它的caption放到截断的地方,就像上图一样,将代码的title或者类似minted的label放到frame顶部缺口的地方。