对于 3 位或更多作者,我想在文中列出第一个“et al.”
如果我在文中使用\usepackage[natbibapa]{apacite}
和\citet
,一切正常,但 APA 会给我所有 4 位作者。
如果我在文本中使用\usepackage{apacite}
和,文本中会出现?(?),缩写词将停止工作。但参考文献会出现在参考文献列表中。\shortciteA
我关注了这篇文章:
同样,尝试将 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$
}