Problème avec l'adresse d'un site
Bonjour à tous,
Dans un texte en latex je veux donner une référence qui consiste en un pdf qui est en libre téléchargement. Je donne donc l'adresse du site.
Manque de pot, cette adresse comporte un "~" et deux "_", donc ça me génère des erreurs de compilation.
Comment régler le problème ?
Merci d'avance
Martial
Dans un texte en latex je veux donner une référence qui consiste en un pdf qui est en libre téléchargement. Je donne donc l'adresse du site.
Manque de pot, cette adresse comporte un "~" et deux "_", donc ça me génère des erreurs de compilation.
Comment régler le problème ?
Merci d'avance
Martial
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Il y a plusieurs façons de faire. Pour les URLs, je dirais en première approche hyperref ou xurl. hyperref permet d'avoir des liens cliquables dans le PDF, c'est évidemment un plus. Mais il faut savoir qu'il doit être chargé en dernier (sauf exceptions comme cleveref qui doit être chargé après) et quand on le charge, il y a souvent quelques warnings qui apparaissent et nécessitent un peu de travail pour s'en débarasser (en général, c'est dû aux caractères mathématiques ou spéciaux dans les titres, car ces derniers deviennent des “bookmarks” du PDF et il faut que chacun d'entre eux ait une version qui passe avec les limitations inhérentes aux bookmarks du format PDF).
NB : les “bookmarks” sont souvent affichés à gauche dans les lecteurs PDF et contiennent généralement les premiers niveaux de la table des matières, cliquables et en dehors de la zone réservée à la page.
L'autre possibilité est le package xurl (ou le package url plus ancien). Il y en a encore d'autres, mais qui sont « bof ».
Je te propose de mettre 1) en préambule, \usepackage{hyperref} en respectant ce que j'ai dit sur l'ordre de chargement et 2) dans le corps du document : ou bien Ensuite, il faut compiler au moins deux fois (le format du fichier .aux change lorsqu'on utilise hyperref, donc il est normal d'avoir des erreurs la première fois après changement) et regarder la sortie textuelle de LaTeX (erreurs, warnings...). Si les couleurs des liens, de la table des matières, etc. ne te conviennent pas, tu peux utiliser \hypersetup{allcolors=black} ou quelque chose comme après avoir chargé hyperref (on peut aussi les passer en option à hyperref).
Il y a quelques cas où l'utilisation de hyperref peut légèrement modifier la mise en page (environnements de liste...).
Edit : hyperref a aussi un certain nombre de problèmes de compatibilité avec d'autres packages, notamment titlesec. Voir Special support for other packages, Package Compatibility dans le manuel de hyperref.
J'en profite pour demander, brian : connais-tu une façon de faire revenir à la ligne l'url pour éviter ce que l'on voit dans l'image jointe ? J'utilise hyperref.
La documentation de hyperref indique l'option 'breaklinks' : Ah, mais c'est sans doute déjà ce que tu utilises. Je pense qu'il ne veut pas couper ton URL entre deux lettres car on pourrait croire que le tiret fait partie de l'URL. Compliqué... Tu aurais peut-être plus de chances avec xurl, mais je crains que le lien ne soit pas cliquable dans ce cas. Sinon, si tu mets ton URL dans une \footnote, peut-être tient-elle en une seule ligne ? Autrement, si ce n'est pas pour imprimer, utilise \href et le problème est réglé.
Dans un package perso, j'utilise les macros suivantes pour avoir un résultat plaisant tant en sortie papier qu'en sortie écran et pour que tout soit écrit en noir dans la version papier. Il faut décommenter la ligne \toggletrue{SortiePapier} pour activer la sortie papier. Même si les liens sont en noir dans cette dernière, ils sont fonctionnels (ils peuvent donner lieu à une info-bulle et sont cliquables). Ne pas oublier de remettre 'https' avant le ':// ' comme indiqué en commentaire à la fin du document ci-dessous.
N.B. : tout ce qu'il y a entre \ExplSyntaxOn et \ExplSyntaxOff fait partie du package perso — pas besoin d'y toucher. Le reste est un mini-exemple d'utilisation.
À noter que lorsqu'on installe un package manuellement, par exemple dans ~/texmf sous Linux, le jour où la distribution TeX est mise à jour, il faut penser à faire le ménage de ce qui a été installé manuellement, sinon les packages installés à la main vont cacher ceux plus à jour de la distribution.
Peut-être pouvez-vous essayer de faire précéder dans l'url tout signe underscore (_) d'un backslash (\) et remplacer les lettres écrites non en clair (avec des % et des chiffres) par le code leur correspondant (par exemple remplacer %C3%A9 par \'{e} dans mathématiques}.
Cordialement,
Aline