使用 tcblisting 的新环境

使用 tcblisting 的新环境

我想定义一个使用listingstcolorbox包的宏环境,类似于:

\documentclass{article}
\usepackage{tcolorbox}
\tcbuselibrary{listings}

\newenvironment{codeblock}[1]
  {\begin{tcblisting}{title=#1}}
  {\end{tcblisting}}

\begin{document}
\begin{codeblock}
code
\end{codeblock}
\end{document}

但是,我收到以下错误消息:

! File ended while scanning use of \next.

该怎么办?我尝试搜索了一下,但这似乎是一个非常普遍的错误消息,与逐字/列表环境中的空格有关。

我尝试直接执行代码,并编译通过。只有在使用宏时才会出现错误,考虑到我有几百个具有相同格式的条目(为简单起见,未包括),我更喜欢使用宏。

答案1

您需要通过以下方式定义新的列表格式/样式\newtcblisting

在此处输入图片描述

\documentclass{article}

\usepackage{tcolorbox}
\tcbuselibrary{listings}

\newtcblisting{codeblock}[1]{title=#1}

\begin{document}

\begin{codeblock}{code title}
code
\end{codeblock}

\end{document}

相关内容