使用 biber,我没有遇到这个问题,但我想使用 bibtex 作为后端选项。
我有一个“在线”bibitem,有访问日期但没有出版日期。我希望输出符合以下格式:作者(nd)URL [访问日期:dd/mm/year]。
我只能通过清除 urlyear 来找到一种方法来做到这一点,但我不想这样做。此外,此主题建议将年份设置为文本“nd”,但是这会生成有关排序问题的警告,我想避免这种情况。
梅威瑟:
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear, backend=biber, urldate=long, dateabbrev=false]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@online{appleby,
author = {Humphrey Appleby},
date = {},
title = {On the Importance of the Civil Service},
url = {https://example.com/gov/sir-humphrey/importance-civil-service},
urldate = {2018-08-23},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
我想在空括号中显示 nd 或类似内容。我可以通过以下方式实现此目的:
- 防止出版日期继承自访问日期。
- 以某种方式手动将日期设置为“null”,但这样做会按照我尝试过的方式将日期设为(“null”)。
谢谢。
答案1
如果您必须使用bibtex
作为后端,那么您可以指定year = {nodate}
而不是使用该date
字段。
在旁边:如果您用作后端,那么我认为最简单的选择就是改变从允许字段列表中删除biber
的定义。例如,\DeclareLabeldate
urldate
\DeclareLabeldate{%
\field{date}
\field{year}
\field{eventdate}
\field{origdate}
\literal{nodate}
}
MWE 使用bibtex
作为后端
\documentclass[british]{article}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear, backend=bibtex, urldate=long, dateabbrev=false]{biblatex}
\begin{filecontents}[overwrite]{\jobname.bib}
@online{appleby,
author = {Humphrey Appleby},
year = {nodate},
title = {On the Importance of the Civil Service},
url = {https://example.com/gov/sir-humphrey/importance-civil-service},
urldate = {2018-08-23},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}