0% found this document useful (0 votes)
81 views8 pages

A Bibtex Guide Via Examples: Ki-Joo Kim April 4, 2003

This document provides instructions for customizing citation and bibliography styles in LaTeX documents using BibTeX. It describes how to modify citation styles in the body text using the natbib package and its options. It also explains how to create a custom .bst file using the makebst utility to control formatting of the bibliography based on a given style example. Key aspects covered include modifying punctuation, ordering, and name formatting in both citations and the bibliography.

Uploaded by

g
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
81 views8 pages

A Bibtex Guide Via Examples: Ki-Joo Kim April 4, 2003

This document provides instructions for customizing citation and bibliography styles in LaTeX documents using BibTeX. It describes how to modify citation styles in the body text using the natbib package and its options. It also explains how to create a custom .bst file using the makebst utility to control formatting of the bibliography based on a given style example. Key aspects covered include modifying punctuation, ordering, and name formatting in both citations and the bibliography.

Uploaded by

g
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

A BibTEX Guide via Examples

Ki-Joo Kim∗

Version 0.1
April 4, 2003

Abstract

This document describes how to (i) modify citation styles in your body text, (ii) make your
own bibliography style (.bst) file, and (iii) modify the bibliography style file.

Contents
1 Introduction 1

2 Example 2

3 Citation Styles 3

4 Making a .bst File 4

5 Modifying Bibliography Style Files 5

6 Useful Tips 6

7 Closing Remark 8

1 Introduction
This short document describes how to change/modify citation and bibliography styles for your LATEX
documents. As you already know, there are basically two methods for adding bibliography at the
end of your LATEX documents. The first method is to use thebibliography environment. Reference
entries are added using \bibitem{key} and are called via \cite{key} in the body text. You can
change the style of references by formatting the bibitem entry. This is a convenient way to handle
bibliography. However, there are big problems: you have to format each reference item and have
∗ kim dot ki-joo at epa dot gov
2. Example 2

to reformat it when you are required to change bibliography style. Thus this method is good for
small LATEX documents.
The second method is to use BibTEX. In this case you need two files: bibliography style (format)
file (.bst file) and bibliography database file (.bib file). In your text, you can add the following
two lines for bibliography:

\bibliographystyle{unsrt} % Bibliography style file, unsrt.bst


\bibliography{moea} % Bibliography database file, moea.bib

The .bib file is formatted by the predefined rules in the .bst file, resulting in .bbl file which is
referenced by your LATEX source file.
Once you have a correct .bst file, this method is good for long LATEX documents such as journal
papers, reports, books, and your dissertation. You can find lots of bibliography style files in the
\bibtex\bst directory in your \texmf tree. If you are lucky, book publishing companies and your
universities may provide the bibliography style files. You can also see examples of many .bst files
on the web (http://www.cs.stir.ac.uk/˜kjt/software/latex/showbst.html).
Now the problem is how to crteate/modify a .bst file if you cannot find a right one and are
strictly required to follow the citation and reference styles by the book publishing companies. For
example:

• How can we change [1] in the body citation to (1), (Kim, 2000), Kim (2000), 1 , or whatever you
or the journal publisher want? ⇒ Citation style.
• How can we change [1,2,3,4,12,14,13,7] in the body citation to [1-4,7,12-14] ? ⇒ Citation style.
• How can we change [1] in the bibliography list to none, 1., 1), or whatever you or the journal
publisher want? ⇒ Bibliography style.
• How can we change “Kim, A.B., Lee, C.D., and Park, E.F.” to “AB Kim, CD Lee, EF Park”,
“AB Kim, CD Lee, and EF Park” (w/ and), “KIM, A.B., LEE, C.D., and PARK, E.F.”, “Kim, Ava
Bell, Lee, Cleo Dave, and Park, Elvis Frank”, or whatever you are required? ⇒ Bibliography
style.
• How can we change journal title styles (italic or normal?), volume (bold, presence of vol.,
style of vol., ...), number, page, and other styles (such as location of the publisher name and
its address)? ⇒ Bibliography style.

The main focus of this article is how to change citation and bibliography styles in BibTEX.
Section 2 shows one example of citation and bibliography styles required. Section 3 describes how
to change citation styles in the body text while Section 4 and 5 present how to create and modify
bibliography style files to meet the given bibliography styles. Finally Section 6 provides some useful
tips about citation and bibliography styles. Enjoy !

