[l2h] Tilde problem
jos
jos at w3k.org
Tue Jan 3 20:57:15 CET 2006
Since we're on the topic of the classic tilde problem, I have not yet
found a solution that works also for PDF links. For years, I have
been using "\~{}" within \htmladdnormallink{}{}, and that has worked
fine for print and HTML, but for PDF links it fails since I started
using, according to latex -v, pdfetex 3.14592-1.21a-2.2 (which came
with Fedora Core 4). I believe this version of pdfetex came with the
recent tetex 3.0 package, and that it incorporates hyperref
functionality. I first generate PostScript which is then converted
to PDF by ps2pdf. (I can't generate PDF directly because of my
PostScript figures.) In the PDF link, "\~{}" comes out as "~%7b%7d",
which doesn't work as a link. Leaving out "{}" results in a working
PDF link, but no '~' is printed in the footnote. To make PDF links
work, I must leave out '{}' in the second argument to
\htmladdnormallinkfoot{}{}, but then the footnote is printed without
a '~', whether it is escaped with '\' or not. Apparently, \url{} is
not allowed in the second argument to \htmladdnormallinkfoot{}{}
because it is a "moving argument".
I notice that in the PostScript file, each link is included verbatim
(escapes and all) in a context that knows it is a link (based on the
associated function names /URI and /Link). My guess is that ps2pdf
(really ps2pdfwr, which uses ghostscript for the conversion) needs
attention regarding link translation.
If there is a workaround in the LaTeX source, please let me know what it is!
Below is my test file in case anyone wants to try something out quickly:
%&latex
\documentclass{article}
\usepackage{html}
\begin{document}
\begin{enumerate}
\item This
\htmladdnormallinkfoot{link}{http://ccrma.stanford.edu/~jos/} uses
tilde as if it would simply work. The link works in PDF and HTML, but
it is printed in PDF with a space in place of tilde.
\item This
\htmladdnormallinkfoot{link}{http://ccrma.stanford.edu/\~{}jos/webpub/}
uses the standard \verb!\~{}! construct. The PDF link fails, though it
prints ok. The HTML link works.
\item This
\htmladdnormallinkfoot{link}{http://ccrma.stanford.edu/\~jos/pubs.html}
uses \verb!\~! only. The PDF link works, but it prints with the
tilde omitted (no space). The HTML link fails (tilde omitted).
\end{enumerate}
\end{document}
At 10:24 AM 1/3/2006, Bob van der Poel wrote:
>Robin Fairbairns wrote:
>>>Thanks for the pointer, Les. After smacking the side of head a few
>>>times the light is slowly coming on :)
>>>
>>>Yes, a tilde is a non-breaking space. So, with
>>>
>>>\newcommand{\path}[1]{\texttt{#1}}
>>>
>>>I can do something like \path{\~{}/foo} and it works just fine.
>>>But, if I use the \path{} from the url.sty file which provides
>>>some line breaking feature (?? I really have to go check why I'm
>>>using this I think ??) then "\" and "{}"s are printed verbatim.
>>>So, I guess I have to use the same macro for both latex and latex2html.
>>>
>>>Anyone have a simple solution?
>>url.sty provides "sensible" breaks that are useful in long urls.
>>since it postdates the invention of l2h, there's never been an
>>adequate way of dealing with it in l2h.
>>if you want to have typeset urls in your documents, i would recommend
>>having latex-only and html-only sections, load url in a latex-only
>>section and do "proper" urls in that, and do the old-fashioned
>>non-breakable \texttt-style urls in the html sections.
>>otoh, if you don't need anything more complicated than your ~/foo
>>things, you might as well forget url.sty altogether.
>>r
>
>Thanks for this.
>
>I have just taken the easy way out and am using a macroized texttt{}
>to print my paths in the document. This now works fine in the l2h
>and latex version. Of course, I did have to fix the tildes, but that
>was not a big deal.
>
>Interesting is that I have some tildes in urls, like
>\url{http://mypage.uniserve.com/~bvdp} and the tilde in this case
>prints find in both l2h and latex versions. I'm no tex-expert, but
>looking at url.sty I was assuming that \path{} and \url{} were
>pretty much the same.
>
>Oh, one other interesting difference is that with the url version of
>\path{} I get a larger "~" centered (vertically) on the line; with
>\textt{} I get a smaller, raised "~". Why the difference?
>
>I don't have any really long paths so my hack seems to work fine.
>But, it would be nice if url.sty worked with both versions. Maybe
>when you have absolutely nothing else to do :)
>
>--
>Bob van der Poel ** Wynndel, British Columbia, CANADA **
>EMAIL: bvdp at uniserve.com
>WWW: http://mypage.uniserve.com/~bvdp
>
>
>_______________________________________________
>latex2html mailing list
>latex2html at tug.org
>http://tug.org/mailman/listinfo/latex2html
>
More information about the latex2html
mailing list