包括参考文献编号 Ecology Letters: bst 文件 output.bibitem 修改

包括参考文献编号 Ecology Letters: bst 文件 output.bibitem 修改

有人知道我该如何在参考文献列表中添加编号吗?生态学快报最近改变了风格,而且似乎没有正确的 bst 文件。

我有

Begon, M., Harper, J. 和 Townsend, C. (1996)。《生态学:个体、种群和群落》。第 3 版。Blackwell Science,牛津。

Ferris, C., King, RA & Gray, AJ (1997). Spartina anglica CE Hubbard 杂交起源的母系亲本的分子证据。Mol. Ecol., 6, 185-187。

但是我需要

1.

Begon, M., Harper, J. 和 Townsend, C. (1996)。《生态学:个体、种群和群落》。第 3 版。Blackwell Science,牛津。

2.

Ferris, C., King, RA & Gray, AJ (1997). Spartina anglica CE Hubbard 杂交起源的母系亲本的分子证据。Mol. Ecol., 6, 185-187。

我是否理解正确,需要修改所有功能,例如

FUNCTION {article}
{ output.bibitem
  format.authors "author" output.check
  author format.key output
  format.date "year" output.check
  date.block
  format.title "title" output.check
  new.block
  crossref missing$
    {
      journal
      "journal" bibinfo.check
      emphasize
      "journal" output.check
      format.vol.num.pages output
    }
    { format.article.crossref output.nonnull
      format.pages output
    }
  if$
  new.block
  format.note output
  fin.entry

答案1

我发现ecol_let.bst为生态快报设计的GitHub 存储库MD5哈希3ef79fc581785a9c2307ecf5276f883a)。我不知道该文件的原始来源。此书目样式旨在用于纳特比布包裹。

下列修补MyRefNumbers当布尔值设置为 true时,将编号添加到引用列表中。它使用在电子工具箱包。第一个更改在FUNCTION {output.bibitem},第二个更改在FUNCTION {begin.bib}。修补后的书目样式文件的名称为ecol_let2.bst

--- ecol_let.bst    2014-10-17 15:30:44.000129000 +0300
+++ ecol_let2.bst   2014-10-20 15:30:20.592240551 +0300
@@ -671,7 +671,7 @@
   cite$ write$
   "}" write$
   newline$
-  ""
+  "\ifbool{MyRefNumbers}{\stepcounter{MyBibCount}\theMyBibCount.\\}{}"
   before.all 'output.state :=
 }

@@ -1553,6 +1553,7 @@
     'skip$
     { preamble$ write$ newline$ }
   if$
+  "\newcounter{MyBibCount}\providebool{MyRefNumbers}" write$
   "\begin{thebibliography}{" number.label int.to.str$ * "}" *
   write$ newline$
   "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"

没有数字(ecol_let.bstMyRefNumbers设置为 false):

不带数字的输出

使用数字(ecol_let2.bstMyRefNumbers设置为 true):

用数字输出

示例文档:

\documentclass{article}
\usepackage{natbib}
\usepackage{etoolbox}
\usepackage{filecontents}
\newbool{MyRefNumbers}
\booltrue{MyRefNumbers} % comment to remove numbers in reference list
\begin{filecontents}{\jobname.bib}
@book{begon1996ecology,
  title={Ecology: Individuals, Populations and Communities},
  author={Begon, M. and Harper, J. and Townsend, C.},
  publisher={Blackwell Science},
  year={1996},
  address={Oxford},
  edition={3rd},
}
@article{ferris1997molecular,
  title={Molecular evidence for the maternal parentage in the hybrid origin of \emph{Spartina anglica} {C}.{E}. {Hubbard}},
  author={Ferris, C. and King, R. A. and Gray, A. J.},
  journal={Mol. Ecol.},
  volume={6},
  pages={185--187},
  year={1997},
}
\end{filecontents}
\bibliographystyle{ecol_let2}
\begin{document}
\citet{begon1996ecology}, \citet{ferris1997molecular}
\bibliography{\jobname}
\end{document}

相关内容