Package options
\newitem
Package Option: obeyspaces
Ordinarily, all spaces are ignored in the url-text. The
“[obeyspaces]” option allows spaces, but may introduce
spurious spaces when a url containing “\cs” characters is given in
the argument to another command.
So if you need to obey spaces you can say
“\csusepackage[obeyspaces]{url}”, and if
you need both spaces and backslashes, use a defined-url.
\newitem
Package Option: hyphens
Ordinarily, breaks are not allowed after “-” characters
because this leads to confusion. (Is the “-” part of the
address or just a hyphen?)
The package option “[hyphens]” allows breaks after explicit
hyphen characters. The \csurl command will never ever
hyphenate words.
\newitem
Package Option: spaces
Likewise, given the “[obeyspaces]” option, breaks are not
usually allowed after the spaces, but if you give the options
“[obeyspaces,spaces]”, \csurl will allow breaks at those
spaces.
Note that it seems logical to allow the sole option
“[spaces]” to let input spaces indicate break points, but
not to display them in the output. This would be easy to implement,
but is left out to avoid(?) confusion.
\newitem
Package Option: lowtilde
Normal treatment of the ~ character is to use the font’s
“\cstextasciitilde” character, if it has one (or claims to).
Otherwise, the character is faked using a mathematical “\cssim”.
The “[lowtilde]” option causes a faked character to be used
always (and a bit lower than usual).
\newitem
Package Option: allowmove
This option suppresses the test for \csurl being used in a so-called
moving argument (check “fragile command”). Using it will enable \csurl
to function in more contexts, but when it does fail, the error message
may be incomprehensible.