2009-09-28 148 views
3

我有以下newenvironment命令:膠乳newenvironment標籤

\newcounter{algoctr}[chapter] \setcounter{algoctr}{0} 
\newenvironment{algo}[1] { 
\refstepcounter{algoctr}\vspace{0.2cm}\noindent{\bf Algorithm 
\arabic{chapter}.\arabic{algoctr}: #1}}{\par} 

我用它正是如此

\begin{algo}{blabbing a blah} 
blah 
blah 
\label{eq:blabbing} 
\end{algo} 

然而,每次我參考標籤(\ REF {當量:泄密}),我得到一個「1」,而不是「1.1」。

有人能讓我知道我在做什麼錯嗎?

感謝

回答

3

就快,你只需要重新定義\thealgoctr以及,是這樣的:(未經測試)

\renewcommand\thealgoctr{\arabic{chapter}.\arabic{algoctr}} 

然後在您的環境中使用\thealgoctr而不是明確refe送到櫃檯。

1

我不知道你的櫃檯,但我可以推薦另一種可能性中,這個工程:

\usepackage{amsthm} 

\newtheoremstyle{algostyle} 
    {0.2cm}{0cm}%         margin top and bottom 
    {\rmfamily}%         text layout 
    {0cm}%          indention of header 
    {\bfseries}{ }%        header font and text after 
    {0cm}%          space after header 
    {\thmname{#1}\thmnumber{ #2}:\thmnote{ #3}}% header 

\theoremstyle{algostyle} 
\newtheorem{algo}{Algorithm}[chapter] 

\begin{algo}[blabbing a blah]% brackets instead of curly braces for note 
blah 
blah 
\label{eq:blabbing} 
\end{algo}