我已经定义了一个自定义环境(使用托克洛夫特包裹,感谢 Juan) 看起来像:
\newcommand{\listscriptname}{List of Scripts}
\newlistof[chapter]{script}{spt}{\listscriptname}
\def\thescript{\thechapter-\arabic{script}}
\newenvironment{script}[2][]
{ \vspace{3mm}\hspace{3mm}
\colorbox{orange}{\refstepcounter{script}
\textbf{Script~\thescript #1:code/#2.groovy}}
\addcontentsline{spt}{script}
{\protect\numberline{\thescript}#1~~code/#2.groovy}
}
{}
我的用法如下:
\begin{script}{FooBar}
\label{script:FooBar}
BitStream.
\end{script}
并使用以下命令引用它:
Script~\ref{script:FooBar}.
但是我得到的不是脚本环境编号,而是节的编号。
我做错了什么(我确实尝试了几种变化......)?
答案1
移出:\refstepcounter
\colorbox
\newenvironment{script}[2][]
{\vspace{3mm}\hspace{3mm}%
\refstepcounter{script}%
\colorbox{orange}{%
\textbf{Script~\thescript foo#1bar:code/#2.groovy}}
\addcontentsline{spt}{script}
{\protect\numberline{\thescript}#1~~code/#2.groovy}
}
{}