2009-12-14 37 views
5

Given tôi đã xác định một môi trường mới mà một bộ đếm được duy trì:Cách xác định trong LaTeX một bộ đếm mới bao gồm số chương?

\newcounter{bioclipse} 
\newenvironment{bioclipse}[2][]{ 
    \begin{shaded}\refstepcounter{bioclipse}\par\medskip\noindent% 
    \textbf{Bioclipse Excursion~\thechapter-\thebioclipse #1: #2 
    \vspace{0.1cm} \hrule \vspace{0.1cm}} 
    \rmfamily}{\medskip \end{shaded} 
} 

Bây giờ, tôi có thể thêm nhãn cho một môi trường như vậy:

\begin{bioclipse}{Wizards: New Molecule from SMILES} 
    \label{chapCompRepr:ex:fromSMILESWizard} 
    Bioclipse has a \textit{New Wizard} to create a new chemical graph. 
\end{bioclipse} 

này xuất ra một văn bản với chú thích và một con số. Bởi vì nó sử dụng \ thechapter, con số này sẽ bao gồm số chương; đó là, môi trường đầu tiên trong Chương 3, sẽ được đánh số trong 3-1. Trong đầu ra, đó là.

Tuy nhiên, khi tôi đề cập đến nó với \ ref {chapCompRepr: ví dụ: fromSMILESWizard}, số này không bao gồm số chương ... Làm cách nào để thay đổi định nghĩa môi trường của tôi hoặc định nghĩa truy cập bao gồm số chương và đặt lại số thứ hai cho mỗi chương?

Trả lời

8

Insert:

\def\thebioclipse{\thechapter-\arabic{bioclipse}} 

và nhận

\newcounter{bioclipse} 
\def\thebioclipse{\thechapter-\arabic{bioclipse}} 
\newenvironment{bioclipse}[2][]{ 
    \begin{shaded}\refstepcounter{bioclipse}\par\medskip\noindent% 
    \textbf{Bioclipse Excursion~\thebioclipse #1: #2 
    \vspace{0.1cm} \hrule \vspace{0.1cm}} 
    \rmfamily}{\medskip \end{shaded} 
} 
+0

đó làm việc! Nhìn lại, chỉ cần xác định lại lệnh \ thebioclipse có ý nghĩa hoàn hảo! –

+0

Làm thế nào để giải pháp này đảm bảo rằng bộ đếm được đặt lại sau mỗi lần thay đổi chương? – glopes

Các vấn đề liên quan