%% This is part of OpTeX project, see http://petr.olsak.net/optex \_codedecl \urllink {references <2020-02-22>} %> \dest \_def\_destheight{1.4em} \_def\_destactive[#1:#2]{\_if$#2$\_else\_ifvmode \_tmpdim=\_prevdepth \_prevdepth=-1000pt \_destbox[#1:#2]\_prevdepth=\_tmpdim \_else \_destbox[#1:#2]% \_fi\_fi } \_def\_destbox[#1]{\_vbox to0pt{\_kern-\_destheight \_pdfdest name{#1} xyz\_vss}} \_def\_dest[#1]{} \_public \dest ; %> \_link, \ilink \_protected\_def\_linkactive[#1:#2]#3#4{\_leavevmode\_pdfstartlink height.9em depth.3em \_pdfborder{#1} goto name{#1:#2}\_relax {#3#4}\_pdfendlink } \_protected\_def\_link[#1]#2#3{\_leavevmode{#3}} \_protected\_def\_ilink[#1]#2{\_leavevmode{#2}} \_public \ilink ; %> \ulink \_protected\_def\_urlactive[#1:#2]#3#4{\_leavevmode{\_escapechar=-1 \_pdfstartlink height.9em depth.3em \_pdfborder{#1}% user{/Subtype/Link/A <>}\relax {#3#4}\pdfendlink}% } \_def\_ulink[#1]#2{\_leavevmode{#2}} \_def\_urlcolor{} \_public \ulink ; %> \_pdfborder \_def\_pdfborder#1{\_if^#1^\_else \_isdefined{#1border}\_iftrue \_if^\_csname#1border\_endcsname^\_else attr{/C[\_csname#1border\_endcsname] /Border[0 0 .6]}\_fi \_else attr{/Border[0 0 0]}\_fi\_fi } %> \hyperlinks \_def\_hyperlinks#1#2{% \_let\_dest=\_destactive \_let\_link=\_linkactive \_def\_ilink[##1]##2{\_link[##1]{\_localcolor#1}{##2}}% \_def\_ulink[##1]##2{\_urlactive[url:##1]{\_localcolor#2}{##2}}% \_public \dest \ilink \ulink ;% } \_public \hyperlinks ; %> \url \_def\_url#1{{% \_def\_tmpa{#1}\_replstring\_tmpa {\|}{}% \_def\_tmpb{#1}\_replstring\_tmpb {\|}{\\|}% {\_escapechar=-1 \_ea}\_ea\_edef\_ea\_tmpb\_ea{\detokenize\_ea{\_tmpb}}% \_let\_tmpa=\_tmpb \_replstring\_tmpb {//} {{\_urlskip\_urlslashslash\_urlbskip}}% \_replstring\_tmpb {/} {{\_urlskip/\_urlbskip}}% \_replstring\_tmpb {.} {{\_urlskip.\_urlbskip}}% \_replstring\_tmpb {?} {{\_urlskip?\_urlbskip}}% \_replstring\_tmpb {=} {{\urlskip=\urlbskip}}% \_ea\_replstring\_ea\_tmpb \_ea{\_string &} {{\urlbskip\char`\& \urlskip}}% \_ea\_replstring\_ea\_tmpb \_ea{\_bslash|} {{\_penalty0}}% \_ea\_ulink \_ea[\_tmpa] {\_urlfont\_tmpb\_null}% }} \_def\_urlfont{\_tt} \_def\_urlskip{\_null\_nobreak\_hskip0pt plus0.05em\_relax} \_def\_urlbskip{\_penalty100 \_hskip0pt plus0.05em\_relax} \_def\_urlslashslash{/\_urlskip/} \_public \url ; \_endcode % ------------------------------------- \%> \dest `\dest[: