2009-12-14 7 views
5

Étant donné que j'ont défini un nouvel environnement pour lequel un compteur est maintenu:Comment définir dans LaTeX un nouveau compteur incluant aussi le numéro de chapitre?

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

Maintenant, je peux ajouter une étiquette à un tel environnement:

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

Ceci produit un texte avec la légende et un nombre. Parce qu'il utilise \ thechapter, ce numéro inclura aussi le numéro de chapitre; c'est-à-dire que le premier environnement du chapitre 3 sera numéroté en 3-1. Dans la sortie, c'est. Cependant, quand je me réfère à lui avec \ ref {chapCompRepr: ex: fromSMILESWizard}, ce numéro n'inclut pas le numéro de chapitre ... Comment devrais-je changer ma définition d'environnement, ou la définition du compteur qu'il inclut le numéro de chapitre , et réinitialise le deuxième nombre pour chaque chapitre?

Répondre

8

Insérer:

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

et obtenir

\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

qui fonctionne! Rétrospectivement, redéfinir la commande \ thebioclipse est tout à fait logique! –

+0

Comment cette solution permet-elle de réinitialiser le compteur après chaque changement de chapitre? – glopes

Questions connexes