One of several authors on a paper I need to cite has only one name. How do I format the BibTeX entry?
author = {Smith, J and Jones, S and Singleton and Brown, A}
bibtex
One of several authors on a paper I need to cite has only one name. How do I format the BibTeX entry?
author = {Smith, J and Jones, S and Singleton and Brown, A}
I finally managed to create a solution using biblatex
. This package by default replaces recurring author or editor names with a dash, and the macros involved can be redefined to achieve "grouping by author":
\bibnamesep
length (which controls the spacing between different authors) to a positive value;\bibnamedash
(which is invoked to typset the "recurring" dash) to do nothing;\authoryearpunct
that a) starts a new line b) for this line, undoes the hanging indentation controlled by the \bibhang
length c) capitalizes the following string (e.g. "Editor")Annotations like "Editor" and "Translator" will be typeset at the start of the new line, which accounts for the possibility that the same person is author of one cited work and editor/translator of another.
EDIT: Your style example includes no works with editor instead of author. That said, it should be possible to put the "editor" annotation after the year (immediately before the title).
\documentclass{article}
\usepackage[style=authoryear]{biblatex}
\setlength{\bibnamesep}{\baselineskip}
\renewcommand*{\bibnamedash}{}
\newcommand*{\authoryearpunct}{\\\hspace*{-\bibhang}\bibsentence}
\renewcommand*{\labelnamepunct}{\addspace}
\makeatletter
\renewbibmacro*{date+extrayear}{%
\iffieldundef{year}
{}
% {\printtext[parens]{\printdateextra}}}% DELETED
{\printtext[brackets]{\printdateextra}}}% NEW
\renewbibmacro*{author}{%
\ifboolexpr{
test \ifuseauthor
and
not test {\ifnameundef{author}}
}
{\usebibmacro{bbx:dashcheck}
{\bibnamedash}
{\usebibmacro{bbx:savehash}%
\printnames{author}%
% \iffieldundef{authortype}% DELETED
% {\setunit{\addspace}}% DELETED
% {\setunit{\addcomma\space}}}% DELETED
\setunit{\authoryearpunct}}% NEW
\iffieldundef{authortype}
{}
{\usebibmacro{authorstrg}%
\setunit{\addspace}}}%
{\global\undef\bbx@lasthash
\usebibmacro{labeltitle}%
\setunit*{\addspace}}%
\usebibmacro{date+extrayear}}
\renewbibmacro*{bbx:editor}[1]{%
\ifboolexpr{
test \ifuseeditor
and
not test {\ifnameundef{editor}}
}
{\usebibmacro{bbx:dashcheck}
{\bibnamedash}
{\printnames{editor}%
% \setunit{\addcomma\space}% DELETED
\setunit{\authoryearpunct}% NEW
\usebibmacro{bbx:savehash}}%
\usebibmacro{#1}%
\clearname{editor}%
\setunit{\addspace}}%
{\global\undef\bbx@lasthash
\usebibmacro{labeltitle}%
\setunit*{\addspace}}%
\usebibmacro{date+extrayear}}
\renewbibmacro*{bbx:translator}[1]{%
\ifboolexpr{
test \ifusetranslator
and
not test {\ifnameundef{translator}}
}
{\usebibmacro{bbx:dashcheck}
{\bibnamedash}
{\printnames{translator}%
% \setunit{\addcomma\space}% DELETED
\setunit{\authoryearpunct}% NEW
\usebibmacro{bbx:savehash}}%
\usebibmacro{translator+othersstrg}%
\clearname{translator}%
\setunit{\addspace}}%
{\global\undef\bbx@lasthash
\usebibmacro{labeltitle}%
\setunit*{\addspace}}%
\usebibmacro{date+extrayear}}
\makeatother
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{a01,
author = {Author, A.},
year = {2001},
title = {Alpha},
}
@misc{a02,
author = {Author, A.},
year = {2002},
title = {A title that goes to great lengthts in expounding the matter at hand and therefore doesn't fit into one line},
}
@misc{b03,
editor = {Buthor, B.},
year = {2003},
title = {Bravo},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\nocite{*}
\begin{document}
\printbibliography
\end{document}
EDIT: Somehow this worked without the \makeatletter
-\makeatother
combo. Added nevertheless.
Basically a white paper is a technical report. At www.cse.msu.edu you will find this example:
@TECHREPORT{MSU-CSE-06-2,
AUTHOR = {R. Behrends and L. K. Dillon and S. D. Fleming and
R. E. K. Stirewalt},
TITLE = {White paper: Programming according to the fences and gates
model for developing assured, secure software
systems},
NUMBER = {MSU-CSE-06-2},
INSTITUTION = {Department of Computer Science, Michigan State University},
ADDRESS = {East Lansing, Michigan},
ABSTRACT = {This white paper describes extensions to our work on the
Synchronization Units Model (Szumo) to address the
access-control problem in systems assembled dynamically from
trusted and untrusted components. Our extension employs
explicitly declared design contracts, the semantics of which
are founded on Landwehr's model of fences and gates.
},
KEYWORDS = {access control, security, contracts, Szumo},
NOTE = {},
MONTH = {January},
YEAR = {2006},
AUTHOR1_URL = {http://www.poker-ping.info},
AUTHOR1_EMAIL = {kel@wondering-jons.com},
AUTHOR1_URL = {},
AUTHOR1_EMAIL = {behrends@cse.msu.edu},
AUTHOR2_URL = {Sle},
AUTHOR2_EMAIL = {Poker Ping},
AUTHOR2_URL = {http://www.cse.msu.edu/~stire},
AUTHOR2_EMAIL = {stire@cse.msu.edu},
PAGES = {3},
FILE = {/user/web/htdocs/publications/tech/TR/MSU-CSE-06-2.ps},
URL = {},
CONTACT = {stire@cse.msu.edu}
}
Best Answer
What if you use just
author = {Smith, J and Jones, S and {Singleton} and Brown, A}
? That works for me without problems withnatbib
, and a custom style based onabbrvnat
.