[texhax] index entries in latex/makeindex, post 2
Uwe Lück
uwe.lueck at web.de
Tue Dec 16 18:10:42 CET 2008
Rename \nameref! [Completed below]
At 17:14 16.12.08, Zbigniew Nitecki wrote:
>The following macros are among those I have to generate index entries:
>***********************************************************************************
>\newcommand{\namerefindex}[4]{\index{#2, #1 (#3-#4)}}%prints name, date in
>index not text
>\newcommand{\namerefsilent}[4]{#1\ #2\ (#3-#4)}%prints name, date in text
>not index
>\newcommand{\nameref}[4]{#1\ #2\
>(#3-#4)\namerefindex{#1}{#2}{#3}{#4}}%prints name, date in text
[...]
>Included in the same macro file are the following:
>***********************************************************
>\newcommand{\Descartesref}{\nameref{Ren\'e}{Descartes}{1596}{1650}}
>\newcommand{\Fermatref}{\nameref{Pierre de}{Fermat}{1601}{1665}}
>************************************************************************
[...]
>When I run the full book text as described above, I get an error messages
>referring to the
>paragraph quoted above:
>********************************************************************************
>LaTeX Warning: Reference `Pierre de' on page 2 undefined on input line 52.
>
>! Missing \endcsname inserted.
><to be read again>
> \unhbox
>l.52 ...h cenury by \Fermatref{} and \Descartesref
Look into your .log file. I'm quite sure that you see that nameref.sty
(coming with hyperref.sty) is loaded \AtBeginDocument, which (re)defines
to produce a \ref. The error you get says that the corresponding \label
is missing.
HTH -- Uwe.
More information about the texhax
mailing list