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