![如何禁用 biblatex 在参考文献上显示“访问过”](https://linux22.com/image/365224/%E5%A6%82%E4%BD%95%E7%A6%81%E7%94%A8%20biblatex%20%E5%9C%A8%E5%8F%82%E8%80%83%E6%96%87%E7%8C%AE%E4%B8%8A%E6%98%BE%E7%A4%BA%E2%80%9C%E8%AE%BF%E9%97%AE%E8%BF%87%E2%80%9D.png)
我正在使用 luatex 和 Texstudio 和 biber 写一篇小文章:
\documentclass[11pt,a4paper]{article}
\usepackage[maxbibnames=3,style=chicago-authordate,backend=biber, url=false,doi=false, isbn=false]{biblatex}
\addbibresource{biblio.bib}
\bibliography{}
\title{title}
\begin{document}
\maketitle
\section{Introduction}
First cite \parencite{Nichols2013}.
\printbibliography
\end{document}
请将以下代码复制到 biblio.bib 文件中。
@Article{Nichols2013,
author = {Nichols, Melanie and Townsend, Nick and Scarborough, Peter and Rayner, Mike},
title = {Trends in age-specific coronary heart disease mortality in the European Union over three decades: 1980–2009},
journaltitle = {European Heart Journal},
date = {2013-10-14},
volume = {34},
number = {39},
pages = {3017--3027},
issn = {0195-668X},
doi = {10.1093/eurheartj/eht159},
url = {https://academic.oup.com/eurheartj/article/34/39/3017/506081},
urldate = {2017-11-07},
abstract = {{AimsRecent} decades have seen very large declines in coronary heart disease ({CHD}) mortality across most of Europe, partly due to declines in risk factors such as smoking. },
file = {Full Text PDF:C\:\\Users\\joe\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\ddxqcxys.default\\zotero\\storage\\TTNHMGPB\\Nichols et al. - 2013 - Trends in age-specific coronary heart disease mort.pdf:application/pdf;Snapshot:C\:\\Users\\joe\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\ddxqcxys.default\\zotero\\storage\\J4H4FEN4\\506081.html:text/html},
shortjournal = {Eur Heart J},
shorttitle = {Trends in age-specific coronary heart disease mortality in the European Union over three decades},
}
当我编译该文档时,我收到此消息“即使我尝试删除它,访问日期为 2017 年 11 月 7 日,仍会出现在参考文献中。
这里有一个解决方案
不要在参考文献上显示“(访问日期:<date>)”
url=false
但它不适用于我的参考和选项。
有一个更复杂的解决方案:
biblatex-chicago 中的重复访问声明“访问于”
\usepackage{xpatch}
\xpatchbibdriver{online}{urldate}{}{}{}
但它也不起作用。
奇怪的是,如果我创建一个简单的可重现的示例:
\documentclass{article}
\usepackage[style=ieee,backend=biber, url=false, doi=false, isbn=false]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@Article{Nichols2013,
author = {Nichols, Melanie and Townsend, Nick and Scarborough, Peter and Rayner, Mike},
title = {Trends in age-specific coronary heart disease mortality in the European Union over three decades: 1980–2009},
journaltitle = {European Heart Journal},
date = {2013-10-14},
volume = {34},
number = {39},
pages = {3017--3027},
issn = {0195-668X},
doi = {10.1093/eurheartj/eht159},
url = {https://academic.oup.com/eurheartj/article/34/39/3017/506081},
urldate = {2017-11-07},
abstract = {{AimsRecent} decades have seen very .},
file = {Full Text PDF:C\:\\Users\\joe\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\ddxqcxys.default\\zotero\\storage\\TTNHMGPB\\Nichols et al. - 2013 - Trends in age-specific coronary heart disease mort.pdf:application/pdf;Snapshot:C\:\\Users\\joe\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\ddxqcxys.default\\zotero\\storage\\J4H4FEN4\\506081.html:text/html},
shortjournal = {Eur Heart J},
shorttitle = {Trends in age-specific coronary heart disease mortality in the European Union over three decades},
}
\end{filecontents*}
\bibliography{\jobname.bib}
\begin{document}
Test \parencite{Nichols2013}.
\printbibliography
\end{document}
我没有遇到同样的问题。我只是把那本书的内容复制到那里。
我该如何解决这个问题?我的真实书目要大得多,而且我收到了很多访问过 .... 的消息和更多我不想要的信息。
答案1
样式chicago-authordate
会在任何时候打印“vistited on...”块urlyear
,并且urlmonth
不是未定义的。因此,您可以通过清除这两个字段来防止这种情况发生。
\documentclass[conference]{IEEEtran}
\usepackage[maxbibnames=2,style=chicago-authordate,backend=biber, url=false, doi=false, isbn=false]{biblatex}
\AtEveryBibitem{
\clearfield{urlyear}
\clearfield{urlmonth}
}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{xiang_novel_2010,
title = {A Novel On-Chip Active Dispersive Delay Line ({DDL}) for Analog Signal Processing},
volume = {20},
issn = {1531-1309, 1558-1764},
url = {http://ieeexplore.ieee.org/document/5570896/},
doi = {10.1109/LMWC.2010.2064761},
abstract = {In this letter, we report the first on-chip design of an active dispersive delay line ({DDL}) based upon the distributed amplification structure. This distributed amplifier {DDL} exhibits nanosecond delay variation in the frequency band from 11 to 15 {GHz}. An on-chip temporal imager is implemented with this active {DDL} and a linear chirp generator, realized by ramping the control voltage of a voltage controlled oscillator. The experimental data exhibits pulse stretching as well as pulse compression with this system.},
pages = {584--586},
number = {10},
journaltitle = {{IEEE} Microwave and Wireless Components Letters},
author = {Xiang, Bo and Kopa, Anthony and Apsel, Alyssa B.},
urldate = {2016-10-19},
date = {2010-10},
langid = {english},
file = {[3]A Novel On-Chip Active Dispersive Delay.pdf:/home/defrancaferr_joa/Documents/rtacft/documents/zotero/storage/IDFNSDX4/[3]A Novel On-Chip Active Dispersive Delay.pdf:application/pdf}
}
\end{filecontents*}
\bibliography{\jobname.bib}
\begin{document}
Test \cite{xiang_novel_2010}.
\printbibliography
\end{document}
答案2
更新
biblatex-chicago
已修复用于抑制 URL 的urldate
情况,以抑制输出。url=false,
我无法说清楚修复具体是在什么时候,但版本 2.1(2021-03-27)[也将自己标识为2021/03/27 v 3.16
] 运行正常。
旧答案
biblatex-chicago
这是的样式特有的问题authordate
。这就是为什么你无法用 重现它style=ieee
。
即使 URL 本身被抑制,该样式也会打印 URL 访问日期。
你应该通知软件包作者,与此同时修复正在发生
\makeatletter
\renewbibmacro*{bib+doi+url}{% 16th ed.
\ifboolexpr{test {\iffieldundef{urlyear}} or test {\iffieldundef{url}} or not togl {cms@url}}%
{}%
{\printurldate}% Date fix
\iffieldundef{addendum}%
{\newunit\newblock}%
{\newcunit\newblock}%
\iftoggle{cms@doionly}%
{\iffieldundef{doi}%
{}%
{\printfield{doi}%
\setunit*{\addperiod\addspace}\newblock%
\clearfield{url}}}%
{\ifboolexpr{%
togl {cms@doi}%
and
not test {\iffieldundef{doi}}%
}%
{\printfield{doi}%
\setunit*{\addperiod\addspace}\newblock}%
{}}%
\ifboolexpr{%
togl {cms@eprint}%
and
not test {\iffieldundef{eprint}}%
}%
{\usebibmacro{eprint}%
\setunit*{\addperiod\addspace}\newblock}%
{}%
\ifboolexpr{%
togl {cms@url}%
and
not test {\iffieldundef{url}}%
}%
{\printfield{url}}%
{}}%
\makeatother