Biblatex 3.3 名称格式,仅显示年份

Biblatex 3.3 名称格式,仅显示年份

我尝试使我的 bibmacros 适应新版本的 Biblatex,但现在当我使用它们时,我的引用中只显示年份。

我的 bibmacro 如下所示:

\newbibmacro{name:normalfall}{% Normalfall: 1,4,5,8
   \textbf{\namepartfamily}  % #1->\namepartfamily, #2->\namepartfamilyi
   \textbf{\namepartgiveni}   % #3->\namepartgiven,  #4->\namepartgiveni
   \namepartprefix % #5->\namepartprefix, #6->\namepartprefixi
   \namepartsuffixi % #7->\namepartsuffix, #8->\namepartsuffixi
}

我使用它来:

\DeclareNameFormat{sortname}{% Bibliographie
\nameparts{#1}
  \ifnum\value{uniquename}=0 % Normalfall
    \ifuseprefix
      {\usebibmacro{name:normalfall}}
      {\usebibmacro{name:normalfall2}}%
  \fi

文本下方的页面上只写有年份,没有写作者。

它看起来应该是这样的:

在此处输入图片描述

但它看起来像这样:

在此处输入图片描述

我希望我所写的我的问题是可以让人理解的。

感谢您的帮助!

编辑:

我正在使用我所在大学准备好的测试文件,其中除了引用之外一切正常。

.bib 文件示例:

@Book{Test,
  Title                    = {TestTitle},
  Author                   = {Testauthor, N.},
  Year                     = {2007},
  Publisher                = {TestPublisher},

  Address                  = {TestAdress},
  Owner                    = {Testowner},
  Timestamp                = {2015.01.04}
}

我想在文本中使用它:

\documentclass[]{article} 

\usepackage[                % Biblatex
  backend=biber,
  bibstyle=_dhbw_authoryear,
  citestyle=authoryear,     
  uniquename=true, useprefix=true,
  bibencoding=utf8]{biblatex}

\input{includes/_dhbw_biblatex-config.tex}

\bibliography{includes/literatur-datenbank.bib}

\begin{document}

Testauthor\footcite{Test} here is more text.

\end{document}

_dhbw_biblatex-config.tex 由 newbibmacro 和我在问题开头写的 DeclareNameFormat 组成。

我希望这会有所帮助,如果没有,请纠正我并询问更多信息。


编辑:我不知道是否应该删除旧部分,现在我将尝试提供所有需要的信息。

我的 MWE 是:

\documentclass[]{article} 

\usepackage[                % Biblatex
  backend=biber,
  bibstyle=authoryear,
  citestyle=authoryear,     
  uniquename=true, useprefix=true,
  bibencoding=utf8]{biblatex}

\input{includes/_dhbw_biblatex-config.tex}

\bibliography{includes/literatur-datenbank.bib}

\begin{document}

Testauthor\footcite{Test} here is more text.

\end{document}

纳入的文献数据库(literatur-datenbank.bib)为:

@Book{Test,
  Title                    = {TestTitle},
  Author                   = {Testauthor, N.},
  Year                     = {2007},
  Publisher                = {TestPublisher},

  Address                  = {TestAdress},
  Owner                    = {Testowner},
  Timestamp                = {2015.01.04}
}

_dhbw_biblatex-config.tex 是:

\newbibmacro{name:normalfallZ}{% complete first name: 1, ,5,8
   \textbf{\namepartfamily}  % #1->\namepartfamily, #2->\namepartfamilyi
   \textbf{}   % #3->\namepartgiven,  #4->\namepartgiveni
   \namepartprefix % #5->\namepartprefix, #6->\namepartprefixi
   \namepartsuffixi % #7->\namepartsuffix, #8->\namepartsuffixi
   }

%Order of authors
%   
% http://golatex.de/viewtopic,p,80448.html#80448
% Argumente: siehe http://texwelt.de/blog/modifizieren-eines-biblatex-stils/

\DeclareNameFormat{labelname}{% 
  \ifnum\value{uniquename}=0 % 
    \ifuseprefix
      {\usebibmacro{name:normalfallZ}}

  \fi

 }

我怎么说呢,我的 PDF 底部只显示年份,而不是作者。

感谢您的帮助!

答案1

名称格式的定义缺少对 的调用 \nameparts{#1}。此命令填充名称的各个部分(对于每个部分,它会生成两个值,即完整值和初始值)。

因此\DeclareNameFormat定义应该修改如下

\DeclareNameFormat{labelname}{%
  \nameparts{#1}%  <== add this line
  \ifnum\value{uniquename}=0 % 
    \ifuseprefix
      {\usebibmacro{name:normalfallZ}}
  \fi
 }

顺便说一下,各种条件的用法不清楚,因此定义可以简单地为:

\DeclareNameFormat{labelname}{% 
  \nameparts{#1}%
  \usebibmacro{name:normalfallZ}%
 }

相关内容