我有几种不同的lstlisting
环境,想知道是否可以在环境的右上角添加一个框,显示带有文件名的字符串?例如,如果我有一些代码
\begin{lstlisting}[language=C,frame=single]
...
\end{lstlisting}
并且我想指定此代码属于main.c
,有什么方法可以以我想要的风格来显示它吗?
答案1
您可以使用tcolorbox
已预装许多选项的版本。请参阅其文档以了解更多自定义功能。
\documentclass{article}
\usepackage[listings,skins]{tcolorbox}
\begin{document}
\lstdefinestyle{mycppstyle}{%
language=C,
commentstyle=\color{green},
keywordstyle=\color{blue},
stringstyle=\color{red},
basicstyle=\ttfamily,
basewidth=0.5em,
}
\newtcblisting{mylisting}[1]{%
enhanced,
listing only,
title={\texttt{#1}},
attach boxed title to top right,
listing options={style=mycppstyle}
}
\begin{mylisting}{main.c}
#include <stdio.h>
int main()
{
return 0;
}
\end{mylisting}
\end{document}
输出: