我使用natbib
biblostyleagsm
来引用参考文献。我喜欢用逗号替换参考文献列表中作者姓名之间的“and”。像这样重新定义它没有效果
\providecommand\harvardand{}
\renewcommand\harvardand{ ,}
我尝试agsm.bst
自己编辑,但没有成功。
答案1
如果您愿意编辑该文件(的副本)agsm.bst
,您可以按如下方式进行:
在您的 TeX 发行版中找到该文件
agsm.bst
并进行复制。将副本命名为agsmcomma.bst
。(不要修改 TeX 发行版的原始文件。)agsmcomma.bst
在文本编辑器中打开该文件。代替只是第一个
" \harvardand\ "
四个带有的实例", "
。这应该是函数 内部的实例format.names
。(我假设您同意&
在作者年份样式的引文标注中显示。)将文件保存
agsmcomma.bst
在主 tex 文件所在的目录中或 BibTeX 搜索的目录中。如果选择后一种方法,请确保适当更新 TeX 发行版的文件名数据库。确保使用说明加载“新”书目样式
\bibliographystyle{agsmcomma}
此外,再重新运行 LaTeX、BibTeX 和 LaTeX 两次,以完全传播所有更改。
附录:这是一个完整的 MWE(最小工作示例)。它使用harvard
引文管理包,因为agsm
是包的一部分harvard
。如果您希望使用该natbib
包,则应加载该har2nat
包:它在内部加载natbib
并将包提供的大多数宏“翻译”harvard
为natbib
等效宏。从加载切换harvard
到加载将导致引文调用中har2nat
出现“and”而不是“and” ;bib 条目将保持逗号格式。&
首先,第 184 行agsmcomma.bst
:
{ ", " * t * }
现在开始 LaTeX 代码。首先要设置一个最小的 bib 文件
\RequirePackage{filecontents}
\begin{filecontents}{mybib.bib}
@article{jddr,
author = "Jane Doe and Dane Roe",
title = "Thoughts",
journal= "Circularity Today",
year = 3001,
volume = 1,
number = 2,
pages = "3-4",
}
@article{jzjz,
author = "Jonah Zapato and Jordan Zwicky",
title = "Further Thoughts",
journal= "Circularity Today",
year = 3002,
volume = 5,
number = 6,
pages = "7-8",
}
\end{filecontents}
\documentclass{article}
\usepackage{harvard} % 'harvard' package provides 'agsm' style
\bibliographystyle{agsmcomma}
\begin{document}
\cite{jddr}, \cite{jzjz}
\bibliography{mybib}
\end{document}