defineitemgroup interferes with item reference
I cannot figure out the error in the following nested itemization with a reference. Is it a bug or am I overlooking something? Here is the smallest example I could make. Strangely, if I change the startproblemlist to startitemize and stopproblemlist to stopitemize, all is well. \defineitemgroup[problemlist] \starttext \startproblemlist \item Drag \startitemize \item[ref] blah \stopitemize \stopproblemlist \stoptext I'm using context 2008.01.28 21:28 (mkii), Debian GNU/Linux 'unstable' for i386, and the 2008.04.27 version on the Garden gives the same error. The error is ! Undefined control sequence. <write> ...realfolio }{\relax \@@opitemizesymbol1 \relax .?} <inserted text> }\endwrite \actualshipout ... \box \postponedcontent \box 0}} \else \message {[\ifarrang... \myshipout ... \fi {\thisisrealpage \realfolio #1} \gotonextrealpage \aftersh... \dofinaloutput ...agebody #1#2\setpagecounters }}} \fi \the \everyaftershipou... \finaloutput ...EAEAEA \dofinaloutput \fi \fi #1#2 \resetselectiepagina \incr... ... l.14 \stoptext -Sanjoy `Until lions have their historians, tales of the hunt shall always glorify the hunters.' --African Proverb
Sanjoy Mahajan wrote:
I cannot figure out the error in the following nested itemization with a reference. Is it a bug or am I overlooking something? Here is the smallest example I could make. Strangely, if I change the startproblemlist to startitemize and stopproblemlist to stopitemize, all is well.
\defineitemgroup[problemlist] \starttext \startproblemlist \item Drag \startitemize \item[ref] blah \stopitemize \stopproblemlist \stoptext
I'm using context 2008.01.28 21:28 (mkii), Debian GNU/Linux 'unstable' for i386, and the 2008.04.27 version on the Garden gives the same error. The error is
! Undefined control sequence. <write> ...realfolio }{\relax \@@opitemizesymbol1 \relax .?} <inserted text> }\endwrite \actualshipout ... \box \postponedcontent \box 0}} \else \message {[\ifarrang...
\myshipout ... \fi {\thisisrealpage \realfolio #1} \gotonextrealpage \aftersh...
\dofinaloutput ...agebody #1#2\setpagecounters }}} \fi \the \everyaftershipou...
\finaloutput ...EAEAEA \dofinaloutput \fi \fi #1#2 \resetselectiepagina \incr... .... l.14 \stoptext
itemgroups cannot be miced; this catches it \def\dostartitemgroup[#1][#2][#3]% {\bgroup \ifnum\currentitemlevel=\zerocount \def\currentitemgroup{#1}% no nested mixing of itemgroups \fi \ifthirdargument \dodostartitemgroup[#2][#3]% \else \doifassignmentelse{#2} {\dodostartitemgroup[][#2]} {\dodostartitemgroup[#2][]}% ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Hans Hagen
itemgroups cannot be miced
Though there's no problem without those references in [brackets], so the mixing works most of the time anyway.
this catches it
Thanks! With two small changes, your definition makes the mixing work even when using references. The two changes: (1) the macro needed a closing brace, and (2) there's no \currentitemlevel in any context source file so I guessed that \itemlevel was the intention. So: \def\dostartitemgroup[#1][#2][#3]% {\bgroup \ifnum\itemlevel=\zerocount \def\currentitemgroup{#1}% no nested mixing of itemgroups \fi \ifthirdargument \dodostartitemgroup[#2][#3]% \else \doifassignmentelse{#2} {\dodostartitemgroup[][#2]} {\dodostartitemgroup[#2][]}% } Is this macro worth putting into the official distribution or is it a special hack to keep with my documents that need it? -Sanjoy `Until lions have their historians, tales of the hunt shall always glorify the hunters.' --African Proverb
Hi Sanjoy, On Sat, 3 May 2008, Sanjoy Mahajan wrote:
closing brace, and (2) there's no \currentitemlevel in any context source file so I guessed that \itemlevel was the intention. So:
Are you using an old version of ConTeXt? http://source.contextgarden.net/?search=currentitemlevel Aditya
Aditya Mahajan
Are you using an old version of ConTeXt?
Version 2008.01.28 from Norbert's latest packages for Debian unstable. I can upgrade to 2008.04.27 by hand, but my TeX life has become so sipmle since using Norbert's packages that I may let laziness triumph.
Thanks for the useful link. In case it is useful for others: To search my local installation, I do: find /usr/share/texmf/tex/context -name '*.tex' \ | xargs grep -n '\\currentitemlevel' -Sanjoy `Until lions have their historians, tales of the hunt shall always glorify the hunters.' --African Proverb
participants (3)
-
Aditya Mahajan
-
Hans Hagen
-
Sanjoy Mahajan