Biblatex 和没有日期的条目第 2 部分

Biblatex 和没有日期的条目第 2 部分

我已经尝试使用已发布的代码在这个问题中将“nd”写入不带日期的引用条目。但是,我没有得到想要的结果。我读过几个类似的问题,但都没有成功。

我使用 biblatex、ieee 参考样式,并在 bib 文档中有不同类型的参考资料:网站、书籍、文章等。有人可以用简单的语言解释如何做我想要的吗?

例如,下一个代码在没有日期字段的地方写入“nd”。但其他参考资料中的每个日期也变成“nd”。

\newcommand{\mkbibnodate}{n\adddot d\adddot}
\AtEveryCitekey{\iffieldundef{labelyear}{\restorefield{labelyear}{\mkbibnodate}}{}}
\AtEveryBibitem{\iffieldundef{labelyear}{\restorefield{year}{\mkbibnodate}}{}}

这里我展示了一个最小的可编译 mi 代码示例,其中保留了日期(感谢 moewe 的创意)。您可以将第一个代码片段添加到序言中,然后您会看到字段 date 如何变为“nd”。

\documentclass{article} 
\usepackage[utf8]{inputenc}
\usepackage[
style=ieee,
sorting=none
]{biblatex}
\begin{filecontents}{bibliography.bib}
@online{Foundation,
author = {Foundation, Python Software},
title = {{re — Operaciones con expresiones regulares}},
url = {https://docs.python.org/es/3/library/re.html},
urldate = {2021-07-26}
}
@book{Hai-Jew2017,
address = {Cham},
editor = {Hai-Jew, Shalin},
pages = {XXII, 295},
publisher = {Springer International Publishing},
title = {{Data Analytics in Digital Humanities}},
year = {2017}
}
\end{filecontents}
\addbibresource{bibliography.bib}

\begin{document}
\nocite{*}
\printbibliography[]
\end{document}

非常感谢您的帮助!=)

答案1

这些解决方案非常依赖于样式,但这里有一个应该适用于biblatex-ieee。如果文件中没有给出日期,它将在参考书目样式尝试打印日期的所有地方打印“nd” .bib。它通过简单地重新定义datebibmacro 来实现。

\documentclass{article} 
\usepackage[
  style=ieee,
  sorting=none
]{biblatex}

\renewbibmacro*{date}{%
  \iffieldundef{year}
    {\bibstring{nodate}}
    {\printdate}}

\begin{filecontents}{\jobname.bib}
@online{Foundation,
  author  = {{Python Software Foundation}},
  title   = {{re} -- Operaciones con expresiones regulares},
  url     = {https://docs.python.org/es/3/library/re.html},
  urldate = {2021-07-26},
  langid  = {spanish},
}
@book{Hai-Jew2017,
  address   = {Cham},
  editor    = {Hai-Jew, Shalin},
  pagetotal = {XXII, 295},
  publisher = {Springer International Publishing},
  title     = {Data Analytics in Digital Humanities},
  year      = {2017},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

Python 软件基金会。 “重新——以正常表达方式进行操作。” (nd),[在线]。可用:https://docs.python.org/es/3/library/re.html(访问日期:2021 年 7 月 26 日)。

相关内容