# Customize plainnat.bst to make references to show in certain format

I use Bibtex and plainnat coupled with Natbib and I would like to have some customizations to plainnat. My test Example is given below:

\documentclass{article}
\usepackage[numbers]{natbib}

\begin{document}
Hello, Latex!

\bibliographystyle{plainnat}
\nocite{*}
\bibliography{test}


And the Bibliography file test.bib is

@Book{hastie2009elements,
Title     = {The elements of statistical learning (second edition)},
Author    = {Hastie, Trevor and Tibshirani, Robert and Friedman, Jerome},
Publisher = {Springer},
Year      = {2009}
}
@Article{beck2009fast,
Title     = {A fast iterative shrinkage-thresholding algorithm for linear inverse problems},
Author    = {Beck, Amir and Teboulle, Marc},
Journal   = {SIAM Journal on Imaging Sciences},
Number    = {1},
Pages     = {183--202},
Volume    = {2},
Year      = {2009},
Publisher = {SIAM}
}
@Article{becker2011nesta,
Title     = {NESTA: A fast and accurate first-order method for sparse recovery},
Author    = {Becker, Stephen and Bobin, J{\'e}r{\^o}me and Cand{\e}s, Emmanuel J},
Journal   = {SIAM Journal on Imaging Sciences},
Number    = {1},
Pages     = {1--39},
Volume    = {4},
Year      = {2011},
Publisher = {SIAM}
}
@Article{EfronB2004,
Title     = {Least angle regression},
Author    = {Efron, Bradley and Hastie, Trevor and Johnstone, Iain and Tibshirani, Robert},
Journal   = {The Annals of Statistics},
Number    = {2},
Pages     = {407--499},
Volume    = {32},
Year      = {2004},
Publisher = {Institute of Mathematical Statistics}
}


What I want to change are:

(1) Display author's name as: Surname, First Initial of Firstname

(2) No "and" before the last author just a "," like for the rest of the authors

(3) Remove period(.) in the end of each reference

(5) For article entry, change "volume(number):pages" to "volume:pages"

For example, ref [1] is from

[1] Amir Beck and Marc Teboulle. A fast iterative shrinkage-thresholding algorithm for linear inverse problems. SIAM Journal on Imaging Sciences, 2(1): 183–202, 2009.


to

[1] Beck A, Teboulle M. A fast iterative shrinkage-thresholding algorithm for linear inverse problems. SIAM Journal on Imaging Sciences, 2: 183–202, 2009


We noticed that (1) and (2) had been solved by Mico and Zeping Lee, respectively. How about (3)-(5)?

• It’s entirely possible to achieve goals 3 and 4 by editing the file plainnat.bst. However, you’d be better off learning how to use the makebst` utility to create a bespoke bst file from scratch – Mico Mar 30 at 7:21
• Tks! @Mico I follow your suggestions and directly modify the splncs04nat.dbj file from tpavlic to achieve my aim. – John Stone Apr 18 at 0:28