Bibliography
Really? Really? An entire page on formatting
bibliography entries?
Perhaps no other part of the paper is more boring — and OCD
— than sanity checking the bibliography. But, as with your
code, your analyses, your results, and your paper, the details matter.
Think of it another way: when you read a paper that cites your
work, wouldn't you want the citation to be accurate and well done
(giving, perhaps, the impression that the authors might have actually
read your paper)?
Unfortunately, there are no short cuts to polishing your
bibliography. As a general rule, you cannot just copy and paste from
the Web and assume it is correct, even if it is from the ACM Digital
Library (much less CiteSeer). Although a good place to start, in all
likelihood you will have to manually edit every bib entry you
find (sorry).
In a nutshell, here is the noble task that lies before you. For a
typical conference citation, the ACM DL provides:
author = {Diwaker Gupta and Sangmin Lee and Michael Vrable and Stefan Savage and Alex C. Snoeren and George Varghese and Geoffrey M. Voelker and Amin Vahdat},
title = {Difference engine: harnessing memory redundancy in virtual machines},
booktitle = {Proceedings of the 8th USENIX conference on Operating systems design and implementation},
series = {OSDI'08},
year = {2008},
location = {San Diego, California},
pages = {309--322},
numpages = {14},
url = {http://portal.acm.org/citation.cfm?id=1855741.1855763},
acmid = {1855763},
publisher = {USENIX Association},
address = {Berkeley, CA, USA},
|
[8] Diwaker Gupta, Sangmin Lee, Michael Vrable, Stefan Savage, Alex
C. Snoeren, Amin Vahdat, George Varghese, and Geoffrey M. Voelker.
Difference engine: harnessing memory redundancy in virtual
machines. In Proceedings of the 8th USENIX conference on Operating
systems design and implementation, OSDI'08, pages 309–322,
Berkeley, CA, USA, 2008. USENIX Association.
|
and your goal is to modify it to look something like this:
author = {Diwaker Gupta and Sangmin Lee and Michael Vrable and Stefan Savage and Alex C. Snoeren and George Varghese and Geoffrey M. Voelker and Amin Vahdat},
title = "{Difference Engine: Harnessing Memory Redundancy in Virtual Machines}",
booktitle = {Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation (OSDI)},
month = {December},
year = {2008},
pages = {309--322},
address = {San Diego, CA, USA},
|
[8] Diwaker Gupta, Sangmin Lee, Michael Vrable, Stefan Savage, Alex
C. Snoeren, Amin Vahdat, George Varghese, and Geoffrey M. Voelker.
Difference Engine: Harnessing Memory Redundancy in Virtual
Machines. In Proceedings of the 8th USENIX Conference on Operating
Systems Design and Implementation (OSDI), pages 309–322,
San Diego, CA, USA, December 2008.
|
Or, in condensed form:
author = {Diwaker Gupta and Sangmin Lee and Michael Vrable and Stefan Savage and Alex C. Snoeren and George Varghese and Geoffrey M. Voelker and Amin Vahdat},
title = "{Difference Engine: Harnessing Memory Redundancy in Virtual Machines}",
booktitle = {Proc. of 8th USENIX OSDI},
month = {Dec.},
year = {2008},
|
[8] D. Gupta, S. Lee, M. Vrable, S. Savage, A. C. Snoeren, A. Vahdat,
G. Varghese, and G. M. Voelker. Difference Engine: Harnessing Memory
Redundancy in Virtual Machines. In Proc. of 8th USENIX OSDI,
Dec. 2008.
|
Following this pattern will take care of most of the conference
and workshop bibliography entries. For additional problematic corner
cases (again, often arising from copy and paste from the Web), here is
a systematic checklist that you can use for simultaneously polishing
your bibliography and satisfying that OCD streak hidden deep inside
you:
Here are detailed examples for each of these situations to guide you
towards achieving a bibliography in perfect harmony.
- Above all, be consistent. For whatever
conventions you decide to use for formatting the bibliography entries
— even if you reject the ones on this page —
at least be consistent with your conventions.
Author Names. If you use a bibliography style like plain that uses full
names, avoid mixing full names and shortened names:
author = "Diwaker Gupta and Sangmin Lee and Michael Vrable and Stefan Savage and Alex C. Snoeren and Amin Vahdat and George Varghese and Geoffrey M. Voelker",
...
author = "C. Kanich and C. Kreibich and K. Levchenko and B.
Enright and V. Paxson and G. M. Voelker and S. Savage",
|
[8] Diwaker Gupta, Sangmin Lee, Michael Vrable, Stefan Savage, Alex
C. Snoeren, Amin Vahdat, George Varghese, and Geoffrey M. Voelker.
...
[9] C. Kanich, C. Kreibich, K. Levchenko, B.
Enright, V. Paxson, G. M. Voelker, and S. Savage.
|
Instead, use full author names (or only shortened names) consistently
throughout:
author = "Diwaker Gupta and Sangmin Lee and Michael Vrable and Stefan Savage and Alex C. Snoeren and Amin Vahdat and George Varghese and Geoffrey M. Voelker",
...
author = "Chris Kanich and Christian Kreibich and Kirill Levchenko and Brandon
Enright and Vern Paxson and Geoffrey M. Voelker and Stefan Savage",
|
[8] Diwaker Gupta, Sangmin Lee, Michael Vrable, Stefan Savage, Alex
C. Snoeren, Amin Vahdat, George Varghese, and Geoffrey M. Voelker.
...
[9] Chris Kanich, Christian Kreibich, Kirill Levchenko, Brandon
Enright, Vern Paxson, Geoffrey M. Voelker, and Stefan Savage.
|
If you shorten the names of proceedings:
booktitle = "Proceedings of the 8th ACM/USENIX Symposium on
Operating System Design and Implementation (OSDI)",
...
booktitle = "Proc. of 15th ACM CCS",
|
In Proceedings of the 8th ACM/USENIX Symposium on
Operating System Design and Implementation (OSDI)
...
In Proc. of 15th ACM CCS
|
shorten them uniformly throughout:
booktitle = "Proc. of 8th USENIX OSDI",
...
booktitle = "Proc. of 15th ACM CCS",
|
In Proc. of 8th USENIX OSDI
...
In Proc. of 15th ACM CCS
|
- Go to the source. Do not trust the bib
entry in a paper you read, or a bibliography service (ACM DL,
Citeseer, etc.). Find the pdf for the paper online and look at it
— which of course you've already done because you read through
the paper you are citing....right?
- Title capitalization. Look at the paper
and make the bib entry match the title capitalization of the actual
paper itself, not what an archive thinks it should be. To ensure that
BibTeX obeys your capitalization, use "{...}" instead of "..." or {...}.
or {{...}}.
title = "Difference Engine: Harnessing Memory Redundancy in Virtual Machines",
|
Difference engine: harnessing memory redundancy in virtual machines
|
title = "{Difference Engine: Harnessing Memory Redundancy in Virtual Machines}",
|
Difference Engine: Harnessing Memory Redundancy in Virtual Machines
|
- Event name and
capitalization. Sanity check capitalization.
booktitle = {Proceedings of the 8th USENIX conference on Operating systems design and implementation},
|
In Proceedings of the 8th USENIX conference on Operating systems design and implementation
|
booktitle = {Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation},
|
In Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation
|
- No "In" in booktitle.
Remove redundant "In" in booktitles.
booktitle = {In Proceedings of the 8th ACM/USENIX Symposium on
Operating System Design and Implementation (OSDI)},
|
In In Proceedings of the 8th ACM/USENIX Symposium on
Operating System Design and Implementation (OSDI) |
booktitle = {Proceedings of the 8th ACM/USENIX Symposium on
Operating System Design and Implementation (OSDI)},
|
In Proceedings of the 8th ACM/USENIX Symposium on
Operating System Design and Implementation (OSDI) |
- Addresses. Include the
address of the event only if space permits. (But be careful that it
is not the address of the publisher, below).
address = {San Diego, CA},
year = 2008,
|
San Diego, CA, 2008 |
- Publisher and publisher
addresses. For
conference papers, elide both publisher and publisher address.
Bib entries copied from the ACM DL will often include them, putting
the address of ACM — New York, NY, USA — in place of the
address of the event. Technically, the publisher address is correct
for this field, but the widespread convention is to use the address of
the event if you use any address at all.
publisher = {ACM},
address = {New York, NY, USA},
year = 2008,
|
New York, NY, USA, 2008. ACM. |
address = {San Diego, CA},
year = 2008,
|
San Diego, CA, 2008. |
- Accents in author
names. Also frequently the victim of copy and paste, ensure
that accents in author names properly use the LaTeX accent macros.
author = "Gjergji Zyba and Geoffrey M. Voelker and Michael Liljenstam and Andras Mehes and Per Johansson",
|
[27] Gjergji Zyba, Geoffrey M. Voelker, Michael Liljenstam, Andras Mehes, and Per Johansson.
|
author = "Gjergji Zyba and Geoffrey M. Voelker and Michael Liljenstam and Andr{\'a}s M{\'e}hes and Per Johansson",
|
[27] Gjergji Zyba, Geoffrey M. Voelker, Michael Liljenstam, András Méhes, and Per Johansson.
|
- Proper names in
author. Prevent proper names of companies and organizations,
particularly with acronyms, from having their names abbreviated.
author = "M86 Security Labs",
|
M. S. Labs
|
author = "{M86 Security Labs}",
|
M86 Security Labs
|
- Sorting. Ensure that
your entries have sufficient fields for sorting properly. @misc
entries are the most common offenders. Be sure to have either an
author field:
author = "Google",
title = "{Results labeled ``This site may be hacked''}",
howpublished = "\url{http://support.google.com/websearch/answer/ 190597}",
|
Google.
Results labeled "This site may be hacked".
http://support.google.com/websearch/answer/190597
|
or a key field:
key = "Google",
title = "{Google Search Engine Optimization Starter Guide}",
howpublished = "\url{http://www.google.com/webmasters/docs/search-engine-optimization-starter-guide.pdf}",
|
Google Search Engine Optimization Starter Guide
http://www.google.com/webmasters/docs/search-engine-optimization-starter-guide.pdf
|
- URLs. Use package
"url" and the macro "\url" for URLs. Also, check that the URLs are
still valid (e.g., they can change between submission and camera
ready).
author = "{M86 Security Labs}",
title = "{Top Spam Affiliate Programs}",
howpublished = "http://www.m86security.com/labs/traceitem.asp?article=1070",
year= 2009,
|
M86 Security Labs.
Top Spam Affiliate Programs.
http://www.m86security.com/labs/traceitem.asp?article=1070,
2009.
|
author = "{M86 Security Labs}",
title = "{Top Spam Affiliate Programs}",
howpublished= "\url{http://www.m86security.com/labs/ traceitem.asp?article=1070}",
year= 2009,
|
M86 Security Labs.
Top Spam Affiliate Programs.
http://www.m86security.com/labs/traceitem.asp?article=1070,
2009.
|
- Month. If you include
the month, make sure it is the correct month. Check string macros and
capitalization.
month = {sep.}, year = 2009, |
sep. 2009 |
month = {September}, year = 2009, |
September 2009 |
- Special characters.
If a title uses special characters, check the original document title
for correctness and make sure the special characters format properly.
As an extreme example, here is a title that even
the publisher
has listed incorrectly (characters in wrong order, "Behind" not
properly capitalized).
title = "{Spam Kings: The Real Story behind the High-Rolling Hucksters Pushing Porn, Pills, and \%*@)\# Enlargements}"
|
Spam Kings: The Real Story behind the High-Rolling Hucksters Pushing Porn, Pills, and %*@)# Enlargements
|
title = "{Spam Kings: The Real Story Behind the High-Rolling Hucksters Pushing Porn, Pills and @*\#?\% Enlargements}"
|
Spam Kings: The Real Story Behind the High-Rolling Hucksters Pushing Porn, Pills and @*\#?\% Enlargements
|