Oeps, should be: \def\dodouseURL[#1][#2][#3][#4]% {\iffirstargument \iffourthargument \setgvalue{\v!file:::#1}{\doexternaldocument[#2][#3][#4]}% \else\ifthirdargument \setgvalue{\v!file:::#1}{\doexternalurl[#2][#3][#1]}% \else\ifsecondargument \setgvalue{\v!file:::#1}{\doexternalurl[#2][][#1]}% \fi\fi\fi \fi} \def\doexternalurl[#1][#2][#3]% {\bgroup \doifsomething\@@urstyle{\let\@@iastyle\@@urstyle\let\@@urstyle\empty}% \doifsomething\@@urcolor{\let\@@iacolor\@@urcolor\let\@@urcolor\empty}% \doexternaldocument[#1][#2][{\url[#3]}]% \egroup} (i have a slightly different one here) Hans ----------------------------------------------------------------- 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 -----------------------------------------------------------------