vancouver
is a bibliography style with numeric citations, which means you won't be able to produce author-year citations with this style. (natbib
only helps with the converse problem, where you have an author-year style and you want numeric citations.)
It appears as though you're wanting vancouver
's bibliography style, but author-year citations. To do this you can follow prettygully's advice and create a custom author-year style using custombib
.
Alternatively, you can take Marco's recommendation and use biblatex
. The built-in author-title and author-year styles get you most of the way there. The code below does the rest. To handle the author name punctuation/delimiters, I've taken the solution from lockstep.
\documentclass{article}
\usepackage[american]{babel}
\usepackage[bibstyle=authortitle,citestyle=authoryear,maxcitenames=2,%
firstinits=true,terseinits=true,natbib=true]{biblatex}
\usepackage{filecontents}
\DeclareNameAlias{author}{last-first}
% ----- lockstep's solution for name delimiters/punctuation
\renewbibmacro*{name:last-first}[4]{%
\ifuseprefix
{\usebibmacro{name:delim}{#3#1}%
\usebibmacro{name:hook}{#3#1}%
\ifblank{#3}{}{%
\ifcapital
{\mkbibnameprefix{\MakeCapital{#3}}\isdot}
{\mkbibnameprefix{#3}\isdot}%
\ifpunctmark{'}{}{\bibnamedelimc}}%
\mkbibnamelast{#1}\isdot
\ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}%
% \ifblank{#2}{}{\addcomma\bibnamedelimd\mkbibnamefirst{#2}\isdot}}% DELETED
\ifblank{#2}{}{\bibnamedelimd\mkbibnamefirst{#2}\isdot}}% NEW
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
\mkbibnamelast{#1}\isdot
\ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}%
% \ifblank{#2#3}{}{\addcomma}% DELETED
\ifblank{#2}{}{\bibnamedelimd\mkbibnamefirst{#2}\isdot}%
\ifblank{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}}}
% -----
% no "and" before final name in bibliography
%\renewcommand*{\finalnamedelim}{%
% \ifbibliography% NEW
% {\addcomma\space}% NEW
% {\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
% \addspace\bibstring{and}\space}}
\DefineBibliographyStrings{american}{%
edition = {edition}}
\makeatletter
\AtEveryBibitem{%
\savefield{edition}{\bbx@edition}%
\clearfield{edition}}
\renewbibmacro*{publisher+location+date}{%
\restorefield{edition}{\bbx@edition}% NEW
% \printlist{location}% DELETED
% \iflistundef{publisher} DELETED
% {\setunit*{\addcomma\space}} DELETED
% {\setunit*{\addcolon\space}}% DELETED
\printlist{publisher}%
\setunit*{\addcomma\space}%
\printlist{location}% NEW
\setunit*{\addcomma\space}% NEW
\printfield{edition}% NEW
\setunit*{\addcomma\space}%
\usebibmacro{date}%
\newunit}
\makeatother
\begin{filecontents}{\jobname.bib}
@Book{clone,
author = {Maniatis, T. and Fritsch, E. F. and Sambrook, J.},
title = {Molecular Cloning: A Laboratory Manual},
year = {2001},
publisher = {Cold Spring Harbor Laboratory},
location = {New York},
edition = {3}}
@Book{companion,
author = {Goossens, Michel and Mittelbach, Frank and Samarin, Alexander},
title = {The LaTeX Companion},
edition = {1},
publisher = {Addison-Wesley},
location = {Reading, Mass.},
date = {1994}}
@Article{gillies,
author = {Gillies, Alexander},
title = {Herder and the Preparation of Goethe's Idea of World Literature},
journaltitle = {Publications of the English Goethe Society},
volume = {9},
date = {1933},
pages = {46--67}}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Text \citep{companion}. More text \citep{clone}. Even more text \citep{gillies}.
\printbibliography
\end{document}
Almost all the bibliographic BibTeX styles show the article title. You must have many of them already installed in you TeX distribution. Try simply to change spphys
with plain
or alpha
, vancouver
, chicago
etc. For a complete list of available styles in you hard disk, you only need search files with .bst
extension.
Help for Choosing a BibTeX Style by examples can be obtained of the Web here and there.Or you can search those that meet your requirements playing with a minimal working example (MWE):
\documentclass{article}
\begin{document}
An interesting citation
\cite{IEEEexample:article_typical}
\bibliographystyle{plain}
\bibliography{IEEEexample}
\end{document}
Best Answer
You can add the
openbib
option to the global options, for instanceAll the standard classes should honor it, but it may depend on the bibliography style you're using. More information is needed if this doesn't work.
Here's an example (the
filecontents*
environment is just to have a unique input file):