The cause of the problem is a faulty instruction in the bst file. Make a copy of fom.bst
and edit the copy as follows:
in the function format.names.author
, find the string
"{vv}{ll, }{f.}"
and replace it with
"{vv~}{ll}{, f.}"
That way, a comma will be inserted after the last-name component only if the author's name contains a first-name component as well.
Note that, in addition to moving the location of the comma to the first-name component of the (full) name, I also recommend making the space between the von and last-name components non-breakable.
Repeat this edit for the second occurrence of the string "{vv}{ll, }{f.}"
in the function format.names.author
and for the two occurrences of this string in the function format.name.editors
.
Save the modified bst file, update you TeX distribution's filename database if the new bst file isn't placed in the same directory as your main .tex file, and recompile your document from scratch.
Addendum: I can't help but voice my surprise and dismay over the fact that the fom
bibliography style doesn't provide a mechanism for dealing with authors' "junior" name components (which can be Sr
., Jr.
, III
, the Elder
, the Younger
, and so on). You may luck out, in the sense that your bibliographic entries don't contain authors whose names contain such "junior" components. Nevertheless, it seems to be quite unsatisfactory for a bibliography style not to provide such a mechanism at all.
The apa.bst
bibliography style file was last modified in 1992 -- 25 [!] years ago. As such, it's not programmed to do anything at all with fields called url
and doi
. As it looks like you're interested in formatting the bibliography according to APA guidelines -- the current ones, presumably, not the ones from 1992 -- I suggest you use the apacite
bibliography style and load the apacite
citation management package. Load the package with the option natbibapa
to enable natbib-like citation commands such as \citet
and \citep
.
You should also load the url
package, and you should not, under any circumstance, "escape" underscore characters in URL strings unless you want to make the URLs unusable for your readers. Oh, and don't load the times
package -- it's totally deprecated. If you need to typeset your document using Times Roman as the main text font, I suggest you load the packages newtxtext
and newtxmath
.
One more comment about the bib entries, which -- I take it -- were produced by Mendeley: Do check them for errors. For instance, month = {jan},
is an outright error; it should be month = jan,
.
\RequirePackage{filecontents}
\begin{filecontents}{library.bib}
@article{Cebenoyan2004,
author = {Cebenoyan, A. Sinan and Strahan, Philip E.},
doi = {10.1016/S0378-4266(02)00391-6},
file = {:C$\backslash$:/Users/Ahmed Arif/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/Cebenoyan, Strahan - 2004 - Risk management, capital structure and lending at banks.pdf:pdf},
issn = {03784266},
journal = {Journal of Banking \& Finance},
keywords = {7 december 2001,at the x international,bank risk management,banking and finance held,in rome on 5,loan sales,this paper was presented,tor vergata conference on},
month = jan,
number = {1},
pages = {19--43},
title = {Risk management, capital structure and lending at banks},
url = {http://linkinghub.elsevier.com/retrieve/pii/S0378426602003916},
volume = {28},
year = {2004}
}
@unpublished{Schwarcz2008,
address = {Durham},
author = {Schwarcz, Steven L.},
file = {:C$\backslash$:/Users/Ahmed Arif/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/Schwarcz - 2008 - Systemic Risk.pdf:pdf},
institution = {Duke Law School},
pages = {193--249},
series = {Research Paper Series},
title = {Systemic Risk},
url = {http://papers.ssrn.com/sol3/papers.cfm?abstract_id=1008326},
year = {2008}
}
\end{filecontents}
\documentclass[12pt,twoside,openany]{book}
\usepackage{authblk}
\usepackage{titlesec}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{newtxtext,newtxmath} % 'times' is deprecated
\usepackage[english]{babel}
\usepackage{url}
\usepackage[natbibapa]{apacite}
\bibliographystyle{apacite}
\begin{document}
\dots\ \citep{Schwarcz2008} \dots\ \citet{Cebenoyan2004} \dots
\bibliography{library}
\end{document}
Best Answer
With package
biblatex
, you can cite online entries (@online
) without anything to care about. All entry fields support anurl
field as well.Remember, you can even refer to a very specific moment by appending the time to the youtube link.
* links hidden for the screenshot