2009-12-14 17 views
5

Dato che hanno definito un nuovo ambiente per il quale viene mantenuto un contatore:Come definire in LaTeX un nuovo contatore che include anche il numero del capitolo?

\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} 
} 

Ora, posso aggiungere un'etichetta a un tale ambiente:

\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} 

Questo genera un testo con didascalia e numero. Perché usa \ thechapter, questo numero includerà anche il numero del capitolo; cioè, il primo ambiente nel Capitolo 3, sarà numerato in 3-1. Nell'output, cioè.

Tuttavia, quando mi riferisco ad esso con \ ref {chapCompRepr: ex: fromSMILESWizard}, questo numero non include il numero del capitolo ... Come dovrei cambiare la mia definizione di ambiente, o la definizione del contatore che include il numero del capitolo e ripristina il secondo numero per ogni capitolo?

risposta

8

Inserire:

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

e ottenere

\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

che funziona! In retrospettiva, la ridefinizione del comando \ thebioclipse ha perfettamente senso! –

+0

In che modo questa soluzione garantisce che il contatore venga ripristinato dopo ogni cambio di capitolo? – glopes

Problemi correlati