2 Example
Suppose that you are submitting your journal paper and the company requires the following citation
and reference styles:
3. Citation Styles 3

• Citation style: Cite references in text by number in parentheses, in order of appearance (e.g.,
The algorithms in literature (1-3,5,22)).
• Bibliography style: Do not use boldface, italics, or underscoring. List all known coauthors.
For more specific styles, see the following examples.

1. AW Warner, DL White, WA Bonner. Real-time Fourier transformation via acousto-optics.


J Appl Phys 43:4489-4493, 1972. (for journal papers)
2. D Dzombak. Elements of Power Systems Analysis. 3rd ed. New York: McGraw-Hill,
1975, pp. 125-134. (for books)
3. KJ Kim, UM Diwekar, Solvent selection under uncertainty. In: GV Recklitis, ed. Clean
Solvents Design. New York: Marcel Dekker, 2002, pp.169-174. (for book chapters)
4. S Sorensen, S Skogestad, Multivessel columns. Proceedings of Advances in Batch Distil-
lation, Pittsburgh, 2002, pp. 270-282. (for meetings)

Some difficult parts of this style are:


• Pure first name initial (no periods) + Last name (e.g., KJ Kim),
• Periods after the author field and journal, book, book chapter, and meeting titles. Commas
elsewhere,
• Year after page numbers in journals while year before page numbers in books, book chapters,
and meetings (if any), and
• ‘In: ’ in book chapters but no ‘In: ’ in meetings.
In this case citation styles are quite easy and are described in the next section.

3 Citation Styles
The natbib package has been strongly recommended for reference citation. This package, devel-
oped by Patrick W. Daly1 , provides high degree of freedom for citation style change. The following
examples are taken from his natbib.dvi file.
In the author-year citation mode with an author-year .bst file,
\citet{jon90} =⇒ Jones et al. (1990)
\citet[Chap. 2]{jon90} =⇒ Jones et al. (1990, Chap. 2)
\citep{jon90} =⇒ (Jones et al., 1990)
\citep{jon90,jam91} =⇒ (Jones et al., 1990; James et al., 1991)
\citet*{jon90} =⇒ Jones, Baker, and Williams (1990)
\citep*{jon90} =⇒ (Jones, Baker, and Williams, 1990)
In the number citation mode with an author-year .bst file,
\citet{jon90} =⇒ Jones et al. [21]
\citep{jon90} =⇒ [21]
\citep{jon90,jam91} =⇒ [21,32]
1 One of the authors of A Guide to LATEX: Document Preparation for Beginners and Advanced Users.
4. Making a .bst File 4

In the number citation mode with a number .bst file, only \cite{} is valid and generates
citation number in [ ]. Thus from these three modes, it is better to make an author-year .bst file all
the time!
The above styles are the default settings of the package. Now we want to use citation numbers
in ( ), instead of [ ]. There are many options; but here the author only shows his flavor.

\usepackage[sort&compress]{natbib} % Natbib citation style package


\bibpunct{(}{)}{,}{n}{}{} % More options for Natbib

The option [sort&compress] generates sorted and compressed number citations (e.g., [1,2,9,3,14,16,15]
⇒ [1-3,9,14-16]). The options in \bibpunct creates curly parentheses ( ) (instead of [ ]), ‘,’ divider
between citation numbers (instead of ‘;’), and number citation from the option {n} (the default is
{a} for author-year citation).
For more information, please read the manual, natbib.dvi. One more tip from this file is
superscript citation as seen in Nature. Put the following two lines in the preamble and use \cite{key}
in the body text.

\usepackage[sort&compress]{natbib}
\citestyle{nature} % Superscript citation style (Nature style)

4 Making a .bst File


