[XeTeX] Counter reset problem

Karljurgen Feuerherm kfeuerherm at wlu.ca
Sat Sep 19 01:17:06 CEST 2009


hi ross
 
thanks so much. i'm still fairly new to this, so the little
'side-effects' aren't well known to me yet...
 
i'll try this out tomorrow. very much appreciated!
 
best
 
k

>>> Ross Moore <ross at ics.mq.edu.au> 18/09/2009 5:44 pm >>>
Hello Karljürgen,

On 19/09/2009, at 4:02 AM, Karljurgen Feuerherm wrote:

> Hello all,
>
> I have set up a counter and environment (using XeLaTeX) as follows:
>
> \newcounter{examples}[chapter]
>
> \newenvironment{examples}
> {\begin{list}%
> {\textsc{Example} \arabic{examples}.} %
> {\setlength{\labelsep}{10pt} %
> \setlength{\itemindent}{10pt} %
> \setlength{\leftmargin}{0pt} %
> \setlength{\labelwidth}{0pt} %
> \usecounter{examples}%
> } %
> } %
> {\end{list}}
>
> The idea is to let the examples counter run through each chapter 
> and only reset at the next chapter. For some reason, it resets 
> itself in environment changes (for example after enumerates, at 
> each new section...).

No, it resets itself for every use of the {examples}
environment.
This is because of how \usecounter expands;
viz.

\usecounter #1->\@nmbrlisttrue \def \@listctr {#1}\setcounter {#1}\z@
#1<-examples


That \setcounter {#1}\z@ is resetting to zero.

You'll need a second counter or macro to retain the
value of your 'examples' counter at the end of each
environment.


e.g.

\newcounter{examples}[chapter]
\newcounter{runningexample}[chapter]

\newenvironment{examples}{%
\begin{list}%
{\textsc{Example}~\arabic{examples}.}%
{\usecounter{examples}%
\setcounter{examples}{\value{runningexample}}%
\setlength{\labelsep}{10pt}%
\setlength{\itemindent}{10pt}%
\setlength{\leftmargin}{0pt}%
\setlength{\labelwidth}{0pt}%
}%
} %
{\end{list}%
\setcounter{runningexample}{\value{examples}}%
}

Note also that I've suppressed the extra spaces after '}'
that your coding was inserting (to no great harm though).


>
> What am I doing wrong?

With the 'runningexample' counter as above,
the following example works fine, so far as I can tell.


\begin{document}
%\maketitle
\chapter{One}

\begin{examples}
\item First example
\item Second example
\item Third example
\end{examples}

\begin{enumerate}
\item something else
\end{enumerate}

\begin{examples}
\item Another First example
\item Another Second example
\item Another Third example
\end{examples}


\chapter{Two}

\begin{examples}
\item First example
\item Second example
\item Third example
\end{examples}

\begin{enumerate}
\item more other things
\end{enumerate}

\begin{examples}
\item Another First example
\item Another Second example
\item Another Third example
\end{examples}


\end{document}

>
> Thanks
>
> K
>
> Karljürgen G. Feuerherm, PhD
> Department of Archaeology and Classical Studies
> Wilfrid Laurier University



Hope this helps,

Ross

------------------------------------------------------------------------
Ross Moore ross at maths.mq.edu.au 
Mathematics Department office: E7A-419
Macquarie University tel: +61 (0)2 9850 8955
Sydney, Australia 2109 fax: +61 (0)2 9850 8114
------------------------------------------------------------------------




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://tug.org/pipermail/xetex/attachments/20090918/4bc81e7b/attachment-0001.html>


More information about the XeTeX mailing list