Problem with \_ in hyperref. Was Re: [OS X TeX] Verbatim mode question...

Ross Moore ross at ics.mq.edu.au
Wed Jun 19 00:53:03 CEST 2002



> 
> If I try to use \_ in an \href (from the hyperref package) as in:
> 
> 	\newcommand{\ljuser}[2]
> 	{\href{http://www.livejournal.com/userinfo.bml?user=#1}{{\sf #1} (#2)}}
> 
> The problem is that if I use it as in:
> 
> 	\ljuser{foo_bar}{blah}
> 
> the \sf does NOT like the unescaped underscore.
> 
> Is there a way for me to deal with this without a kludge like having 
> to give it 3 arguments, with 2 of them being the same except for how 

Not really; for there are quite distinct interpretations for _

 1.  as  character 95 (underscore) in latin1, for URLs
 2.  underscores in text (via \_ ) are not characters at all:
      \def\_{\leavevmode \kern.06em \vbox{\hrule width.3em}}
     (from  plain.tex )
     This draws the underline as a TeX rule.

In TeX's usual OT1-encoded fonts, character 95 is an accent.


> underscores are given, as in:
> 
> 	\ljuser{foo_bar}{foo\_bar}{blah}

You can make this simpler to use by having the 1st argument optional:

\newcommand{\ljuser}[3][]{\bgroup
  \def\tmp{#1}\def\empty{}%
  \ifx\tmp\empty
        \href{http://www.livejournal.com/userinfo.bml?user=#2}{{\sf #2} (#3)}%
  \else
        \href{http://www.livejournal.com/userinfo.bml?user=#1}{{\sf #2} (#3)}%
  \fi
 \egroup}


Now both of these work as expected:

\ljuser[foo_bar]{foo\_bar}{blah}
\ljuser{index.html}{directory page}


Note the [..]  that can be used only when needed, to get around
problems with special characters due to different font encodings
or macro expansions between the URL portion and the visible text.



Hope this helps,

	Ross

> 
> Josh
> -- 
> ----------------------------------------------------------------------------
> Josh Hodas / Associate Professor        Office Phone: (909) 621-8650
> Director, Computer Science Clinic       Clinic Sec'y: (909) 607-8379
> Computer Science / Harvey Mudd College  Home Phone:   (909) 625-1179
> 1250 North Dartmouth Avenue             E-Mail:       hodas at cs.hmc.edu
> Claremont, CA 91711                     WWW :  http://www.cs.hmc.edu/~hodas/
> 
> -----------------------------------------------------------------
> Threaded list archives can be found at:
> <http://www.masda.vxu.se/~pku/MacOSX_TeX/>
> -----------------------------------------------------------------
> To UNSUBSCRIBE, send email to <info at email.esm.psu.edu> with
> "unsubscribe macosx-tex" (no quotes) in the body.
> For additional HELP, send email to <info at email.esm.psu.edu> with
> "help" (no quotes) in the body.
> -----------------------------------------------------------------


-----------------------------------------------------------------
Threaded list archives can be found at:
<http://www.masda.vxu.se/~pku/MacOSX_TeX/>
-----------------------------------------------------------------
To UNSUBSCRIBE, send email to <info at email.esm.psu.edu> with
"unsubscribe macosx-tex" (no quotes) in the body.
For additional HELP, send email to <info at email.esm.psu.edu> with
"help" (no quotes) in the body.
-----------------------------------------------------------------




More information about the macostex-archives mailing list