This problem MIGHT BE SOLVED. I cross my fingers!

I tried to analyze what happens. The following is seen when typesetting 
[campbell:92] with a crosslink to [crypto92]:

> Parameter <campbell:92> on bibgetvard\pbd:campbell:92
> ------ crossref crypto92 --------        CALLED FROM \bib@crossref#1
> Parameter <campbell:92> on bibgetvart\pbd:campbell:92
> ------ authoretallimit --------
> ------ authoretaldisplay --------
> ------ firstnamesep --------
> ------ lastnamesep --------
> ------ firstnamesep --------
> ------  |  | --------        NOTE THIS COMES FROM \bibinsertcrossref#1#2#3 
> >>> all 3 are empty
> ------ left --------
> Parameter <> on bibgetvard\pbd:
> ------ \writestatus {ERROR}{Parameter <> on bibgetvart\pbd:}\pbd: \plussix  
> --------
> Parameter <> on bibgetvart\pbd:
! Missing \endcsname inserted.

I can see that \bibinsertcrossref gets the proper reference because the defined 
variable is: @@pb@crossref=crypto92

Experimenting on \bibinsertcrossref (inside \unprotect-\protect):
Redefine \def\bibinsertcrossref#1#2#3{\cite[crypto92]} CITE WORKS!
But redefine: \def\bibinsertcrossref#1#2#3{\cite[\@@pb@crossref]} CITE GIVES AN 
ERROR
The redefine: 
\def\bibinsertcrossref#1#2#3{\edef\tmp{\@@pb@crossref}\cite[\tmp]} CITE WORKS

Therefore I propose to change the definition of \bibinsertcrossref to:

\def\bibinsertcrossref#1#2#3{\bibdoifelse\@@pb@crossref{\edef\tmp{\@@pb@crossref}#1\cite[\tmp]#2}{#3}}

Hans van der Meer

On 27 sep. 2011, at 15:07, Stefan Müller wrote:

> On 27.09.2011 14:56, Taco Hoekwater wrote:
>> On 09/27/2011 02:51 PM, Meer, H. van der wrote:
>>> My best guess now is the description of the
>>> FUNCTION {format.crossref}
>>> { "" "\crossref" crossref do.out
>>> }
>>> entry on the .bst file. Probably this generates the bad code leading
>>> to a missing \endcsname.
>> 
>> I do not have time to pay close attention right now, but the .bst has
>> not changed in years, as far as I know.
>> 
>> Best wishes,
>> Taco
> 
> Maybe the problem is already present for so long.  It occurs only if "title" 
> of an "inproceedings" that has "crossref" set is accessed.  The bibl-*.tex 
> files don't do that.
> 
> Stefan
> ___________________________________________________________________________________
> If your question is of interest to others as well, please add an entry to the 
> Wiki!
> 
> maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
> webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
> archive  : http://foundry.supelec.fr/projects/contextrev/
> wiki     : http://contextgarden.net
> ___________________________________________________________________________________

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to