我可以让 apacite 引用始终使用 et al. 来表示两位以上的作者吗?

我可以让 apacite 引用始终使用 et al. 来表示两位以上的作者吗?

apacite 包文档在这里:

http://anorien.csc.warwick.ac.uk/mirrors/CTAN/biblio/bibtex/contrib/apacite/apacite.pdf

规定每当引用两位以上作者(但少于六位)时,第一次引用时将出现完整名称,但此后,再次引用该论文时,第一作者后面将出现 et al 后缀。

有没有办法让 apacite 在引用两位以上的作者时从一开始就使用 et al.?

另外,有没有办法让 apacite 在作者姓名之间使用“and”而不是“&”?

答案1

我认为没有一个通用的标志可以设置来控制是否在第一次使用完整的作者列表。作者列表由\BCA中的宏控制\@@cite。一个相对简单的补丁就是所需的一切。我们需要改变

\def\BCA##1##2{{\@BAstyle ##1}}%

进入

\def\BCA##1##2{{\@BAstyle ##2}}%

您可以复制宏并进行更改,但我使用了regexpatch

至于用 进行替换&。这由、和宏and控制:\BBAA\BBAB\BAnd

\newcommand{\BBAA}{\&}  % between authors in parenthetical cites and ref. list
\newcommand{\BBAB}{and} % between authors in in-text citation
\newcommand{\BAnd}{\&}  % for ``Ed. \& Trans.'' in ref. list

您可以使用 来更改它们renewcommand,但是您必须在之后进行重新定义,begin{document}因为该包使用 加载语言设置AtBeginDocument

\documentclass{article}
\usepackage{apacite}
\bibliographystyle{apacite}
\usepackage{regexpatch}

\makeatletter
\xpatchcmd{\@@cite}{\def\BCA##1##2{{\@BAstyle ##1}}}{\def\BCA##1##2{{\@BAstyle ##2}}}{}{}
\makeatother

\begin{document}
\renewcommand{\BBAA}{and}  % between authors in parenthetical cites and ref. list
\renewcommand{\BBAB}{and} % between authors in in-text citation
\renewcommand{\BAnd}{and}  % for ``Ed. \& Trans.'' in ref. list

\cite{inproceedings-full}

\cite{inproceedings-full}

\bibliography{xampl}

\end{document}

答案2

你好你可以\shortcite\cite

答案3

biblatex-apa可以解决问题,将其添加到文档的开头:

\usepackage[style=apa]{biblatex}
\addbibresource{sample.bib}
...
\printbibliography

引用 with\parencite将得到以下结果:

  • 1 作者 (Einstein, 1926)
  • 2 作者(Einstein & Newton, 1927)
  • 3+ 位作者(Einstein et al., 1923)

相关内容