修改后的 Footcite 于 2016 年生效 - 从那时起发生了什么变化?

修改后的 Footcite 于 2016 年生效 - 从那时起发生了什么变化?

2016 年,我付出了巨大努力,获得了创建符合特定要求的文档所需的所有设置。现在,我重新使用我的设置来创建新文档。我必须实施一些较小的修复、一些弃用的参数和诸如此类的东西,没有什么大不了的。看起来一切都运行良好。

但有一件事让我很困扰。我使用 footcite,在输出中我需要在年份周围加括号。我的旧设置被忽略了(它在 2016 年肯定有效)。输出和我预期的一样,但年份周围的括号不见了。从那时起发生了什么变化?

% Klammern um das Jahr in der Fußnote
\renewbibmacro*{cite:labelyear+extrayear}{% 
  \iffieldundef{labelyear} 
    {} 
    {\printtext[bibhyperref]{% 
       \mkbibparens{% 
         \printfield{labelyear}% 
         \printfield{extrayear}}}}}

我的 biblatex 设置如下

\usepackage[
defernumbers=true,
backend=biber,
minnames=1,
maxnames=1,
ibidtracker=context,
bibstyle=numeric,
citestyle=authoryear,
sorting=nyt,
url=false, 
isbn=false,
hyperref=true,
urldate=comp,   
dateabbrev=false,
sortlocale=de]{biblatex}

非常感谢!

答案1

与您肯定相关的一个变化是 bibmacrocite:labelyear+extrayear被重命名为cite:labeldate+extradate(https://github.com/plk/biblatex/commit/189d90db9dbe94dd08f47261e79df09e2a37c66ahttps://github.com/plk/biblatex/commit/320f114d493ca7fa310c559c3a48b5912282fa22)。相关近期名称变更列表可参见https://github.com/plk/biblatex/wiki/Name-Changes

日期处理的其他一些方面也发生了变化,因此代码的现代化版本可能如下所示

\DeclareFieldFormat{citelabeldate}{\mkbibparens{#1}}
\renewbibmacro*{cite:labeldate+extradate}{%
  \iffieldundef{labelyear}
    {}
    {\printtext[bibhyperref]{\printtext[citelabeldate]{\printlabeldateextra}}}}

使用其中一种样式可以获得类似的效果biblatex-ext

\DeclareInnerCiteDelims{cite}{\bibopenparen}{\bibcloseparen}

我应该补充一点,混合bibstyle=numeric,citestyle=authoryear,会导致参考书目中出现多余的数字,这些数字与文档中的任何其他编号无关(引用与不是使用这些数字,它们是作者年份)。

该选项hyperref=true,通常并不比默认选项更好hyperref=auto,。这两个选项的唯一区别在于,true如果未加载包,则会发出警告hyperref。使用这两个选项时,只有当包hyperref已加载时才会添加链接。这两种设置都不会自动加载包hyperref

很少需要设置sortlocale=desortlocale将自动从文档语言设置中推断出来。

相关内容