biblatex-apa 和 \fullcite* --> 模糊引用的年份

biblatex-apa 和 \fullcite* --> 模糊引用的年份

我使用 LaTeX 撰写我的博士论文,并使用 biblatex-apa 作为 bib 样式。

除了参考书目之外,还有一个部分将列出我在攻读博士学位期间发表的论文。我使用\fullcite简单列表环境中的命令来执行此操作。

我有一些出版物,其中作者和出版年份相同。 Biblatex 将它们设置为与参考书目中相同的方式:

  • 作者 1、作者 2 和作者 3 (2011a)。标题 A。期刊 A,...
  • 作者 1、作者 2 和作者 3 (2011b)。标题 B。期刊 B,...

我想省略年份声明中的字母(但仅限于\fullcite我的出版物部分中的项目,一般不涉及,即影响参考书目)

那可能吗?

答案1

您必须在命令\clearfield{extrayear}中添加\fullcite。您可以通过重新定义它或创建自己的命令来实现这一点。

此 MWE 重新定义了现有的\fullcite

我曾尝试修补命令(通过xpatch)而不是复制它并添加\clearfield{extrayear};也许这是最好的解决方案,但不幸的是,我做不到。

\documentclass{article}
\begin{filecontents}{\jobname.bib}
  @book{a,
    author = {A. Uthor},
    title = {A title},
    year = {2013}
  }
  @book{b,
    author = {A. Uthor},
    title = {Another title},
    year = {2013}
  }

  @article{c,
    author = {A. Uthor},
    title = {Another title from the same year},
    journal = {Journal},
    date = {2013-09}
  }
\end{filecontents}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=apa]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\addbibresource{\jobname.bib}

\makeatletter
\DeclareCiteCommand{\fullcite}
  {\usebibmacro{prenote}}
  {\usedriver
    {\DeclareNameAlias{sortname}{default}%
      \global\boolfalse{bbx:in}%
      \global\let\blx@related@loop\@empty%
      \clearfield{extradate}% <---- added this
      }
    {\thefield{entrytype}}%
   \usebibmacro{cite:post}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
\makeatother

\begin{document}
\autocites{a,b,c}

\fullcite{a}, \fullcite{b}, \fullcite{c}

\printbibliography
\end{document}

姆韦

相关内容