有人有现成的哈佛风格(又称作者年份风格)引文标注模板吗?我不清楚要使用哪些软件包/命令来实现带有哈佛风格自动文内引文的“标准”参考书目。不过,我知道这natbib
是一个非常常用的软件包,用于处理引文标注的样式。
答案1
下面的代码包含您需要的一切。它还演示了如何创建两种类型的引文标注。
梅威瑟:
\documentclass[]{article}
\usepackage[round,authoryear]{natbib} % or: \setcitestyle{authoryear}
\usepackage{har2nat} % recommended for the 'agsm' bib style
\bibliographystyle{agsm}
\usepackage{filecontents}
%% create a small .bib file:
\begin{filecontents*}{mybib.bib}
@book{floud2011,
title = {The changing body: Health, nutrition, and
human development in the western world
since 1700},
author= {Floud, Roderick and Fogel, Robert W and
Harris, Bernard and Hong, Sok Chul},
year = {2011},
publisher = {Cambridge University Press},
}
\end{filecontents*}
\begin{document}
\setlength{\parindent}{0in} % optional
\setlength{\parskip}{0.14in} % optional
Use \texttt{\string\citet} to create a text-style citation call-out---e.g., \citet{floud2011}---and \texttt{\string\citep} to create a parenthetic-style citation call-out---e.g., \citep{floud2011}.
Prefixes and affixes to the citation call-outs, such as ``e.g.'' or ``pp.\ 99--100'', can be added by providing optional arguments in square brackets to the \verb+\citet+ and \verb+\citep+ instructions. E.g., \verb+\citep[see][pp.\ 99--100]{floud2011}+ produces ``\citep[see][pp.\ 99--100]{floud2011}''. Aside: using the prefix option makes little sense when using \verb+\citet+.
Add an asterisk, i.e., write \verb+\citet*+ or \verb+\citep*+, to force the names of \emph{all authors} to be displayed, e.g., ``\citet*{floud2011}'' and ``\citep*{floud2011}''. Without the asterisk, citation call-outs to entries with more than two authors will be shown in the truncated form `firstauthor et al.'---see the citation call-outs in the earlier paragraphs. If you like to use (or are required to use) a citation call-out style in which the names of all authors are shown the \emph{first time} a given entry is cited and the truncated citation call-out form is used for subsequent citation call-outs, be sure to load the natbib package with the option \verb+longnamesfirst+.
\let\oldthebibliography\thebibliography
%% \bf and \em are commands used in the 'agsm' bib style
\renewcommand\thebibliography{\let\bf\relax\oldthebibliography} % don't bold volume numbers
\renewcommand\thebibliography{\let\em\relax\oldthebibliography} % don't italicise journal and book titles
\nocite{*} % display all entries in the bib file, even if you don't cite them in the document
%\setcitestyle{numbers} % numeric-style citation call-outs -- not typically done with harvard-style bib files
\bibliography{mybib}
\end{document}
笔记:
- 我取消了
\bf
宏的定义,\renewcommand\thebibliography{\let\bf\relax\oldthebibliography}
因为我不希望音量数字以**粗体文本%% 的形式显示。如果这样做,请注释掉这一行。 - 我取消了
\em
宏的定义,\renewcommand\thebibliography{\let\em\relax\oldthebibliography}
因为许多“标准”书目样式不会将引用作品的标题斜体化。如果您确实希望将书籍和期刊的标题斜体化,请注释掉此行。 - 如果您决定要使用数字显示引文标注,请务必执行指令
\setcitestyle{numbers}
。 - 为了让首次使用者能够看到他们的 bib 文件中的所有书目条目是什么样子,我插入了命令
\nocite{*}
。但是,我警告不要在参考文献中包含未引用的作品;通常不会这样做。
其他一些可能的书目样式:
正如 @mico 在评论中指出的那样,agsm
上述代码中使用的风格有些不常见。natbib
包这里- 提供参考书目样式plainnat
、abbrvnat
和unsrtnat
,它们是“经典”参考书目样式plain
、abbrv
和的重新实现unsrt
。请注意,虽然plain
、abbrv
和unsrt
只能生成数字样式的引文标注,plainnat
但abbrvnat
和unsrtnat
可以生成数字样式、作者年份样式或上标样式的引文标注,具体取决于包是否natbib
加载了(互斥!)选项numbers
、authoryear
或super
。
此外,可能还有数百(数千?!)种其他书目样式可以生成作者年份样式的引文标注。要使用其中某些样式(例如样式),必须加载apacite
专门的引文管理包(例如包),而不是包。apacite
natbib