newtcblisting 中的 capture=hbox 不起作用

newtcblisting 中的 capture=hbox 不起作用

我可以使用 tcolorbox 包中的 tikz 节点包含一个 minted 列表newtcblisting。但是,当我这样做时,它会占用所有可用的水平空间,因为默认是使用minipage。所以我尝试使用capture=hbox作为选项newtcblisting,但似乎不起作用。

\documentclass{article}

\usepackage{tikz}
\usepackage{minted}
\usepackage{tcolorbox}
\tcbuselibrary{minted}
\definecolor{codebggray}{rgb}{0.8,0.8,0.8}

\newtcblisting{codenode}[2][]{%
  colback=codebggray,
  capture=hbox,
  listing only,
  minted options={
    fontsize=\small
  },  
  minted language=#2,
  #1
}

\begin{document}

Inside a tikz node:

\begin{tikzpicture}[node distance=3cm]
\node(x) {
\begin{codenode}{python}
def sum (x,y):
    return x + y
\end{codenode}
};
\node(y) [below of=x]{whatever};
\draw (x) -- (y);
\end{tikzpicture}

Okay, done.

\end{document}

使用该代码,我收到以下错误:

...
(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty))
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg))
(./_minted-minted-test/default-pyg-prefix.pygstyle)
(./_minted-minted-test/default.pygstyle)
(./_minted-minted-test/5274B8282787B54746A9B53E7030D876B61BC921347B2DF172485E3E034D065E.pygtex

! LaTeX Error: Something's wrong--perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.1 \begin{Verbatim}[commandchars=\\\{\}]

? 

我知道我可以在 tikz 节点内包含一个小页面,但据我所知,我需要包含每个节点的宽度——而且由于我正在处理一个充满节点的 500 页文档,所以我宁愿只更改环境定义,而不是它在文本中的使用方式。

那么,可以capture=hbox在里面使用吗newtcblisting

相关内容