我目前正在写一篇论文,需要使用参考文献。要求是使用哈佛风格的参考文献。我有一个使用 BibTeX 的哈佛风格书目。我的参考文献列表中的输出如下:
但我想要的是:
我目前正在使用natbib
具有dcu
参考书目样式的包:
...
\usepackage{natbib}
\begin{document}
This a test \citep{catal2009investigating}.
%%%%%%
\bibliographystyle{dcu}
\bibliography{mybib}
\end{document}
我尝试过harvard
套装中的其他围兜款式,包括agsm
、、jmr
等apsr
。但不起作用。有人能帮我吗?
答案1
但经过一些调整,agsm
参考书目样式就非常接近您想要的格式了。我建议您按如下方式进行:
在你的 TeX 发行版中找到该文件
agsm.bst
。复制该文件并将副本命名为 。agsm-mod.bst
(不要直接编辑 TeX 发行版的原始文件。)在文本编辑器中打开该文件
agsm-mod.bst
。(您用来编辑 tex 文件的程序就可以了。在 中,将
agsm-mod.bst
的所有四个 [4] 实例替换为。 (请注意 之前和之后的空格。)" \harvardand\ "
" and "
and
在同一个文件中,在
article
函数中(大约从文件的第 690 行开始),找到以下行:" " * format.vol.num.pages * output
在此行中,删除子字符串
" " *
。即,该行现在应为format.vol.num.pages * output
找到该函数
format.vol.num.pages
;其代码应从第 355 行开始,长度约为 20 行。用以下代码替换整个函数:FUNCTION {format.vol.num.pages} { ", Vol.~" volume * field.or.null number empty$ 'skip$ { ", No.~" number * "" * * volume empty$ { "there's a number but no volume in " cite$ * warning$ } 'skip$ if$ } if$ pages empty$ 'skip$ { duplicate$ empty$ { pop$ format.pages } { ", pp.\ " * pages n.dashify * } if$ } if$ }
将文件保存
agsm-mod.bst
在包含主 tex 文件的目录中,或保存在 BibTeX 搜索的目录中。如果选择第二个选项,请确保适当更新 TeX 发行版的文件名数据库。在主 tex 文件中,将指令更改
\bibliographystye{<whatever>}
为\bibliographystyle{agsm-mod}
。然后,再重新运行 LaTeX、BibTeX 和 LaTeX 两次,以完全传播所有更改。
祝您 BibTeX 愉快!
完整的 MWE:
\RequirePackage{filecontents}
%% bib info from https://dl.acm.org/citation.cfm?id=1502817.1503027
\begin{filecontents}{mybib.bib}
@article{catal-diri:20097,
author = {Catal, Cagatay and Diri, Banu},
title = {Investigating the Effect of Dataset Size, Metrics Sets, and
Feature Selection Techniques on Software Fault Prediction Problem},
journal = {Information Sciences},
volume = {179},
number = {8},
year = {2009},
pages = {1040--1058},
}
\end{filecontents}
\documentclass{article}
\usepackage[authoryear]{natbib}
\bibliographystyle{agsm-mod}
\begin{document}
\nocite{*}
\bibliography{mybib}
\end{document}