在 Biblatex 中修改 apa 样式

在 Biblatex 中修改 apa 样式

我不太熟悉修改 biblatex 样式的复杂结构。我希望使用的样式是, 在此处输入图片描述

APA 是我能找到的最接近的格式。使用 APA 后,我得到了以下结果: 在此处输入图片描述

请帮我把这个默认的 APA 样式改成上面的样式。即使其他没有 APA 的路线也可以。

我在网上查找并找到了以下 MWE,它来自一个来源(我无法再找到它),只会在参考文献中加粗作者姓名,而不会在文内引用中加粗。不过首字母没有加粗。

\usepackage[style=apa,backend=biber,citestyle=authoryear,bibstyle=numeric]{biblatex}
%\DeclareLanguageMapping{british}{british-apa}
\addbibresource{blah.bib}

\AtBeginBibliography{\renewcommand*{\mkbibnamefamily}[1]{\textbf{#1}}}

\DeclareFieldFormat{labelnumberwidth}{\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}

在此处输入图片描述

需要对样式进行以下编辑:

  • 全名以粗体显示
  • 姓名格式:姓氏、首字母或首字母姓氏
  • 作者姓名后的年份
  • 期刊卷号以粗体显示
  • 期刊名称前没有“In:”

答案1

我想这就是你想要的:

\documentclass{article}
\usepackage[style=ext-authoryear,
            articlein=false,
            giveninits=true,
            uniquename=init]{biblatex}
\addbibresource{biblatex-examples.bib}
% from https://tex.stackexchange.com/q/470700/
\defbibenvironment{bibliography}
  {\begin{enumerate}}
  {\end{enumerate}}
  {\item}
% From https://tex.stackexchange.com/q/497426/
\DeclareNameAlias{sortname}{family-given/given-family}
\DeclareNameWrapperFormat{sortname}{\mkbibbold{#1}}
% Other modifications
\DeclareFieldFormat[article,periodical]{volume}{\mkbibbold{#1}}
\DeclareFieldFormat[article]{title}{#1}
\DeclareFieldFormat[article]{pages}{#1}
\begin{document}
\cite{sigfridsson,worman,nussbaum,geer}

\printbibliography
\end{document}

代码输出

相关内容