# Change connector from "and" to "," in 'author' field, IEEEtranN bibliography style

I'm using Natbib and I'm trying to make the authors in my bibliography appear like

Bryan Sullivan, Vincent Liu


but at the moment they appears like

Bryan Sullivan and Vincent Liu


I have tried using

\renewcommand{\multinamedelim}{\addsemicolon\space}


but it's not working, it says that \multinamedelim doesn't exist.

@book {
WebApplicationSecurity,
author = {{Bryan Sullivan} and {Vincent Liu}},
title = {Web Application Security, a Beginner's Guide},
publisher = {McGraw Hill},
year = {2011}
}


I have also tried changing the "and" in this code to a comma, but then the second author disappears completely.

I'm compiling with XeLaTeX. Any help would be appreciated

• Formatting issues of the type you set out in your posting are governed not by natbib, which is for the most part a citation management system, but by the bibliography style that's being employed. Please do tell us which bibliography style you employ.
– Mico
Aug 28, 2019 at 14:33
• Here it is: \bibliographystyle{IEEEtranN} Aug 28, 2019 at 14:42

OK, I'm new to this (~1yr new to LaTeX, even newer bst) so please be kind, but I think I've got it:

Modify IEEEtranN.bst such that FUNCTION {format.names} reads:

FUNCTION {format.names}
{ 'bibinfo :=
duplicate$empty$ 'skip${ this.to.prev.status this.status.std 's := "" 't := #1 'nameptr := s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
name.format.string
format.name$bibinfo bibinfo.check 't := nameptr #1 > { nameptr num.names.shown.with.forced.et.al #1 + = numnames max.num.names.before.forced.et.al > is.forced.et.al and and { "others" 't := #1 'namesleft := } { skip$ }
if$namesleft #1 > { ", " * t do.name.latex.cmd * } { s nameptr "{ll}" format.name$ duplicate$"others" = { 't := } { pop$ }
if$t "others" = { " " * bbl.etal emphasize * } { numnames #2 > { "," * } { "," * } %%%%%%%%%%%%% added this line %{ skip$ } %%%%%%%%%%%%% commented out this line
if$%bbl.and %%%%%%%%%%%%% commented out this line space.word * t do.name.latex.cmd * } if$
}
if$} { t do.name.latex.cmd } if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$cap.status.std } if$
}


This should change the name formatting, as shown below, for all types. Hope that helps!

Edit: if you want the in text reference formatting to change as well as the bibliography formatting, follow the answer by @Mico : https://tex.stackexchange.com/a/506121/169285 (with a word of caution - it will also change 'format.lab.names' and I'm not entirely sure what this does).

Edit 2: MWE:

\documentclass{article}
\usepackage{natbib}

\begin{document}

Stuff happened \cite{WebApplicationSecurity}.

\newpage
\bibliographystyle{IEEEtranN}
\bibliography{mybib.bib}

\end{document}

• Thanks for the solution, but I'm kind of in a hurry, so I don't really have time to test this now that I found a quicker (but probably worse) way to do it, which is just to code the author like author = {{Bryan Sullivan, Vincent Liu}}, Aug 28, 2019 at 16:16
• @DavidAntelo - Rather than write author = {{Bryan Sullivan, Vincent Liu}}, it's much better to write author = {Bryan Sullivan and Vincent Liu}. That way, if you ever need to change bibliography styles, you don't have to do a lot of hand editing of the author fields of your bib entries. Please see the answer I just posted for a completely different -- and, I dare say, better -- approach to formatting the author field.
– Mico
Aug 28, 2019 at 17:07
• It's not good advice to "[m]odify IEEEtranN.bst such that..." Original files of the TeX distribution should never be edited directly, if for no other reason than guarding against the chance that the file will get updated at some point in the future by the system, overwriting the changes you made. It's much better practice to start by making a copy of the bst file, renaming the copy, and making the required edits in the oopy only.
– Mico
Aug 28, 2019 at 17:10
• This answer looks interesting - but maybe it can be improved by including a screenshot of the result and/or a Minimal Working Example with Bibliography (MWEB) to make the answer easier to reproduce (for the asker but also for people that might find this answer at some point in the future). Aug 28, 2019 at 17:26
• I like @Mico's answer but it is doing things in a different way - it changes the definition of 'and', which means that it would change the in text reference as well as the bibliography formatting. 'and' is also used in the definition of 'format.lab.names', which I'll be honest - I don't know what this does. Aug 28, 2019 at 17:56