Comment écrire des adresses web (ou URL)?
Les URL ont tendance à être très longues et contiennent des caractères qui les empêchent d'être découpées facilement. Par conséquent, sans traitement spécial, elles produisent souvent des boîtes horizontales (\hbox
) très longues et leur composition finale est alors laide. Ce qui suit présente des solutions pour arriver à mieux les gérer.
Avec l'extension “path”
L'extension path définit une commande \path
. Cette commande définit chaque caractère de césure potentielle comme un \discretionary
et offre à l'utilisateur la possibilité de spécifier sa propre liste de caractères de césures potentielles. Cette commande est cependant fragile. Les commandes d'Eplain définissent une commande similaire \path
. L'extension path, bien qu'elle fonctionne dans des situations simples, ne collabore pas bien : malgré sa longue et honorable histoire, elle n'est plus vraiment recommandée.
Avec l'extension “url”
L'extension url permet de gérer les coupures des URL un peu longues. Elle est également capable de gérer les adresses e-mail, les liens hypertextes, les noms de répertoires, etc. Elle définit une commande \url
(et bien d'autres, y compris sa propre commande \path
) qui donne à chaque caractère de césure potentielle un comportement assimilable à celui du mode mathématique et qui définit l'URL elle-même en mode mathématique (dans la police choisie par l'utilisateur).
Voici un exemple d'utilisation, illustrant aussi un paramétrage possible avec cette extension :
\documentclass{article} \usepackage{url">url} \urlstyle{sf} \begin{document} \url{http://hostname/~username} Lorsque l'on veut citer une URL dans du texte \url{http://www.domaine.com/un/truc/long.html}, cela se passe relativement bien. \end{document}
Des commandes plus robustes
Les commandes \path
de l'extension path et \url
de l'extension url ne sont pas robustes. Toutefois si vous avez besoin d'une URL devant aller dans un argument mouvant, vous aurez besoin de la commande \urldef
de l'extension url. Ceci donne par exemple pour rendre robuste la commande \faqfr
:
\urldef\faqfr\url{https://faq.gutenberg.eu.org/}
La gestion des espaces
L'extension url ignore généralement les espaces dans les URL mais, malheureusement, certaines d'entre elles contiennent des espaces. Pour les traiter, appelez l'extension avec l'option obeyspaces
. Deux autres options autorisent les sauts de ligne dans l'URL aux endroits où ils sont normalement supprimés pour éviter toute confusion :
spaces
pour autoriser les sauts au niveau des espaces (notez que cela nécessite égalementobeyspaces
) ;hyphens
pour autoriser les sauts après les tirets (car, l'extension ne fait jamais de césure « ordinaire » dans les URL).
Il est possible d'utiliser l'extension url en Plain , avec l'aide de l'extension miniltx (qui a été initialement développé pour utiliser l'extension graphics de dans Plain ). Une petit morceau de code est alors nécessaire :
\input miniltx \expandafter\def\expandafter\+\expandafter{\+} \input url.sty
Avec l'extension “hyperref”
L'extension hyperref utilise le code de url pour composer des liens et permet en plus de les rendre cliquables dans le document PDF.
Avec la commande “\discretionary”
La primitive \discretionary
permet de dire comment couper une chaîne de caractères dans un texte : \discretionary{Avant la coupure}{après}{s'il n'y en a pas}
\-
est défini comme \discretionary{-}{}{}
.
Source: Typesetting URLs