22

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

@misc{安,
    abstract = {ANN 是最近邻搜索的一种实现。},
    作者 = {David M. Mount 和 Sunil Arya},
    如何发布 = {\url{http://www.cs.umd.edu/~mount/ANN/}},
    关键字 = {knn},
    发布时间 = {2010-04-08 00:05:04},
    优先级 = {2},
    标题 = {ANN.},
    url = "http://www.cs.umd.edu/~mount/ANN/",
    年 = {2008}
}

@misc{Nilsson96introductionto,  
    作者 = {尼尔森,尼尔斯 J.},  
    citeulike-article-id = {6995464},  
    howpublished = {\url{http://robotics.stanford.edu/people/nilsson/mlbook.html}},  
    关键字 = {*file-import-10-04-11},  
    发布时间 = {2010-04-11 06:52:28},  
    优先级 = {2},  
    标题 = {机器学习简介:拟议教科书的早期草案。},  
    年 = {1996}  
}  

替代文字


编辑:

我在用

\usepackage{hyperref}

不是

\usepackage{url}

. 与 url 包一起使用时会产生错误。那么两者不能一起工作吗?

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

\usepackage[hyperindex,breaklinks]{hyperref}

但是仍然没有像以前一样的换行符。我该怎么做?


编辑:

url和hyperref一起使用时,如果只是

\usepackage{hyperref}  
\usepackage{url}

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

如果是

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

latex 命令编译会报与 url 冲突:

! LaTex Error: Option clash for package url.

所以我想知道我应该怎么做?

4

10 回答 10

21

您应该按以下顺序使用它们:

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

当您以相反的方式使用它们时,您会收到此错误。

! LaTex Error: Option clash for package url.

因为 hyperref 包在没有那个 hypens 选项的情况下在内部某个地方加载了 url 包,然后你想用这个选项加载它,所以它会发生冲突。

改变顺序可以满足您的要求并且不会给出此错误(因为包已经加载,hyperref 不会使用不同的选项再次加载它)

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

编辑2:

或者正如 PatrickT 在评论中提到的那样:\PassOptionsToPackage{hyphens}{url}如果您使用的类已经加载了包,例如 beamer。

于 2011-07-29T13:47:08.713 回答
12

我刚刚遇到了几乎相同的问题,发现它通过放置解决了

\PassOptionsToPackage{hyphens}{url}

之前

\usepackage[...]{hyperref}
于 2012-04-13T16:32:59.380 回答
11

如果您的意思是间距过宽,那是因为 URL 似乎不允许换行。为什么会发生这种情况是另一个问题,答案取决于您的序言(您使用的软件包等)。原则上,如果使用得当,url 包应该允许换行。

编辑这里 描述了这个问题(及其解决方案)(将您发送到谷歌缓存,因为该站点目前处于离线状态)。底线:要么使用breakurl包,要么使用 PDFLaTeX,要么同时使用两者。

于 2010-04-12T22:41:16.133 回答
6

奇怪的是,我加载了url包(没有选项),/如果需要,在斜杠处进行断字。无论如何,简单的解决方法:

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

手动作业,但它将 URL 拆分为 yes 或 yes。

于 2013-02-01T12:06:52.203 回答
3

通常 URL 是连字符的,但在您的参考书目中,它们似乎不是。当 URL 不适合一行时,它们会被移到下一行,并且它们之前的文本会被拉伸以填充前面的行。由于只有一个地方可以换行,所以前面的文本不太可能很好地适合整行,所以你得到了所有额外的空间。

编辑:当您更改围兜条目时,您碰巧更改了它以使文本非常适合。这只是一个巧合,你没有解决你的问题。

我怀疑把

\usepackage{url}

在你的序言中将解决它。

于 2010-04-12T22:40:56.867 回答
2

对我来说只有这个有效:

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

取自:https ://tex.stackexchange.com/questions/22854/url-line-breaks-with-biblatex

于 2012-12-28T13:35:47.820 回答
1

我添加了这个包:

\usepackage[hyphens]{url}

在我使用的 bibtex 中:

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

它成功了。

于 2015-02-18T10:45:26.723 回答
1

如果url包没有帮助,请尝试:

\usepackage{xurl}
\usepackage{hyperref}

Packagexurl是 的扩展版本url,它允许在 url 中的每个点换行。打电话xurl之前hyperref

资料来源:hyperref breaklinks 选项有什么作用吗?

于 2022-02-25T04:43:27.150 回答
0

这个简单的解决方案对我有用:

\usepackage{hyperref} \usepackage{breakurl}

URL 现在是完美的。

于 2014-12-08T03:32:57.770 回答
-1

在序言中,放在\usepackage{breaker}后面的某个地方\usepackage{hyper ref}。该\burl命令已定义,并且默认情况下,该包还将该\url命令转换为\burl.

于 2012-06-15T03:40:02.860 回答