[tex-eplain] \definexref problem

geolsoft at mail.ru geolsoft at mail.ru
Wed Nov 2 18:52:49 CET 2005


On Wed, Nov 02, 2005 at 01:11:01PM +0000, Adam Fenn wrote:
> This worked

This is strange, I can't get your code to compile with
Eplain 2.8.4, I get the following error during the second
run:

    ! Use of firstbookfull doesn't match its definition.
    firstbookfull ...t escapechar = -1 firstbookfull }
                                                      '
    bookref ...mpty csname xrlabel {#1:long}endcsname 
                                                      else csname xrlabel {#1:sh...
    l.35 \bookref{article}
                            % a long reference to article in first book
    ? 

and this is right, because \xrefn expands to many
primitives, not just the text of the reference, and a mess
of all those primitives goes to the .aux file.

However, there is a difference between Eplain 3.0 and 2.8.4.
New in Eplain 3.0, \xrefn takes an optional argument, and
therefore its expansion is now even more complex.  In case
you need the previous `plain' functionality, there is a
macro \plain at xrefn which is equivalent to the 2.8.4's
\xrefn.

Anyway, as for your problem, I believe what you need is

    \book
    {article in \string\xrefn{firstbookfull}}
    {article (short ref)}
    {article}

(I've added \string in front of \xrefn to suppress expansion).

Hope this helps.

-- 
Best regards,
Oleg Katsitadze



More information about the tex-eplain mailing list