在 TeX 文件中使用 natbib 时如何使用 BibTeX 数据库中的 URL?

在 TeX 文件中使用 natbib 时如何使用 BibTeX 数据库中的 URL?

我将首先向您提供代码,然后解释我的问题:

\documentclass[a4paper,10]{article}
\usepackage[utf8]{inputenc}
\usepackage{natbib}
\usepackage{hyperref}

\begin{document}
  I hereby cite \citep{Adams_2013}.

  \bibliography{article_lib}
  \bibliographystyle{agsm}
\end{document}

以下是 BibTex 文件条目:

@MISC{Adams_2013,
author = {W. Adams},
title = {Breaching reservoirs},
month = {June},
year = {2013},
volume = {13},
number = {6},
language = {English},
howpublished = {AfroAIDSinfo Online},
organization = {AfroAIDSinfo},
note = {Retrieved 04 June 2013},
url = {http://www.afroaidsinfo.org/MRCWeb/appmanager/mrc/afroaidsinfo;jsessionid=qS16RJ2DzhkKvPp1h1xW14gmRSysHHTFbfzhn0QSZxv251QPJGxF!404223779?_nfpb=true&_windowLabel=editorials_1_1&editorials_1_1_actionOverride=%2Fpageflows%2Feditorials%2Fbegin&editorials_1_1cm_nodepath=%2FBEA+Repository%2FArticles%2FScience%2FClinical+Science%2FAntiretroviral+therapy%2FBreaching+HIV},
journal = {AfroAIDSinfo},
timestamp = {2013.06.04}
}

当我在终端运行以下命令时:

latex example
bibtex example
latex example
latex example

我收到以下错误消息:

顶级辅助文件:example.aux

读取文件 example.aux 时,我没有找到 \bibstyle 命令

(有一条错误消息)

我该如何解决这个问题?我需要包含网址。一切都运行良好,直到我将网址包含在 BibTeX 数据库中。我将 bibtex 条目设为 @ARTICLE,它运行良好,只是没有网址。然后,我将其更改为带有网址的 @MISC,现在它不起作用了。

按照这里的建议,我加载了 hyperref 包以启用 url 使用。但是,它不起作用。我用双引号将 bibtex 文件中的 url 括起来,但得到了相同的结果。

以下是我遵循的建议: 如何使用 BibTeX 引用网页?

答案1

问题出%2F在 URL 中多次出现的代码。

不幸的是,\harvardurl它没有像应该的那样“保护”url 代码,因此被%视为注释,并且当它到达第一个时,latex 会停止读取该行,所以你有一个失控的论点。

一个可能的修补程序是添加\usepackage{url}\let\harvardurl\url。并指定[breaklinks]为选项hyperref。结果非常糟糕,但实际上,使用那么长的 url 很难获得良好的结果!

答案2

我通常加载 hyperref ( \usepackage[breaklinks,hidelinks]{hyperref}) 并将该\url{...}部分直接添加到我的 bib 编辑程序 (BibDesk) 中。这样你最终会得到:

@MISC{Adams_2013,
author = {W. Adams},
title = {Breaching reservoirs},
month = {June},
year = {2013},
volume = {13},
number = {6},
language = {English},
howpublished = {AfroAIDSinfo Online},
organization = {AfroAIDSinfo},
note = {Retrieved 04 June 2013},
url = {\url{http://www.afroaidsinfo.org/MRCWeb/appmanager/mrc/afroaidsinfo;jsessionid=qS16RJ2DzhkKvPp1h1xW14gmRSysHHTFbfzhn0QSZxv251QPJGxF!404223779?_nfpb=true&_windowLabel=editorials_1_1&editorials_1_1_actionOverride=%2Fpageflows%2Feditorials%2Fbegin&editorials_1_1cm_nodepath=%2FBEA+Repository%2FArticles%2FScience%2FClinical+Science%2FAntiretroviral+therapy%2FBreaching+HIV}},
journal = {AfroAIDSinfo},
timestamp = {2013.06.04}
}

这对你来说是一个选择吗?

相关内容