我正在尝试遵循期刊的参考书目风格指南国际互动。我找不到符合他们标准的标准书目样式。它类似于 APA(例如,作者块后面的括号中写年份),但他们不希望期刊名称后面有逗号,他们希望名字拼写出来,并且他们希望作者块末尾(年份前面)有一个点(“句号”)。
我尝试将参考书目样式设置为apalike
、newapa
,以及其他 50 种样式,但似乎没有一种样式既能拼写出名字,又能删除期刊名称后的逗号。我发现有一种样式(忘记了是哪一种)可以做到这一点,但会将期刊编号加粗。最接近他们想要的样式是apalike
,但它在期刊名称后有逗号,并将参考书目中的作者名字缩短为首字母。
我希望有一个简单的解决方案。我在 Mac 上使用 TeXworks,并且natbib
我的源代码在 BidDesk 中。
谢谢!
这是一个 MWEB:
\documentclass[12pt, letterpaper]{article}
\usepackage{filecontents}
\usepackage[longnamesfirst]{natbib}
\bibpunct{(}{)}{;}{a}{}{}
\begin{filecontents*}{\jobname.bib}
@article{graham2005economic,
title={The economic implications of corporate financial reporting},
author={Graham, John R and Harvey, Campbell R and Rajgopal, Shiva},
journal={Journal of Accounting and Economics},
volume={40},
number={1},
pages={3--73},
year={2005},
publisher={Elsevier}
}
\end{filecontents*}
\begin{document}
Let's cite \cite{graham2005economic}
\bibliographystyle{apalike}
\bibliography{\jobname}
\end{document}
我的文内引文标注没问题。我的书籍条目看起来没问题,只是名字应该拼写出来。文章需要拼写出名字,期刊标题后没有标点符号,作者栏后有一个句号。
他们对书籍的需求如下:
安德森,本尼迪克特。(1983)想象的共同体。修订版。伦敦:Verso。
他们想要的文章如下:
安德森,本尼迪克特。(1983) 新世界混乱。新左派评论193(6):3–13。
答案1
我建议你分两步进行。首先,使用交互式makebst
实用程序创建一个新的 bst(书目样式)文件。(打开命令窗口并键入latex makebst
以开始。)其次,需要手动对新创建的 bst 文件进行细微编辑。
在回答 提出的交互式多项选择题时makebst
,在大多数情况下选择默认答案是正确的。(这就是为什么它们是默认答案,对吧?)但在某些情况下,您需要选择非默认答案。最重要的此类情况如下:
...
...
...
...
...
...
...
假设你将新文件命名为ii-experimental.bst
。在文本编辑器中打开此文件(你用来编辑 tex 文件的程序就可以了)并找到函数format.authors
。它应该如下所示:
FUNCTION {format.authors}
{ author "author" format.names }
将代码块更改为
FUNCTION {format.authors}
{ author "author" format.names
"." *
}
即,添加一个包含 的新行"." *
。您可能已经猜到了,此附加指令用于在作者块中的最后一个名称后立即添加一个点(“句号”,“句号”)。
在您的主 tex 文件中,请确保将 的参数更改为\bibliographystyle
(ii-experimental.bst
或您选择的文件名称)。将新的 bst 文件保存在主 tex 文件所在的目录中或 BibTeX 搜索的目录中。如果您选择后者,请确保也适当更新 TeX 发行版的文件名数据库。
最后但同样重要的一点是,假设你正在使用natbib
引文管理包(带有选项longnamesfirst
),你应该(a)\citep
专门用于创建引文标注,因为所有引文标注都应该采用“括号”样式,并且(b)运行指令
\setcitestyle{aysep={}}
加载后natbib
,隐藏作者姓氏和年份之间的逗号。最后,执行完整的重新编译循环 —— latex、bibtex 和 latex 再执行两次 —— 以完全传播所有更改。
祝您 BibTeX 愉快!