我正在使用 Overleaf 用 LaTeX 为开放大学写一份报告。 OU 坚持在线参考的具体布局如下:
姓氏,首字母。 (年份)网页标题。可在:URL(访问:日期)。
URL 的完整块换行,并且第二行和后续换行上没有缩进,例如:
迄今为止我做得最好的是
姓氏,首字母。 (年份)网页标题。URL:URL(访问:日期)。
打印“URL:”而不是“可用于:”时,URL 本身采用等宽字体,第二行及后续行缩进。例如
这是生成该输出的可编译测试文档代码。
\documentclass{article}
\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage[style=authoryear, natbib]{biblatex} % 'backend=biber' is the default
\addbibresource{TestReferences.bib}
\usepackage{xurl}
\DefineBibliographyStrings{english}{urlseen = {Accessed:}}
\ExecuteBibliographyOptions{alldates=long}
\begin{document}
\subsection{Citation}
\citep{Hampton}
\printbibliography[heading=bibintoc,title={References}]
\end{document}
这是上面汉普顿参考示例的 TestReferences.bib 条目:
@Online{Hampton,
author = {{Hampton, D.L et al.}},
year = "2006",
title = {{‘An overview of the instrument suite for the deep impact mission'}},
url = {https://www.researchgate.net/publication/226736423_An_Overview_of_the_Instrument_Suite_for_the_Deep_Impact_Mission.},
urldate = {2024-04-23},
}
所以我的问题是:如何进一步配置参考书目以删除缩进,将“URL:”提示更改为“可用于:”,并获取用于以与其余部分相同的字体样式打印 URL 的字体目标示例中的参考。
请注意:x-post tex.stackexchange.com/q/718641/36296
[也发布在 TeX SE 上,因为我不确定回答交叉发布问题的协议。]
请注意,您当前几乎可以肯定使用美国排版约定,包括美国英语连字符模式。我怀疑这就是 OU 想要的,所以我更改了代码以使用英国英语。如果由于某种原因 OU 想要使用美国语言 --- 或者如果您来自美国并且 OU 允许使用美式英语 --- 将
british
更改为 american
(或返回到 english
)。
这三个变化中有两个很简单。第三个并不是 Biblatex 中的错误所致。
要删除压痕,请将相关长度设置为
0pt
。如果您知道要在文档中搜索哪些术语,那么就更容易弄清楚;)。
\setlength \bibhang {0pt}
url
包用于格式化 URL。这是由xurl
加载的。可以通过重新定义 \UrlFont
来更改字体,但我们并不真正想要这样。我们不想指定它,所以将其定义为空。
\def\UrlFont{}
请注意,文档建议使用
\def
而不是 \renewcommand
,这就是我在这里使用它的原因。
不太直接的更改是 URL 的标签。理论上,Biblatex 为 URL 之前的标签排版提供了两个字符串:
url
和 urlfrom
。
\DefineBibliographyStrings{british}{urlseen = {Accessed:},urlfrom = {Available at}}
但是,这没有任何效果。定义
url
也没有。将文档语言更改为荷兰语以尝试让 Biblatex 使用其自己的语言定义文件中的值也不起作用。
文档确认该字符串应该根据十多年前的更改进行本地化。因此,这可能是一种倒退,或者可能从未正确实施更改。无论如何,我认为你必须使用暴力来解决这个问题,并在这里覆盖 Biblatex。
\DeclareFieldFormat{url}{\bibstring{urlfrom}\addcolon\space\url{#1}}
完整代码:
\begin{filecontents*}[overwrite]{\jobname.bib}
@Online{Hampton,
author = {{Hampton, D.L et al.}},
year = "2006",
title = {{‘An overview of the instrument suite for the deep impact mission'}},
url = {https://www.researchgate.net/publication/226736423_An_Overview_of_the_Instrument_Suite_for_the_Deep_Impact_Mission.},
urldate = {2024-04-23},
}
\end{filecontents*}
\documentclass[british]{article}% seriously doubt the OU wants US hyphenation etc.
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear,natbib]{biblatex} % 'backend=biber' is the default
\addbibresource{\jobname.bib}
\usepackage{xurl}
\DefineBibliographyStrings{british}{urlseen = {Accessed:},urlfrom = {Available at}}
\ExecuteBibliographyOptions{alldates=long}
\setlength \bibhang {0pt}
\def\UrlFont{}
\DeclareFieldFormat{url}{\bibstring{urlfrom}\addcolon\space\url{#1}}
\begin{document}
\subsection{Citation}
\citep{Hampton}
\printbibliography[heading=bibintoc,title={References}]
\end{document}
您确定 OU 需要引号和斜体吗?