您知道如何将引文标注中的作者分隔符从“and”更改为“&”吗,即得到“author1&author2 [YEAR]”而不是“author1和author2 [年份]"?
我使用natbib
引文管理包。
您可以在下面找到我当前的代码(我将引用代码保存在单独的 bib 文件中,因此我没有将其包含在下面的代码中)。
提前谢谢了。
真挚地,
您的每日剂量
我当前的代码如下:
\documentclass{article}
\usepackage[comma]{natbib}
\setcitestyle{square}
\renewcommand{\refname}{Bibliography}
\setlength{\bibsep}{2pt plus 0.3ex}
\title{Title}
\author{Author}
\date{\today}
\begin{document}
\maketitle
As an example, I use \cite{KahnemanTversky1979}, \\
which should yield Kahneman \& Tversky [1979] \\
instead of Kahneman and Tversky [1979].
Does anybody know how I can change the separator for two authors from "and" to "\&"?
\bibliographystyle{ecta}
\bibliography{bibliography}
\end{document}
答案1
我建议您按如下方式进行。
在您的 TeX 发行版中找到该文件
ecta.bst
。复制此文件并将副本命名为 。ecta-ampersand.bst
(请执行不是直接编辑 TeX 发行版的原始、未重命名的文件。在文本编辑器中打开文件
ecta-ampersand.bst
。你用来编辑 tex 文件的程序应该可以。在里面
ecta-ampersand.bst
,找到函数的定义bbl.and
。(在我的这个文件副本中,函数定义从 l. 228 开始。它应该看起来像这样:FUNCTION {bbl.and} { "and"}
在该函数定义下方,插入以下代码来定义一个名为的函数
bbl.ampersand
:FUNCTION {bbl.ampersand} { "\&"}
接下来,找到 bst 文件中调用的函数
format.lab.names
。(附注:“lab”是“label”的缩写;该函数创建用于 authoryear 样式引用调用的字符串。)在此函数中,找到以下代码行:{ bbl.and space.word * s #2 "{vv~}{ll}" format.name$
在这一行中,更改
bbl.and
为bbl.ampersand
。将 bst 文件保存在主 tex 文件所在的目录中,或保存在 BibTeX 搜索的目录中。如果选择第二个选项,请确保适当更新 TeX 发行版的文件名数据库。如果您不确定如何执行上述指令,我建议您选择第一个选项。
在您的主 tex 文件中,更改
\bibliographystyle{ecta}
为\bibliographystyle{ecta-ampersand}
。然后,执行完整的重新编译循环:LaTeX、BibTeX 和 LaTeX 再两次。
祝您 BibTeX 愉快!
这是一个将所有这些放在一起的 MWE(最小工作示例)。
\documentclass{article}
\begin{filecontents}[overwrite]{mybib.bib}
@article{kt79,
author = "Kahneman, Daniel and Tversky, Amos",
year = 1979,
title = "Prospect Theory: An Analysis of Decision under Risk",
journal = "Econometrica",
volume = 47,
number = 2,
pages = "263–291",
}
\end{filecontents}
\usepackage[comma,square]{natbib}
\bibliographystyle{ecta-ampersand}
\renewcommand{\refname}{Bibliography}
\setlength{\bibsep}{2pt plus 0.3ex}
\begin{document}
\noindent
\citet{kt79}
\bibliography{mybib}
\end{document}