无法替换 \harvardand

无法替换 \harvardand

我使用natbibbiblostyleagsm来引用参考文献。我喜欢用逗号替换参考文献列表中作者姓名之间的“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并将包提供的大多数宏“翻译”harvardnatbib等效宏。从加载切换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}

相关内容