I have a great big .bib file for my thesis and some entries have full first names and some only have initials. For consistency, I want initials everywhere. Rather than edit these entries, I want to tell BibTeX to just use first initials. Thanks to this page, I realized this isn’t too bad.
I copied plain.bst (on a Mac with LaTeX installed using Fink, it ends up as /sw/share/texmf-dist/bibtex/bst/base/plain.bst) to custom.bst. Then, I found the line containing ‘format.name’ and changed ‘ff’ to ‘f.’, like this:
Before:
{ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
After:
{ s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
And of course you must change / add the following before the \bibliography{} entry:
\bibliographystyle{custom}