I'd like to reference BibTeX sources with full name and year, e. g. [Adams1979]. Is there an easy way to to this?
[Tex/LaTex] Full name and year as BibTeX key
bibliographiesnatbib
Related Solutions
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}
As it turned out, in this particular instance it worked well enough for me to modify the BibTeX source itself:
@misc{bob2000,
title={An exposition on the tastiness of apples},
author={{Bob T. Smith}}
}
Note the double brackets {{
and }}
in the entry, which cause display of the full author string, rather than some formatting thereof.
Best Answer
Take a look at the
natbib
orbiblatex
packages. Either should be able to do what you want.Edit: Take a look at
\setcitestyle
fornatbib
.Edit 2: Here's a complete example:
And the
.bib
: