web-dev-qa-db-fra.com

saut de ligne dans les URL avec les paquets Bibtex et hyperref

Pourquoi cet élément n'apparaît-il pas correctement dans ma bibliographie?

 @ misc {ann, 
 abstract = {ANN est une implbmentation de la recherche du plus proche voisin.}, 
 auteur = {David M. Mount et Sunil Arya}, 
 howpublished = {\ url {http://www.cs.umd.edu/~mount/ANN}}, 
 keywords = {knn}, 
 posted-at = {2010- 04-08 00:05:04}, 
 Priorité = {2}, 
 Titre = {ANN.}, 
 Url = "http: //www.cs.umd .edu/~ mount/ANN /",
 année = {2008} 
} 
 
 @ misc {Nilsson96introductionto, 
 auteur = {Nilsson , Nils J.}, 
 Citeulike-article-id = {6995464}, 
 Howpublished = {\ url {http://robotics.stanford.edu/people/nilsson/mlbook.html} }, 
 keywords = {* file-import-10-04-11}, 
 posted-at = {2010-04-11 06:52:28}, 
 priorité = {2}, 
 Title = {Introduction à l'apprentissage automatique: version préliminaire d'un manuel proposé.}, 
 Année = {1996} 
} 

alt text http://i42.tinypic.com/wivrxl.jpg


MODIFIER:

J'utilise 

\usepackage{hyperref}

ne pas 

\usepackage{url}

. Cela produit une erreur lorsque vous utilisez le paquet url avec lui. Alors, les deux ne peuvent-ils pas travailler ensemble?

Je voudrais utiliser des hyperliens dans le fichier pdf, donc je veux utiliser le paquet hyperref au lieu du paquet url. Je googlé un peu, et essayer 

\usepackage[hyperindex,breaklinks]{hyperref}

mais il n'y a toujours pas de saut de ligne comme avant. Comment puis-je le faire?


MODIFIER:

Lorsqu’on utilise url et hyperref ensemble, S’il s’agit juste

\usepackage{hyperref}  
\usepackage{url}

la compilation par latex est correcte, mais le lien est toujours un lien hypertexte et n’a toujours pas de saut de ligne. Si je n'utilise pas le paquet hyperref, le lien a un saut de ligne, mais je perds les hyperliens. Etant donné que\url peut être utilisé dans les paquets hyperref et url, comment puis-je spécifier quel paquet est utilisé?

Si c'est 

\usepackage{hyperref}  
\usepackage[hyphens]{url}

la compilation par commande latex signalera un conflit avec l'url:

! LaTex Error: Option clash for package url.

Alors je me demande comment je devrais faire?

17
Tim

Si vous parlez d'un espacement trop large, c'est que les URL ne semblent pas autoriser les sauts de ligne. Pourquoi cela se produit est une autre question, et la réponse dépend de votre préambule (les paquets que vous utilisez, etc.). En principe, s'il est utilisé correctement, le paquet url devrait autoriser les sauts de ligne.

EDIT Ce problème (et sa solution) est décrit ici (vous envoyant dans une mémoire cache Google puisque le site est déconnecté pour le moment). En bout de ligne: utilisez soit le package breakurl package, soit PDFLaTeX, soit les deux.

10
AVB

Vous devriez les utiliser dans cet ordre:

\usepackage[hyphens]{url}
\usepackage{hyperref}  

Vous obtenez cette erreur lorsque vous les utilisez en sens inverse.

! LaTex Error: Option clash for package url.

puisque le paquet hyperref charge le paquet url quelque part en interne sans cette option hypens, vous voulez ensuite le charger avec l'option, de sorte qu'il se heurte.

Changer l'ordre fait ce que vous voulez et ne donne pas cette erreur (puisque le paquet est déjà chargé, hyperref ne le rechargera pas avec des options différentes)

edit: c’était avec pdftex, je n’ai pas testé avec d’autres outils.

15
Jens Timmerman

J'ai rencontré à peu près le même problème et je l'ai trouvé résolu en mettant

\PassOptionsToPackage{hyphens}{url}

avant le

\usepackage[...]{hyperref}
9
5gon12eder

Bizarre, je charge le package url (sans option) et la césure est effectuée au niveau des barres obliques / si nécessaire. Quoi qu'il en soit, solution de contournement simple:

howpublished = {\url{http://www.cs.umd.edu/}\url{~mount/ANN/}},

Travail manuel, mais divise l'URL par oui ou par oui.

5
Campa

Normalement, les URL sont coupées par un trait d'union, mais dans votre bibliographie, elles semblent ne pas l'être. Lorsque les URL ne tiennent pas sur une ligne, elles sont déplacées vers la ligne suivante et le texte qui les précède est étiré pour remplir les lignes précédentes. Comme il n’existe qu’un seul endroit pour rompre la ligne, il est peu probable que le texte précédent s’intègre parfaitement dans un nombre entier de lignes. Vous disposez donc de tout l’espace supplémentaire dont vous avez besoin.

EDIT: Lorsque vous avez modifié votre entrée de dossard, il vous est arrivé de la modifier de telle sorte que le texte s’intègre parfaitement. Ceci est juste une coïncidence, vous n'avez pas résolu votre problème. 

Je soupçonne que mettre

\usepackage{url}

dans votre préambule va le résoudre.

3
ptomato

J'ajoute ce paquet:

\usepackage[hyphens]{url}

et dans le bibtex j'ai utilisé:

howpublished = {**\url{**http://www.......**}**}

et ça marche.

1
thngoc

pour moi seulement cela a fonctionné:

\usepackage[hyphens]{url}
\usepackage{hyperref}
...
\usepackage{biblatex}
\setcounter{biburlnumpenalty}{100}
\setcounter{biburlucpenalty}{100}
\setcounter{biburllcpenalty}{100}

Extrait de: https://tex.stackexchange.com/questions/22854/url-line-breaks-with-biblatex

1
aatdark

Au préambule, il suffit de mettre \usepackage{breaker} quelque part après \usepackage{hyper ref}. La commande \burl est définie et, par défaut, le package transforme également la commande \url en synonyme de \burl.

0
Debajyoti Mondal

Cette solution simple a fonctionné pour moi:

\ usepackage {hyperref} \usepackage {breakurl}

Les URL sont maintenant parfaites.

0
user4335851