带有Bibtex和hyperref包的url中的换行符

Tim*_*Tim 17 latex bibtex

为什么这个项目在我的参考书目中没有正确显示?

@misc{ann,
    abstract = {ANN is an implbmentation of nearest neighbor search.},
    author = {David M. Mount and Sunil Arya},
    howpublished = {\url{http://www.cs.umd.edu/~mount/ANN/}},
    keywords = {knn},
    posted-at = {2010-04-08 00:05:04},
    priority = {2},
    title = {ANN.},
    url = "http://www.cs.umd.edu/~mount/ANN/",
    year = {2008}
}

@misc{Nilsson96introductionto,  
    author = {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},  
    priority = {2},  
    title = {Introduction to Machine Learning: An Early Draft of a Proposed Textbook.},  
    year = {1996}  
}  

替代文字http://i42.tinypic.com/wivrxl.jpg


编辑:

我在用

\usepackage{hyperref}
Run Code Online (Sandbox Code Playgroud)

\usepackage{url}
Run Code Online (Sandbox Code Playgroud)

.与url包一起使用时会产生错误.这两个人不能一起工作吗?

我想在pdf文件中使用超链接,所以我想使用hyperref包而不是url包.我google了一下,然后试试

\usepackage[hyperindex,breaklinks]{hyperref}
Run Code Online (Sandbox Code Playgroud)

但是仍然没有像以前一样的断线.我该怎么做?


编辑:

当使用url和hyperref时,如果只是

\usepackage{hyperref}  
\usepackage{url}
Run Code Online (Sandbox Code Playgroud)

乳胶编译很好,但链接仍然是超链接,仍然没有换行.如果我不使用hyperref包,链接有linebreak,但我失去了超链接.由于\ url可以在hyperref和url包中使用,我如何指定正在使用哪个包的\ url?

如果是

\usepackage{hyperref}  
\usepackage[hyphens]{url}
Run Code Online (Sandbox Code Playgroud)

latex命令编译将报告与url的冲突:

! LaTex Error: Option clash for package url.

所以我想知道该怎么做?

Jen*_*man 17

您应该按此顺序使用它们:

\usepackage[hyphens]{url}
\usepackage{hyperref}  
Run Code Online (Sandbox Code Playgroud)

当您以相反的方式使用它们时会出现此错误.

! LaTex Error: Option clash for package url.
Run Code Online (Sandbox Code Playgroud)

因为hyperref包在内部的某个地方加载url包而没有那个超级选项,然后你想用选项加载它,所以它会发生冲突.

转动顺序可以实现您想要的并且不会出现此错误(因为包已经加载,hyperref将不会再次使用不同的选项加载它)

编辑:这是pdftex,我没有用其他工具测试.


小智 11

我只是遇到了几乎相同的问题,发现它通过推杆解决了

\PassOptionsToPackage{hyphens}{url}
Run Code Online (Sandbox Code Playgroud)

之前

\usepackage[...]{hyperref}
Run Code Online (Sandbox Code Playgroud)


AVB*_*AVB 10

如果你的意思是太宽,那是因为URL似乎不允许换行符.为什么会发生这是另一个问题,答案取决于你的序言(你使用的包等).原则上,如果使用得当,网址包应允许换行.

编辑 此问题(及其解决方案)在此处描述(由于此时站点处于脱机状态,因此将您发送到Google缓存).底线:使用breakurl包或PDFLaTeX,或两者兼而有之.


Cam*_*mpa 6

很奇怪,我加载url包(没有选项),/如果需要,在斜杠处完成连字.无论如何,简单的解决方法:

howpublished = {\url{http://www.cs.umd.edu/}\url{~mount/ANN/}},
Run Code Online (Sandbox Code Playgroud)

手动作业,但它会将URL拆分为是或是.