如何将文件名添加到列表环境的右上角?

如何将文件名添加到列表环境的右上角?

我有几种不同的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}

输出:

在此处输入图片描述

相关内容