Either the processkv or keyval package does not seem to allow the 0 key. When I do 0=val I get errors when trying to process the key but when I do 1=val everything works.
Any ideas? In parcolumns it processes the keyvalues using:
\expandafter\processkeyvalues\expandafter{\the\toks@}\pc@setsinglecolwidth%
and the key is simply defined as
\define@key{parcolumns}{colwidths}{\toks@{#1}}
Which calls calls the following macro to act on the key-value pairs:
\def\pc@setsinglecolwidth#1#2{%
\@ifundefined{pc@column@width@\number#1}{%
\PackageError{parcolumns}{`#1' is not a valid column width number!}{\@ehc}%
}{%
\csname pc@column@width@\number#1\endcsname=#2\relax%
}%
}
The error message is from the package error. It is not creating the \pc@column@width@0 value for some reason but all other positive values work(well, up to the number of columns).
The way I understand the code is processkv simply processes each key-value pair and calls the macro, in this case \pc@setsinglecolwidth, on each key-value pair. Hence I see no reason why '0' doesn't work. Since I couldn't find anything in parcolumns that is treating 0 as special I see no reason why the error would be in parcolumns (hence the only other place would be processkv and keyval?
Works:
\begin{parcolumns}[nofirstindent,distance=0pt,colwidths={1=30pt}]{6}%
Doesn't Work:
\begin{parcolumns}[nofirstindent,distance=0pt,colwidths={0=30pt}]{6}%
0is that either the definition or use accidentally usedOinstead. – David Carlisle May 12 '12 at 8:530key. You should have generated that MWE. Often when constructing a MWE to ask a question you discover the problem goes away, which means that the problem is not where you thought it is, so that allows you to generate a different MWE that does show the problem, and ask a more useful question. – David Carlisle May 12 '12 at 9:04