[texhax] HTML specials with '_' character

Reinhard Kotucha reinhard.kotucha at web.de
Sun Feb 17 15:20:27 CET 2008

Michael M. Tung writes:
 > Hi!
 > I have problems with my following macro in plain TeX
 > \def\mailto#1{
 >   \special{html:<a href="mailto:#1">}%
 >           {\tt #1}
 >   \special{html:</a>}
 > 	 }
 > which creates a hyperlink for mailing in the final PDF
 > file. For standard emails with letters and '@' it works
 > fine. However such things as
 >   \mailto{test_user at yahoo.com}
 > creates an error requiring math mode for '_'.  Defining


  \special{html:<a href="mailto:#1">}%
          {\tt #1}

$$ a_1 $$

\mailto{test_user at yahoo.com}

$$ a_2 $$

\mailto changes the catcode and calls \@mailto, which takes the
argument. \@mailto also has to restore the catcode.

The catcode of _ has be be set to 12 while the macro is read and has
to be restored later.  This is not necessary if you replace `\_ by the
ASCII character number, for instance \catcode95=12.


Reinhard Kotucha			              Phone: +49-511-4592165
Marschnerstr. 25
D-30167 Hannover	                      mailto:reinhard.kotucha at web.de
Microsoft isn't the answer. Microsoft is the question, and the answer is NO.

More information about the texhax mailing list