Biblatex 更改 citestyle 中间文档

Biblatex 更改 citestyle 中间文档

如何更改 biblatex 中间文档的引用样式?

我在 Overleaf 中将 biblatex apa 样式与 authoryear citestyle 结合使用,如下所示:

\usepackage[style=apa,citestyle=authoryear,maxcitenames=2,mincitenames=1]{biblatex}
\DeclareLanguageMapping{american}{american-apa}

我使用不同的引用方法,如 textcite 和 parencite,结果如下:

根据 Howell (2013) 的说法,优势......

...膝关节(Shelton,2014)或...

然而,这正是我想要的,对于表格中的分类,我希望能够通过数字引用,就像这样:

[1]

这意味着 APA 样式的参考书目需要编号,我希望能够在引用样式之间切换。也许可以定义一种新的引用方法,这样我就可以做这样的事情:

\numbercite{Howell2013}

这可能吗?我很感激任何帮助。如果我需要另一种样式来实现编号,那也没问题。提前谢谢。

答案1

一般情况下,混合使用不同的引用样式是不可能的。但很多时候,你可以想出一些办法,让你拥有不同的引用样式。

numeric.bbx在这种情况下,您可以从和中窃取大量代码numeric.cbx

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

\usepackage[style=apa, labelnumber]{biblatex}

\providebool{bbx:subentry}

% adapted from numeric.cbx
\DeclareFieldFormat{entrysetcount}{\mknumalph{#1}}

\newbibmacro*{numcite}{%
  \printtext[bibhyperref]{%
    \printfield{labelprefix}%
    \printfield{labelnumber}%
    \ifbool{bbx:subentry}
      {\printfield{entrysetcount}}
      {}}}

\DeclareCiteCommand{\numcite}[\mkbibbrackets]
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{numcite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareMultiCiteCommand{\numcites}[\mkbibbrackets]{\numcite}{\multicitedelim}

% adapted from numeric.bbx
\DeclareBiblatexOption{global,type,entry}[boolean]{subentry}[true]{%
  \setbool{bbx:subentry}{#1}}

\DeclareFieldFormat{bibentrysetcount}{\mkbibparens{\mknumalph{#1}}}
\DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}}
\DeclareFieldFormat{shorthandwidth}{\mkbibbrackets{#1}}

\defbibenvironment{bibliography}
  {\list
     {\printtext[labelnumberwidth]{%
        \printfield{labelprefix}%
        \printfield{labelnumber}}}
     {\setlength{\labelwidth}{\labelnumberwidth}%
      \setlength{\leftmargin}{\labelwidth}%
      \setlength{\labelsep}{\biblabelsep}%
      \addtolength{\leftmargin}{\labelsep}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}%
      \renewcommand*{\makelabel}[1]{\hss##1}}
  {\endlist}
  {\item}

\addbibresource{biblatex-examples.bib}


\begin{document}
Lorem \autocite{sigfridsson}
ipsum \autocite{nussbaum}
dolor \autocite{geer}

\begin{tabular}{lr}
A & \numcite{sigfridsson}\\
B & \numcite{worman}
\end{tabular}

\printbibliography
\end{document}

Lorem(Sigfridsson & Ryde,1998)ipsum(Nussbaum,1978)dolor(Geer,1985)//A [3]//B [4]

如您所见,从概念上讲,这种组合有点棘手。编号使作者和年份变得不那么突出。如果您的主要引用方式仍然是 APA 的作者年份格式,那么您将在参考书目中看到许多不必要的、可能分散注意力的数字,从而分散读者对重要内容的注意力:作者和年份。

相关内容