我正在尝试修改参考文献,以便期刊文章显示为“volume, number”而不是volume(number)。我还需要包含 DOI 编号。有什么建议吗?
目前,一个参考如下:
Andreoni, James。1990 年。“不纯粹的利他主义和对公共物品的捐赠:一种温暖的捐赠理论”经济日报100(401):464-477。
我正在寻找:
Andreoni, James。1990 年。“不纯粹的利他主义和对公共物品的捐赠:一种温暖的捐赠理论”经济日报100,第401期:464-477。doi:10.2307/2234133。
我目前正在使用 natbib 和 apsr-quote.bst。我对 LaTex 还不太熟悉,所以任何建议我都非常感谢!
平均能量损失
\documentclass[12pt,a4paper]{article}
\usepackage {inputenc, ucs, amsmath, amsfonts, amssymb, latexsym, graphicx, natbib,ntheorem,setspace}
\bibpunct{(}{)}{;}{a}{}{;}
\usepackage[bottom]{footmisc}
\usepackage[T1,hyphens]{url}
\usepackage[hidelinks]{hyperref}
\usepackage{graphicx}
\usepackage{multirow}
\usepackage[flushleft]{threeparttable}
\usepackage{float}
\usepackage{csquotes}
\renewcommand{\mktextquote}[6]{#1#2#4#5#3#6}
\setlength{\topmargin}{-.5in}
\setlength{\textheight}{9in}
\setlength{\oddsidemargin}{.125in}
\setlength{\textwidth}{6.25in}
\newcommand*{\TitleFont}{%
\usefont{\encodingdefault}{\rmdefault}{b}{n}%
\fontsize{16}{20}%
\selectfont}
参赛作品(使用 BibDesk):
@article{andreoni1990impure,
Author = {Andreoni, James},
Journal = {The Economic Journal},
Number = {401},
Pages = {464--477},
Title = {Impure Altruism and Donations to Public Goods: A Theory of Warm-Glow Giving},
Volume = {100},
Year = {1990}}
答案1
重命名文件源文件并在新的重命名文件中进行以下更改:
1)在ENTRY
你必须添加到doi
所以它将变成:
ENTRY
{ address
author
booktitle
chapter
edition
editor
howpublished
institution
journal
key
month
note
number
organization
pages
publisher
school
series
title
type
URL
volume
year
doi %added
}
2)还添加以下代码(您可以将其直接放在后面INTEGERS { nameptr namesleft numnames }
):
FUNCTION {doilink}
{ duplicate$ empty$
{ pop$ "" }
{ doi empty$
{ skip$ }
{ "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * }
if$
}
if$
}
FUNCTION {add.doi}
{ duplicate$ empty$
{ skip$ }
{ doi empty$
{}
{"\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" *}
if$
}
if$
}
FUNCTION {format.jdoi}
{ doi missing$
{ "" }
{", doi: " doi *
}
if$
doilink
}
3)现在替换以下代码
FUNCTION {format.num}
{ number empty$
'skip$
{ "(" number * ")" * *
}
if$
}
通过以下一个:
FUNCTION {format.num}
{ number empty$
'skip$
{ ", no. " number * " " * *
}
if$
}
4)最后,替换以下代码
FUNCTION {article}
{ output.bibitem
list.label.output
list.year output.nonnull
new.block
author "author" item.check
title.field field.used =
{ skip$ }
{ format.title quote "title" output.check }
if$
crossref missing$
{ journal emphasize "journal" duplicate$ item.check
year empty$
{ ". Forthcoming" * output new.block }
{ " " * format.vol.mon.num.pages * output }
if$
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
new.block
fin.entry
}
经过
FUNCTION {article}
{ output.bibitem
list.label.output
list.year output.nonnull
new.block
author "author" item.check
title.field field.used =
{ skip$ }
{ format.title quote "title" output.check }
if$
crossref missing$
{ journal emphasize "journal" duplicate$ item.check
year empty$
{ ". Forthcoming" * output new.block }
{ " " * format.vol.mon.num.pages * output }
if$
format.jdoi * " " output %added
}
{ format.article.crossref output.nonnull
format.pages output
format.jdoi add.doi "doi: " output
}
if$
new.block
fin.entry
}
A平均能量损失:
\documentclass[12pt,a4paper]{article}
\usepackage {inputenc, ucs, amsmath, amsfonts, amssymb, latexsym, graphicx, natbib,ntheorem,setspace}
\bibpunct{(}{)}{;}{a}{}{;}
\usepackage[bottom]{footmisc}
\usepackage[T1,hyphens]{url}
\usepackage[hidelinks]{hyperref}
\usepackage{graphicx}
\usepackage{multirow}
\usepackage[flushleft]{threeparttable}
\usepackage{float}
\usepackage{csquotes}
%\renewcommand{\mktextquote}[6]{#1#2#4#5#3#6}
\renewcommand{\mktextquote}[6]{%
#1%
\iflanguage{english}{\itshape}{}% ADDED
#2#4#3#6#5%
}
\renewcommand{\mkblockquote}[4]{%
\iflanguage{english}{\itshape}{}% ADDED
#1#2#4#3%
}
\setlength{\topmargin}{-.5in}
\setlength{\textheight}{9in}
\setlength{\oddsidemargin}{.125in}
\setlength{\textwidth}{6.25in}
\newcommand*{\TitleFont}{%
\usefont{\encodingdefault}{\rmdefault}{b}{n}%
\fontsize{16}{20}%
\selectfont}
\begin{document}
\cite{andreoni1990impure}
\bibliographystyle{apsr_fsb_mod}
\bibliography{Library}
\end{document}
更新:
为了apsr.bst风格而不是3)您必须替换以下代码
FUNCTION {format.vol.num.pages}
{ volume field.or.null
number empty$
'skip$
{ "(" number * ")" * *
volume empty$
{ "there's a number but no volume in " cite$ * warning$ }
'skip$
if$
}
if$
pages empty$
'skip$
{ duplicate$ empty$
{ pop$ format.pages }
{ ":" * pages n.dashify * }
if$
}
if$
}
经过
FUNCTION {format.vol.num.pages}
{ volume field.or.null
number empty$
'skip$
{ ", no. " number * " " * * % instead of: "(" number * ")" * *
volume empty$
{ "there's a number but no volume in " cite$ * warning$ }
'skip$
if$
}
if$
pages empty$
'skip$
{ duplicate$ empty$
{ pop$ format.pages }
{ " : " * pages n.dashify * } % instead of: ":" * pages n.dashify * }
if$
}
if$
}