[pdftex] Tilde character in url.

Andres Lahe alahe at staff.ttu.ee
Sat Apr 10 10:19:55 CEST 2010

Ross Moore wrote:
> Hi Andres, and John,
>
> On 10/04/2010, at 5:29 AM, Andres Lahe wrote:
>
>> John Culleton wrote:
>>>
>>> On Friday 09 April 2010 14:08:02 Reinhard Kotucha wrote:
>>>>
>>>> On 9 April 2010 John Culleton wrote: > In plain pdftex I am typing
>>>> the following url: > \url{http://www.tux.org/~milgram/bookland} >
>>>> {http://www.tux.org/~milgram/bookland} > > The problem is the tilde
>>>> character. TeX persists in treating it > either as an unbreakable
>>>> space or as an accent over the following > character. The tag
>>>> \tilde only works in math mode and again it > wants to be on top of
>>>> the next character. The tilde is an active character.
>>>> \bgroup\catcode\~=12 \url{http://www.tux.org/~milgram/bookland}
>>>> {http://www.tux.org/~milgram/bookland} \egroup You can also try
>>>> \~{}. The empty group prevents TeX from putting it over the
>>>> following character. Regards, Reinhard
>>> First thanks to those who responded. The problem is not just
>>> printing the character but also passing it on to the local web
>>> browser. Your first solution, with the \catcode change enclosed in
>>> \bgroup \egroup etc. is the one that works. The second suggestion
>>> with \~{} prints OK but does not reproduce properly in the url. I
>>> did not try Wouter's suggestions, since yours came first, and works
>>> :<) Now I have to republish the e-book wherever it exists :<(
>> For pdflatex I use  \string~
>> \hyperbaseurl{http://staff.ttu.ee/\string~alahe/konspekt/myCD/}
>> and it works:
>> http://staff.ttu.ee/%7Ealahe/konspekt/myCD/opik_eme_html.pdf
>
> There is a good solution, which has not been mentioned yet.
> It is due to Donald Arseneau, back in 1996,
> using the  \urldef  macro defined in his package  url.sty .
>
>
> \usepackage{url}
> \urldef\konspektURLpdf\url{http://staff.ttu.ee/~alahe/konspekt/myCD/opik_eme_html.pdf}
>
>
>  ... specify further URLs here ....
>
> \usepackage[... options...]{hyperref}
>
> Now in the body of your document you can simply use:
>
>  \konspektURLpdf
>
> to get an active URL, properly typeset.
>
>
> There is no messing around with catcodes or other fake character
> constructions in the body of your (La)TeX source, and even long URLs
> break in appropriate places.
>
> Beware to make all your uses of \urldef come *before*
> and the   \urldef\<cs-name>\url  sequence will no longer
> work as designed within  url.sty .
> However, the attached .tex file shows how even this limitation
> can be easily overcome.
>
>
>
> Any suggestion to use the %7E syntax within (La)TeX documents
> is fraught with danger --- of course using  \%7E .
> Imagine what would happen if the user forgot to escape the % !!
>
> The processing would most certainly fail and the error messages
> would be totally incomprehensible to most users --- even if
> they bothered to look at the .log file or console.
> Traffic to mailing lists would sky-rocket, following adoption
> of such a policy.
>
>
>
>> Andres
>>
>
>
> Hope this helps,
>
>     Ross
>
> ------------------------------------------------------------------------
> Ross Moore                                       ross at maths.mq.edu.au
> Mathematics Department                           office: E7A-419
> Macquarie University                             tel: +61 (0)2 9850 8955
> Sydney, Australia  2109                          fax: +61 (0)2 9850 8114
> ------------------------------------------------------------------------
Open http://staff.ttu.ee/~alahe/konspekt/myCD/opik_eme_html.pdf  at page 88
you can start [ekraanivido]  in internet after 11% downloding begin it play
When it is at memory stick opik_eme.pdf [ekraanivido]  begin play at moment.
http://staff.ttu.ee/~alahe/konspekt/myCD/opik_eme_html.pdf  at page 463
Giving path the programs started work from memory stick.
For pdflatex must given full url address.
It is made \usepackage[pdftex, ... , ,baseurl={./}]{hyperref}
and
\usepackage{url}
\usepackage{html}
%\hyperbaseurl{file:///Z:/}  % worked for MS Windows
\hyperbaseurl{file:///media/E_OPE/}  % worked for linux
%\hyperbaseurl{http://staff.ttu.ee/\string~alahe/konspekt/myCD/}  %
worked for intenet
For me this worked, as you can see in
http://staff.ttu.ee/~alahe/konspekt/myCD/opik_eme_html.pdf

Andres Lahe
alahe at staff.ttu.ee
`