As @AlanMunn has already pointed out in a comment, the presence of a comma between an author's formatted surname and the initials of his/her given name(s) is not an error. Instead, it is actually a fairly common stylistic choice for displaying authors' names.
The preamble of the file acm.bst
contains the following information:
% ACM Transactions bibliography style (8-Dec-10 version)
% A lot like abbrv.bst, but names come out "Last, initials", and in \sc.
% Some dates are parenthesized.
Note that the comma feature and the fact that names are typeset in small-caps are mentioned explicitly.
Have you tried using the unsrt
bib style yet? Aside: If you employ the natbib
citation management package, you may want to use unsrtnat
instead of unsrt
. It's a reimplementation of the much older unsrt
bib style, but with the ability to (a) process fields such as url
, issn
, and isbn
and (b) produce authoryear-style citation callouts as well as the basic numeric-style call-outs.
Assuming that you wish to continue using the acm
bibliography style and simply desire to have no commas between surnames and initials, I suggest you proceed as follows.
Find a copy of the file acm.bst
in your TeX distribution.
Make a copy of this file and name the copy, say, acm-nocommas.bst
. Do not edit an original file of the TeX distribution directly.
Open the file acm-nocommas.bst
in a text editor. The editor you use to edit your tex files will do fine.
In this file, locate the function called format.names
. (In my copy of this file, the function starts of line 190.)
In this function, locate the line
{ s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't :=
In case you're curious: vv
, ll
, and jj
refer to the (unabbreviated) von, lastname (or surname), and junior components of a person's full name, while f.
refers to the abbreviated given (or first) name component.
Change this line to
{ s nameptr "{vv~}{ll}{ f.}{, jj}" format.name$ 't :=
Observe that two changes have been applied: (i) there's no longer a comma immediately before f.
and (ii) the "junior component" is now placed last, still offset with a comma from the rest of the name. I think it's essential to set off any "junior component" in this manner.
Save the file acm-mod.bst
either in the directory where your main tex file is located or in a directory that's searched by BibTeX. If you choose the latter option, be sure to update the filename database of your text distribution suitably.
In your main tex file, change the instruction \bibliographystyle{acm}
to \bibliographystyle{acm-mod}
. Next, perform a full recompile cycle: LaTeX, BibTeX, and LaTeX twice more.
Happy BibTeXing!
A full MWE and its output:

\RequirePackage{filecontents}
\begin{filecontents}{mybib.bib}
@book{latexcompanion,
author = "Michel Goossens and Frank Mittelbach and Alexander Samarin",
title = "The \LaTeX{} Companion",
year = 1993,
publisher = "Addison-Wesley",
address = "Reading, Massachusetts",
}
@article{lucas-rapping:1969,
author = "Lucas, Jr., Robert E. and Leonard A. Rapping",
title = "Real Wages, Employment, and Inflation",
journal = "Journal of Political Economy",
year = 1969,
volume = 77,
number = 5,
pages = "721--754",
}
\end{filecontents}
\documentclass{article}
\bibliographystyle{acm-mod}
\begin{document}
\cite{latexcompanion}, \cite{lucas-rapping:1969}
\bibliography{mybib}
\end{document}
biblatex
? – Bernard Nov 14 '18 at 0:05and
in between two person's names would automatically become a comma. You would probably be fine after taking care of those. – zyy Nov 14 '18 at 0:22.bib
entries, either order in the.bib
file will be fine. The issue is with the.bst
file. The comma is not an error, it is simply a common way to format names. So the OP needs to find a style that suits them. – Alan Munn Nov 14 '18 at 2:55acm
bibliography style at present. – Mico Nov 14 '18 at 8:14