[NTG-context] itemize start=2

Wolfgang Werners-Lucchini wwl at musensturm.de
Thu Sep 6 20:46:58 CEST 2007


Hallo!

> > > > I have tried snippets like
> > > >
> > > > \setupitemgroup[[itemize][start=2]
> > > > \startitemize[n]
> > > > \item zwei
> > > > \item drei
> > > > \stopitemize
> > > >
> > > > but could'nt found a solution.
> 
> It looks like a misfeature (ie. bug) to me.
> 
> > But two questions remain:
> >
> > 1) I am wondering, how you find such answers. What is your
> strategie
> > searching the sources?
> > 2) What is that existing option 'start' for? Take this as an
> example
> > for question 1).
> 
> As far as I can see, 'start' currently serves no purpose since it
> gets
> overridden in line 447 in
>     \expanded{\setitemparameter{\itemlevel}{\c!start}{1}}%
> in core-itm.tex anyway. Try to comment out that line.
> 
> The next problem lies a few lines below:
> 
>      \doifelsenothing{\getitemparameter\itemlevel\c!start}
>        {\def\currentitemoffset{1}}
>       
> {\def\currentitemoffset{\getitemparameter\itemlevel\c!start}%
>         \letitemparameter\itemlevel\c!start\empty}%
> 
> You need to say \edef instead of \def, otherwise the empty value
> will
> be used for calculating \currentitemoffset.
> 
> How to search? It's difficult to tell, but in this particular
> case,
> you take a look into core-itm.tex (assuming you know where
> itemizations are. If you don't, you can execute "grep \setupitem *"
> in
> tex/context/base/.) Then, you search for \c!start and try to
> figure
> out where it is used. You find \setitemlevel. OK, great. What does
> it
> do there? It's supposed to change \currentitemoffset. If you want
> to check \currentitemoffset, you simply place
>     (my debug: \currentitemoffset)
> at the end of \setitemlevel. Now, you either need to copy that
> definition on the top of your document (which will override the
> global
> one), or remake the formats with "texexec --make en" before
> running
> texexec on your document again. You will get some extra info on top
> of your itemization. It doesn't belong there, but you will remove it
> afterwards. (Did I forget to say that it might be wise to make a
> bacup
> of the original file?) Now when you remade the formats (or placed
> the
> definition on top of your file or to cont-new.tex) and compiled
> the
> document again, take a look at the result.
> 
> Oh, well, you only get (my debug: ). \currentitemoffset seems to
> be empty. 

If I change the above /def to /edef I get (my debug: 1), but as a 
sideeffect the counter is incremented and therefor is starting with 2 
then.

> Then try to put
>      (I wanted to have: \getitemparameter\itemlevel\c!start)
> somewhere at the beginning of \setitemlevel, somewhere inbetween
> (after \expandex{...}) and somewhere at the end. It works at the
> beginning, then it gets reset to 1, and then it gets deleted.
>  And they you try to figure out why.

\letitemparameter\itemlevel\c!start\empty}

commenting this line has too the above sideeffect that counting is 
started with 2.

But I don't understand the whole thing. 

If I understand you right, the c!start is for increasing the 
itemizelevel NOT the numbering. So I wonder why the later is 
affected.

Wolfgang


> Btw: the two modifications mentioned above don't solve the problem
> yet, since you now have a problem with offset +1 (I remember a bug
> report from not so long ago, when itemizations started with 0, so
> that
> might be related). But I would better leave that for Hans.
> Itemizations are so complex that I don't dare to touch anything
> there.
> 
> Mojca



More information about the ntg-context mailing list