哈佛风格参考

哈佛风格参考

我是 LaTeX 新手,需要更改文章的样式。tex 文件中的设置如下:

\documentclass[12pt,a4paper]{article}
\usepackage{natbib}
\usepackage{hyperref}
\numberwithin{equation}{section}
\usepackage{natbib}
\bibliographystyle{dcu}
\begin{document}
\bibliography{final} 
\end{document}

bib文件中的一个例子:

@article{Clement1999,
author = {Clement, A. and Cane, M. A. and Seager, R},
title = {{Orbital controls on the Tropical climate}},
journal = {Paleoceanography},
year = {1999},
volume = {14},
pages = {441--456}
}

它显示了文本中的引用样式和参考文献列表:

(西蒙斯 1980)

Simmons, NM (1980). 行为。沙漠大角羊,编辑。G. Monson 和 L. Summer。亚利桑那州图森:亚利桑那大学出版社:124-44。

我需要将样式更改为:

(西蒙斯,1980)

Simmons, NM (1980). 行为。沙漠大角羊,编辑。G. Monson 和 L. Summer。亚利桑那州图森:亚利桑那大学出版社,第 124-44 页。

我尝试过以下方法来改变风格:

\bibliographystyle{dcu}已更改\bibliographystyle{agsm}为重新运行 tex 文件后,pdf 文件中的样式保持不变。重新运行 bib 文件显示以下消息:

! 缺少插入 $。

            $

               \mskip 

\,->\m跳过

       \thinmuskip 

佛罗里达州 l.440 ... 当前运输时间为 27{\$}\,

                                              ^\circ{\$}N}},

\usepackage{natbib}更改为\usepackage[comma]{natbib}。控制台输出显示消息:[comma] clash with natbib

\cite{key}更改为\citep{key}. After running the tex file, the style still remains the same (author year). 我应该怎么做才能在引用中显示名称和年份之间的逗号,并在参考文献中使用“pp.”代替冒号?

提前谢谢你的帮助。

答案1

我应该怎么做才能在引用中显示名称和年份之间的逗号?

答:natbib使用选项comma-- \usepackage[comma]{natbib}--加载该包,然后使用命令\citep引用相关部分。

第二个问题,即使用哪种书目样式才能获得您想要的格式,这个问题相当难回答。如下所示,没有任何属于的样式文件哈佛引文管理包(其中两个是dcuagsm)可以准确地提供您想要的内容。按样式文件的字母顺序列出(并跳过有些专业的nederlands样式),包的样式文件生成的格式如下:

艾格森

在此处输入图片描述

亚太经合组织

在此处输入图片描述

直流电压

在此处输入图片描述

杰姆瑞

在此处输入图片描述

物理学报

在此处输入图片描述

克鲁韦尔

在此处输入图片描述

我想说,apsr参考书目样式最接近于提供您想要的格式 - 尽管您可能必须手动输入出版商名称和字符串之间缺少的逗号pp......

有趣的是,所有这些样式都恰好在字段内容前面加上字符串“pp. ”作为前缀pages— — 至少对于类型的条目而言是这样@incollection

当然,还有很多很多有多种书目样式文件可以生成作者年份样式的引文。您当然不应该觉得只能从“harvard”软件包提供的 6 种样式文件中进行选择。


附录回应 OP 的一些后续评论:

  • 如果指令\usepackage[comma]{natbib}给出与您报告的类似错误消息,则可能是因为包已被加载(可能是由您使用的文档类加载)。事实上,您的 MWE 加载了natbib两次。如果将该选项添加comma到第二\usepackage{natbib}条指令,您肯定会收到所报告的错误消息。

    如果你不能摆脱第一个不兼容的\usepackage{natbib}语句,则执行该指令

    \setcitestyle{aysep={,}}
    

    natbib应该可以工作。有关宏的更多信息,请参阅软件包用户指南第 12 页\setcitestyle

  • 由于您的 MWE 没有\cite\nocite命令,因此该指令\bibliography{final}不会产生任何输出。您的 MWE 还缺少指令\usepackage{amsmath};没有它,前导指令\numberwithin{equation}{section}将导致错误。另外,如果您想使用hyperref,您应该加载hyperref natbib;并且,如果您希望将引文标注制作成指向相应书目条目的超链接,

  • 看起来你在佛罗里达潮流中的句子有拼写错误。我会尝试

    Florida Current transport at 27\,${}^{\circ}$N
    

    无论如何,这件事看起来与引用和参考书目生成没有直接关系,对吧?在我看来,这看起来像是一个“普通的” LaTeX 语法错误……

经过完全修改/更正的 MWE 版本会产生以下输出。(请确保在文件上运行 LaTeX、BibTeX 和 LaTeX 两次。)请注意引文标注中作者字符串和年份字符串之间的逗号。

在此处输入图片描述

\documentclass[12pt,a4paper]{article}
\usepackage{amsmath}  % this was missing in your code
\numberwithin{equation}{section}
\usepackage{natbib}   % no point in loading a package more than once...
\setcitestyle{aysep={,}} 
\bibliographystyle{dcu}
\usepackage[colorlinks=true,citecolor=blue]% %% added these two options
   {hyperref} % hyperref should be loaded _after_ natbib
\usepackage{filecontents}
\begin{filecontents*}{final.bib}
@article{Clement1999,
   author  = {Clement, A. and Cane, M. A. and Seager, R.},
   title   = {{Orbital controls on the Tropical climate}},
   journal = {Paleoceanography},
   year    = {1999},
   volume  = {14},
   pages   = {441--456}
}
\end{filecontents*}
\begin{document}
\citep{Clement1999}  %% need at least one \cite, \citet, or \citep command...
\bibliography{final} 
\end{document}

这是用于创建上面显示的第一组屏幕截图的 MWE。

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[comma]{natbib}
\usepackage{har2nat}
\bibliographystyle{agsm}
  %% or: apsr, dcu, jmr, jphysicsB, kluwer
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@incollection{simmons:1980,
   author    = "N. M. Simmons",
   title     = "Behaviour",
   pages     = "124-44",
   year      = 1980,
   booktitle = "The Desert Bighorn",
   editor    = "Gale Monson and Lowell Summer",
   publisher = "University of Arizona Press",
   address   = "Tucson, AZ",
}
\end{filecontents*}
\begin{document}\pagestyle{empty}
\citep{simmons:1980}
\bibliography{\jobname}
\end{document}

相关内容