
\RequirePackage{filecontents}
\begin{filecontents}{mybib.bib}
@article{c,
author = "Anne Author and Bert Buthor and Carla Cuthor",
title = "Final Thoughts",
journal = "Circularity Today",
year = 3009,
volume = 9,
number = 10,
pages = "11--12",
}
\end{filecontents}
\documentclass{article}
\usepackage[natbibapa]{apacite}
\begin{document}
\citet{c} says something.
\bibliographystyle{apacite}
\bibliography{mybib}
\end{document}
在我的論文中,我需要引用作者的姓名和年份,所以我使用 natbib。但對於兩個以上的作者,我希望只顯示名字,後面跟著 et.al。但是,由於我使用 natbib,因此無法使用 \shortcite 。有其他方法可以解決這個問題嗎?
答案1
該聲明,
我需要引用作者的姓名和年份,因此我使用 [natbibapa 選項]
包含一個不合邏輯的推論:可以輕鬆創建作者年份風格的引文標註沒有指定natbibapa
選項。只需使用\citeA
代替\citet
和\cite
代替\citep
。apacite
有關詳細信息,請參閱軟體包使用者指南的第 4.1 節“經典 apacite 命令” 。
透過此設置,使用\shortciteA
和\shortcite
產生文字樣式和括號樣式的引文標註以及截斷的作者清單完全沒有問題。
\documentclass{article}
\begin{filecontents}[overwrite]{mybib.bib}
@article{c,
author = "Anne Author and Bert Buthor and Carla Cuthor",
title = "Final Thoughts",
journal = "Circularity Today",
year = 3009,
volume = 9,
number = 10,
pages = "11--12",
}
\end{filecontents}
\usepackage{apacite}
\bibliographystyle{apacite}
\begin{document}
\shortciteA{c} says something.
\bibliography{mybib}
\end{document}
答案2
APA 風格(第六版,實施)的一個特點是,apacite
在第一次引用時完整給出三到五位作者的列表,並且僅作為第一作者+“等人”。在隨後的引用中。
對於一次性事件apacite
定義命令來覆蓋它,例如\shortcite
.
apacite
如果您與 一起使用,natbibapa
則告訴您apacite
將對引文命令的部分控制權交給natbib
,這意味著apacite
通常定義的一些專業引文命令不再可用。其中之一是\shortcite
。
這apacite
文件說(§4.2用於natbib
引用,p。 15)
透過在命令後添加星號可以獲得完整的作者列表,例如
\citet*{key}
。短作者列表沒有單獨的命令,但可以透過構造獲得\shortcites{key}\citet{key}
。
所以一種選擇是說
\shortcites{c}\citet{c}
你第一次引用c
。後續引用將縮寫為第一作者+“等人”。反正。但當然,這非常乏味、容易出錯,而且整體感覺不太對勁。
apacite
但是我們上面引用的手冊部分包含更多信息
使用
natbibapa
選項,apacite
載入natbib
選項longnamesfirst
和sort
。
因此,natbibapa
借助該選項,我們可以在第一次引用時獲得長長的作者清單longnamesfirst
。如果我們可以關閉該選項,我們就可以恢復正常工作。
不幸的是,natbib
沒有提供關閉此選項的介面。一旦natbib
加載,longnamesfirst
就無法將其關閉。所以我們必須求助於內部命令。此選項將一個名為NAT@longnames
true 的內部布林值設為 true,因此我們將其設為 false。
\documentclass{article}
\usepackage[natbibapa]{apacite}
\makeatletter
\NAT@longnamesfalse
\makeatother
\begin{filecontents}{\jobname.bib}
@article{c,
author = {Anne Author and Bert Buthor and Carla Cuthor},
title = {Final Thoughts},
journal = {Circularity Today},
year = 3009,
volume = 9,
number = 10,
pages = {11--12},
}
\end{filecontents}
\begin{document}
\citet{c} says something.
\citet{c} says something.
\bibliographystyle{apacite}
\bibliography{\jobname}
\end{document}
如果您正在尋找相同問題的答案但沒有選項natbibapa
(即使用apaciteclassic
),我能找到的最簡單的答案就是說
\let\cite\shortcite
\let\citeA\shortciteA
\let\citeNP\shortciteNP
\let\citeauthor\shortciteauthor
\let\citeauthorNP\shortciteauthorNP
\let\maskcite\maskshortcite
\let\maskciteA\maskshortciteA
\let\maskciteNP\maskshortciteNP
\let\maskciteauthor\maskshortciteauthor
\let\maskciteauthorNP\maskshortciteauthorNP