书籍作者字段未以 APA 参考格式显示

书籍作者字段未以 APA 参考格式显示

我想引用一本书的前言。因此,当我将详细信息输入为 @incollection 条目时,参考列表中没有出现书籍作者。这适用于作者年份参考样式。但不适用于 APA。任何帮助都将不胜感激。

    \documentclass{article}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage[english]{babel}
    \usepackage{csquotes}


   \usepackage[backend=biber,style=apa]{biblatex}
   \DeclareLanguageMapping{english}{english-apa}


  \usepackage{filecontents}
  \begin{filecontents}{\jobname.bib}
  @incollection{Author1976,
    address = {Cambridge},
    author = {Author, A},
    booktitle = {Book title},
    bookauthor = {Bookauthor, A and Bookauthor, B},
    pages = {1--10},
    publisher = {University Press},
    title = {{Foreword title}},
    year = {1976}
    }
    \end{filecontents}

    \bibliography{\jobname.bib}

    \begin{document}
    \cite{Author1976}
    \printbibliography

    \end{document}

输出应如下所示。

在此处输入图片描述

答案1

试试这个。(我已经用过了@suppbook,因为@moewe 说得对,这更有意义——@incollection但仍然有效。

的名称格式bookauthor使用设置DeclareNameAlias{bookauthor}{apanames}\xpatchbibmacro用于在bookauthor后面插入maintitle+booktitle宏中。

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage{xpatch}
\usepackage[backend=biber,style=apa]{biblatex}
\DeclareLanguageMapping{english}{english-apa}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@suppbook{Stone1976,
  address = {Cambridge, England},
  author = {Stone, R},
  booktitle = {Social Accounting for Development Planning with Special Reference to {Sri Lanka}},
  bookauthor = {Pyatt, G and Roe, A},
  pages = {xvi-xxxi},
  publisher = {Cambridge University Press},
  title = {Foreword},
  subtitle = {The Development of Economic Data Systems},
  year = {1976}
}
\end{filecontents}
\bibliography{\jobname.bib}
\DeclareNameAlias{bookauthor}{apanames}
\xpatchbibmacro{maintitle+booktitle}{%
  \usebibmacro{in}%
}
{%
  \usebibmacro{in}%
  \ifnameundef{bookauthor}
    {}
    {\usebibmacro{bybookauthor}%
     \setunit*{\addcomma\space}}%
}{}{}
\pagestyle{empty}
\begin{document}
\cite{Stone1976}
\printbibliography
\end{document}

在此处输入图片描述

答案2

如你所见,这里的名字顺序是错误的。它不是

姓氏,[短]名字

[简称] 名字,姓氏

要改变这一点,请替换\DeclareNameAlias{bookauthor}{apanames}\DeclareNameAlias{bookauthor}{apaauthor}

在标准 biblatex.def 中,NameAlias 为书作者作者也指作者分别作者(也指作者)(即默认)。

(无法评论,所以我不得不将其作为新答案发布)

相关内容