参考文献格式:期刊文章

参考文献格式:期刊文章

我正在尝试修改参考文献,以便期刊文章显示为“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$
}

相关内容