当列出 3 位或更多作者时,将 apacite.bst 更改为引用第一作者

当列出 3 位或更多作者时,将 apacite.bst 更改为引用第一作者

对于 3 位或更多作者,我想在文中列出第一个“et al.”

如果我在文中使用\usepackage[natbibapa]{apacite}\citet,一切正常,但 APA 会给我所有 4 位作者。

如果我在文本中使用\usepackage{apacite}和,文本中会出现?(?),缩写词将停止工作。但参考文献会出现在参考文献列表中。\shortciteA

我关注了这篇文章:

如何更改 apacite 书目样式以列出所有作者

同样,尝试将 apacite.bst 文件更改为如果列出 3 个或更多作者(而不是当前设置的 6 个),则列出第一作者,但没有成功。有人知道怎么做吗?

我也尝试使用\shortcites{key}\citet{key}apacite 手册中指定的(第 4.2 节使用 natbib 进行引用),但没有任何变化。我似乎无法使用 apacite 进行引用,例如\shortcite。我甚至不明白当我使用时出现的错误\shortcite,但目录/首字母缩略词停止工作。

我的 LaTex 代码:

\documentclass[12pt, a4paper, twoside]{report} 

\usepackage{graphicx}
\usepackage{blindtext}
\usepackage[margin=2cm] {geometry}
\usepackage{setspace}
\setstretch{1.5}
\usepackage[natbibapa]{apacite}
\usepackage{hyperref}
\hypersetup{colorlinks=false, pdfborder={0 0 0}}
\newcommand{\doi}[1]{\textsc{} \href{https://doi.org/#1}{\nolinkurl{https://doi.org/#1}}}
\renewcommand{\doiprefix}{}
%\newcommand{\apamaxcitenames}{2}
\AtBeginDocument{\renewcommand{\BBAA}{and}}

\usepackage{acronym}
\usepackage[figuresright]{rotating}
\usepackage{comment}
\usepackage{url}
\usepackage{tikz}
\usetikzlibrary{arrows}
\usepackage{tcolorbox}
\usepackage{ragged2e}

\usepackage{enumitem}

\usepackage{pdflscape}
\usepackage{xltabular}
\newcolumntype{L}{>{\RaggedRight\hangafter1\hangindent1em}X}
\usepackage{booktabs}
\newlength\mylen
\setlength\mylen{\textheight}
\usepackage[labelfont=bf]{caption} 

\setcounter{tocdepth}{4}
\setcounter{secnumdepth}{5}

\begin{document}


I want to cite this \citep{kringosEuropeStrongPrimary2013}

\bibliographystyle{apacite}
\bibliography{myreferences}


\end{document}

我的参考文献.bib

@article{kringosEuropeStrongPrimary2013,
  title = {Europe's {{Strong Primary Care Systems Are Linked To Better Population Health But Also To Higher Health Spending}}},
  author = {Kringos, Dionne S. and Boerma, Wienke and {van der Zee}, Jouke and Groenewegen, Peter},
  year = {2013},
  journal = {Health Affairs},
  volume = {32},
  number = {4},
  pages = {686--694},
  issn = {0278-2715, 1544-5208},
  doi = {10.1377/hlthaff.2012.1242},
  urldate = {2023-03-26},
  langid = {english}
}

编辑:(apacite.bst 中的函数与此相关)

FUNCTION {tentative.cite.num.names.field}
{ 'field :=
  field num.names$  'numnames :=
  numnames #3 <
    {   %
        % 1 or 2 names: always cite all of them.
      numnames  'cite.num.names.full  :=
      numnames  'cite.num.names.short :=
    }
    { numnames #6 <
        {   %
            % 3-5 names: cite all of them the first time,
            % only the first name later times
          numnames  'cite.num.names.full  :=
          #1        'cite.num.names.short :=
        }
        {   %
            % 6 or more names: cite only the first name
          #1  'cite.num.names.full  :=
          #1  'cite.num.names.short :=
        }
      if$
    }
  if$
}

答案1

我替换了问题中突出显示的 apacite.bst 中的函数编辑:使用下面的方法,它可以工作:

FUNCTION {tentative.cite.num.names.field}
{ 'field :=
  field num.names$  'numnames :=
  numnames #3 <
    {   %
        % 1 or 2 names: always cite all of them.
      numnames  'cite.num.names.full  :=
      numnames  'cite.num.names.short :=
    }
    {   %
            % 3 or more names: cite only the first name
          #1  'cite.num.names.full  :=
          #1  'cite.num.names.short :=
    }
  if$
}

相关内容