无法编译包含 URL 的参考书目

无法编译包含 URL 的参考书目

我正在用 LaTeX 编写我的第一份文档,并使用 natbib 作为参考书目并使用 dcu 作为样式。

这是我写的:

@misc{et,
author = "Engineering Toolbox",
year = "2003",
title = "Young's Modulus - Tensile and Yield Strength for common Materials",
URL = "\url{https://www.engineeringtoolbox.com/young-modulus-d_417.html}",
note = "[online]"
}

这是我尝试编译它时得到的结果。 我已在 .tex 文件中使用该url软件包\usepackage{url},并将 URL 放入\url{}.bib 文件中。无论有没有它都不起作用\url{},我不知道该怎么办。

另外,我之所以添加[online],是note因为我试图复制的实际样式需要它,但我不知道它是否会正确显示,因为我还没有看到文件编译。应该[online]在标题之后。

答案1

一些建议和意见:

  • 由于您使用的是dcu参考书目格式,它是哈佛引用管理包,您应该加载该har2nat包以优化与包的互操作性。如果您也natbib计划使用该包,那么这样做尤其重要。hyperref

  • bib样式dcu可识别名为 的字段url。因此,无需将 URL 字符串包含在\url{..}“包装器”中。

  • 如果你不喜欢的默认行为\harvardurl,只需按照@moewe的建议并发出指令

    \renewcommand{\harvardurl}[1]{\url{#1}} % per @moewe's suggestion
    
  • 由于该作品的作者是一个“公司”实体,请务必将其内容括在额外的一对花括号中。这将防止 BibTeX 将名称解析为具有名字部分“Electrical”和姓氏部分“Toolbox”。

在此处输入图片描述

\RequirePackage{filecontents}
\begin{filecontents}{mybib.bib}
@misc{et,
author = "{Engineering Toolbox}",
year   = "2003",
title  = "Young's Modulus -- {Tensile} and Yield Strength for common Materials",
url    = "https://www.engineeringtoolbox.com/young-modulus-d_417.html",
xnote  = "[online]"
}
\end{filecontents}

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{har2nat} % loads 'natbib' automatically
\setcitestyle{aysep={,}}
\bibliographystyle{dcu}
\renewcommand{\harvardurl}[1]{\url{#1}} % per @moewe's suggestion
\usepackage{xurl}
\usepackage[colorlinks,allcolors=blue]{hyperref} % optional

\begin{document}
\citep{et}
\bibliography{mybib}
\end{document}

相关内容