To make your own .bst file, the custom-bib package, also developed by Patrick W. Daly, is the best
solution. Get makebst.ins, makebst.dtx, and merlin.mbs from CTAN (http://www.ctan.org)
or other mirror sites. The merlin.mbs file is a master bibliography style file. So your .bst file is
extracted from this .mbs file under given options that you will choose now.

1. Type latex makebst.ins in the command mode. This will generate makebst.tex and
makebst.drv.
2. Type latex makebst to make your own .bst file. You will be asked a lot of questions
regarding the bibliography style options. If you are not sure about the questions, just select
the default value (*). Some important style questions (not all the questions!) are given below
in order of appearance. Remember that we want to stick on the bibliography styles described in
Section 2. Also remember that there is no way to go back and correct an error during this job.2

(a) The first question that you will meet is Do you want a description of the usage? ⇒
yes.
(b) Enter the name of the MASTER file ⇒ default.
(c) Name of the final OUTPUT .bst file? ⇒ type your .bst file name (here, imsi).
(d) Do you want verbose comments? ⇒ yes.
(e) <<STYLE OF CITATIONS: ⇒ (a) Author-year with some non-standard interface.
(f) <<AUTHOR-YEAR SUPPORT SYSTEM ⇒ Natbib for use with ˜.
2 Do not worry. You can correct it later.
5. Modifying Bibliography Style Files 5

(g) <<ORDERING OF REFERENCES ⇒ (c) Citation order (unsorted ...).


(h) <<AUTHOR NAMES ⇒ (x) Surname + pure initials (Smith JF). Remember that the
style JF Smith is not provided. We will modify this later!
(i) <<DATE POSITION ⇒ (*) Date at end. Remember that we need year after page num-
bers in journals but year before page numbers in books, book chapters, and meetings.
(j) <<JOURNAL NAMES ⇒ (x) Dottles journal names as ’Phys Rev’. This is required by
the book publisher in Section 2.
(k) <<VOLUME PUNCTUATION ⇒ (*) Volume with colon as vol(num):ppp.
(l) <<JOURNAL NAME PUNCTUATION ⇒ (x) Space after journal name. This is required by
the book publisher in Section 2.
(m) <<PUBLISHER POSITION ⇒ (e) Publisher after edition.
(n) <<PUNCTUATION BETWEEN SECTIONS ⇒ (t) Period after titles of articles, books,
etc else commas. We need a period after the author field (e.g., JF Smith, KJ Kim. ˜).
(o) <<PUNCTUATION AFTER ’IN’ ⇒ (c) Colon after ’in’ (as ’In: ..’). But we do
not need In: in meetings (i.e., in collections and in proceedings).
(p) Finished! Batch job written to file ’imsi.dbj’ Shall I now run this batch
job? <NO> ⇒ If you say yes, it creates your .bst file.

Now all done! If you want to change some options that you made, open the .dbj (document
batch job ?) file.3 The questions are in CAPITAL LETTERS, and the options that you made are
uncommented at the first column. Comment out the wrong choice by putting % in the first column,
and uncomment the choice that you want to select by removing %. Then type latex imsi.dbj,
resulting in a new imsi.bst file.

5 Modifying Bibliography Style Files


Of course the custom-bib package cannot produce infinite numbers of bibliography styles that we
or book publishing companies want. Thus we need some modifications to the generated .bst file.
The imsi.bst file generated in the previous section produces the reference like this:

[12 ] Kim KJ, Urmila UM, Solvent selection under uncertainty. In: Proceedings of Clean Solvents
Symposium, Pittsburgh, 1980, pp. 120-125.

[13 ] Robinson C, Elements of Fractional Distillation. New York: McGraw-Hill, forth edn., 1950.

First, we want to change the reference numbering system from [12] to 12. This can be done in
the preamble by putting the following code:

\makeatletter % Reference list option change


\renewcommand\@biblabel[1]{#1.} % from [1] to 1.
\makeatother %
3 This is also an ASCII file. This manual editing is appropriate only when you made a wrong independent choice. For

example, you may not select author-number style options under the number citation system selected in the Step-(e) in
Section 4.
6. Useful Tips 6

The option #1. can be anything that you want to change. For example, #1). creates “1).” in
bibliography. If empty in the {}, then no labels in the bibliography.
Second, we want to switch the order of surname and first name. Open the imsi.bst file. Go
down to find the FUNCTION {format.names} code. You will see a line similar to "{vv˜}{ll}{ f{}}{ jj}".
The letter vv is the von part (e.g., von Neumann), ll is the last name part, ff is the first name part,
and jj is the junior part. A double letter (e.g., ll) takes full name while a singe letter (e.g., f)
abbreviates full name. Thus the current option creates like “Robinson C” since there is no von and
junior parts. So in order to switch, just change the order like this "{f{}˜}{vv˜}{ll}{ jj}".
Third, we want to put ‘.’ after the author field. Go down to find the FUNCTION {article} code.
Below the author format.key output line, insert a new.sentence line. According to the Step (n)
in Section 4, <<PUNCTUATION BETWEEN SECTIONS in Section 4, this insertion will put period at the
end of the author field.
Forth, we want to remove ‘In:...’ in proceedings and meetings. Go down to the FUNCTION
{incollection} code. At the line format.in.ed.booktitle "booktitle" output.check, change
to format.booktitle "booktitle" output.check (i.e., remove .in.ed). Do the same thing for
FUNCTION {inproceedings}.
Fifth, we want to move edition after book tittle. Go to the FUNCTION {book} code. Move the
format.edition output line to just above the format.number.series output line.
Sixth–Assignment?. Put the year before the author names only in books.4 Hint: Go to FUNCTION
{book} and look at format.date "year" output.check. Move this line to a proper place.
Due to my poor knowledge about the language (postfix stack language) used in a .bst file,
I could only provide minimal hacking tips for the given example. For more information read
btxhak.dvi and btxbst.doc in the document repository of your TEX file system.

6 Useful Tips5
Question: How can I change the bibliography heading title?
Answer: Write in LATEX preamble or anywhere else.
For book-classes: \renewcommand\bibname{your bibliography title}
For article-classes: \renewcommand\refname{your bibliography title}

Question: I have an odd BibTEX problem. I am using the BibTEX styles provided with amslatex,
and have two bibliography entries that BibTEX insists on putting in the wrong order! These entries
are identical except for volume:
L. Dornhoff, Group Representation Theory, vol. B, Marcel-Dekker, NY, 1971
L. Dornhoff, Group Representation Theory, vol. A, Marcel-Dekker, NY, 1971
Surly Volume A should precede Volume B, but BibTEX insists on listing them backwards! Can
anyone out there give me a hint as to how to override this ordering? (The ordering effects references
throughout a large work, so I can’t just edit the bibliography file by hand.)
4 This style is ridiculous. But try it for your practice.
5 The tips in this section are collected from web sites or my personal experiences.
6. Useful Tips 7

Answer: BibTEX sorts the items in the *.bib file based on author-year-title orders. But in some
cases where the same author publishes several papers in the same year BibTEX cannot properly sort
the items. I’ve seen a solution for this kind of problems in an old BibTEX 0.99b documentation.
Add the following @PREAMBLE command to your bibliography database file:

@PREAMBLE{"\newcommand{\noopsort}[1]{}"}

Open your .bib file and modify the year field or any other relevant field for proper sorting of the
two bibliography items. For example:

For Vol. A entry : year = "{\noopsort{a}}1971"


For Vol. B entry : year = "{\noopsort{b}}1971"

If this does not work, put {\noopsort{a}} in front of the titles.


Question: How to put bibliography at each chapter in the book class?
Answer: If you use thebibliography environment, then put the following in the preamble.

\makeatletter
\renewenvironment{thebibliography}[1]
{\section*{\Large\bibname % \chapter* is changed to \section*
\@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}}%
\list{\@biblabel{\@arabic\c@enumiv}}%
{\settowidth\labelwidth{\@biblabel{#1}}%
\leftmargin\labelwidth
\advance\leftmargin\labelsep
\@openbib@code
\usecounter{enumiv}%
\let\p@enumiv\@empty
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
\sloppy
\clubpenalty4000
\@clubpenalty \clubpenalty
\widowpenalty4000%
\sfcode‘\.\@m}
{\def\@noitemerr
{\@latex@warning{Empty ‘thebibliography’ environment}}%
\endlist}
\makeatother

If you use BibTEX, load chapterbib, bibunits, or natbib package.


Question: I want no citation in the text but list in the bibliography.
Answer: With \nocite{key} the bib entry with the key is part of the bibliography without any
citation in the body text. With all entries in the specified bib-file are listed in the bibliography.
7. Closing Remark 8

7 Closing Remark
You downloaded this document from my personal web site (http://www.geocities.com/kijoo2000/
bibtex.html). If you find any errors or have suggestions, please contact me.

You might also like