Tcolorbox,铸造且无标题列表

Tcolorbox,铸造且无标题列表

我正在尝试使用 tcolorbox 和 minted 制作一个无标题列表。我制作了一个宏来自动执行该任务,并将片段的标题作为可选参数。

我的目标是,当可选参数为空时,不打印标题(也不在列表列表中注册列表)。

我不知道该怎么做,因为无法在 tcolorbox 声明中添加 ifcase。

这是我的 MWE:

\documentclass{article}
\usepackage[most,minted]{tcolorbox}
\usepackage{listings}

\usepackage{filecontents}
\begin{filecontents*}{helloworld.java}
public class HelloWorld {
    // A 'Hello World' in Java
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}
\end{filecontents*}


\AtBeginDocument{
\newtcbinputlisting[blend into=listings]{\mylisting}[2][]{%
    listing engine=minted,
    listing file={#2},
    listing only,
    breakable,
    title={Listing \thetcbcounter: #1},
    list text=#1,
    label={lst:\thetcbcounter},
    detach title,
    listing above comment,
    comment=\centering\tcbtitletext,
    enhanced jigsaw,
    sharp corners,
    boxrule=0.4pt,
    top=0pt,
    bottom=0pt,
    minted language=java,
    minted style=colorful,
    minted options={%
        tabsize=2,
        fontsize=\footnotesize,
        xleftmargin=2em,
        autogobble=true,
        numbers=left,
        numbersep=5pt,
        fontsize=\footnotesize,
        breaklines=true,
    },
    left=-2em,
    left skip=1em,
    width=\linewidth-1em,}

}

\begin{document}
    
\lstlistoflistings
    
\section{Test}

\mylisting{helloworld.java}  % This should not have a caption

\mylisting[Hello world]{helloworld.java}


\end{document}

我该怎么做?如您所见,MWE 中的第一个列表确实有一个空标题,而它不应该有。

MWE 输出

相关内容