6 May 2011 karlberry   » (Master)

I sent these ideas for url.sty to Don Arseneau a few days ago. While awaiting his reply, though I'd post here too.

1. It seems like & should be a special character, since it's one of the url separators. If you think it's too late to add it by default, we could at least have an option like [amp] to turn it on. What I did for now was just:


\let\saveurlbreaks=\UrlBreaks
\def\UrlBreaks{\do\&\saveurlbreaks}

2. I often find myself needing to explicitly force a line break instead a url. I've used ! for this. Another option, like [bangnewline] or something? I can't think of a good way to make the special character configurable, or to do it on a per-url basis, either of which would probably be better. What I did for now:


\mathcode`\!="8000
\let\saveurlspecials=\UrlSpecials
\def\UrlSpecials{\do\!{\newline}\saveurlspecials}

3. Sometimes I find myself wanting to allow stretchy glue around / characters (only) to help with justification, etc. In practice it's proven too much to allow glue around any of the other usual characters. Unfortunately this now allows a line break between the slashes of http://, but again, nothing obvious came to mind for dealing with that :(.


\mathcode`\/="8000 % space around /'s.
\def\Urlspaceyslash{%
  \mskip\Urlslashmuskip
  \mathbin{\hbox{/}}% need text / to avoid recursion
  \mskip\Urlslashmuskip}
\let\saveurlspecials=\UrlSpecials
\def\UrlSpecials{\do\/{\Urlspaceyslash}\saveurlspecials}

4. Finally, the documentation is evidently stale. It refers to \Url@do, which I do not see defined. If you like I can work up some updates. (Now that we have url.tex, do we need to keep up the documentation in url.sty? I'd be inclined to remove it instead of maintaining it twice, personally ...)

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!