作者的全名及文中引用(citet{} 指令)

作者的全名及文中引用(citet{} 指令)

是否有一些指令变体或选项\citet{}可以给我作者的全名?但仅在我需要时才提供?

在类似的问题中,人们建议编辑.bib文件中的作者字段,但这带来的问题多于帮助。我们想要:

@book{smith13,
Author = {Waldo Smith},
Title = {Real Given Names},
Publisher = {Foobar Press},
Address = {Erewhon},
Year = {2013}
}

并在本\bibliography{}节中:

Smith, W. 1993. \emph{Real Given Names}. Erewhon: Foobar Press.

\citet{}但是正文中会产生一些变体(或某些东西):

沃尔多·史密斯(Waldo Smith)(1993)确凿地证明,使用 BibTex 生成全名是可能的。

目前我正在输入,Waldo \citet{smith13}但如果能让 BibTeX 来做这件事就更好了。

请注意,我们只在第一次提及 Waldo Smith 时这样做;之后(即使引用不同),“Smith (1999)”就可以了。而且,当我们有多个作者时,我们总是只使用姓氏(“另一方面,Brown 和 Miller (2013) 表明……”)。因此,任何修改文件的粗暴行为.bib都不会是答案。

答案1

Bibtex 与 natbib 结合可以达到目的。

\usepackage[natbibapa]{apacite}
% or you can also use
% \usepackage{natbib}   

\citet*{smith13} demonstrated conclusively that it is possible to generate full names using BibTex.

上面的例子的结果是:

Waldo Smith (1993) demonstrated conclusively that it is possible to generate full names using BibTex.

答案2

如果您想在少数情况下执行此操作,则更简单的解决方案是定义别名并使用\citealias

举个例子,在序言中定义:

\defcitealias{smith13}{Waldo Smith (2013)}

并在文中使用:

\citetalias{smith13}

结果将是文本中的 Waldo Smith (2013),参考文献的添加方式与其他参考文献相同。如果使用\citet{smith13},则会返回通常的 Smith (2013)。

该命令\citetalias可从 natbib 包获取。因此,您必须将其包含\usepackage{natbib}在序言中。

注意:这个问题与Natbib:在文中引用名字或首字母

相关内容