lstlistingとtcolotboxのネストをnewenvironmentで統一できない

lstlistingとtcolotboxのネストをnewenvironmentで統一できない

- KK TeX の投稿
返信数: 2

ソースコードをpdf上に出力したい場面において、lstlistingを用いるのですが、これとtcolorboxを融合させて新しい環境lstlistingsを作ろうと考えました。そんなわけで試したのですが、シンプルに

\begin{sourcebox}{Code}
\begin{lstlisting}
  ソースコード本文
\end{lstlisting}
\end{sourcebox}

のように書く場合にはエラーにならないのに

\newenvironment{lstlistings}{\begin{sourcebox}{Code}\begin{lstlisting}}{\end{lstlisting}\end{sourcebox}}

として新しいマクロにした途端にエラーが出るようになりました。

これを回避してtcolorboxにlstlisting的な効果を持たせることはできませんでしょうか。

添付ファイルは、テストファイル、そのlog、そして私のフォント設定(マクロ内に一部フォントの設定が混入しているため。)となっています。どなたかお力添えいただける方はいらっしゃいませんでしょうか。
KK TeX への返信

Re: lstlistingとtcolotboxのネストをnewenvironmentで統一できない

- 和田 勇 の投稿

この回答が、ご要望に即しているかわかりませんが ...

tex.stackexchange.com に newenvironment for tcolorbox and lstlisting という同様のお悩みの質問を見つけました。

ただ、Answer には 「he tcolorbox manual section 4.13 p 302」とありますが、 古いマニュアルの情報のようですでの tcolorbox のマニュアルかコマンドラインで texdoc tcolorbox で listing only を検索してみてください。

現在は「17.5 Option Keys of the LIB listings Library」の 335 ページ以降のようです。

上記情報に合わせて lstlistings を sourcebox を利用した形で修正してみましたので参考にしてください。