Wednesday, July 17, 2013

LaTex: customise IEEEtran bibliography style with multibib package

When using multibib package, I wanted to apply and customise the IEEEtran bibliography style. It should be similar with bibentry.  However, it did not work. The function that repeated names of entries are replaced with dashes were disabled, but results showed that the dashes were still there. Searched the Internet but could not find a solution. OK, it’s time to debug.

Use LaTex multibib package

First, load the package using
\usepackage{multibib}

Then, in the preamble define new cite and bibliography commands through providing suffixes. For example

\newcites{jourl,conf}{{Journals},{Conferences}}

This command here gives two suffixes: jourl and conf. Therefore, we have the following new commands

\citejourl
\nocitejourl
\bibliographystylejourl
\bibliographyjourl

and

\citeconf
\nociteconf
\bibliographystyleconf
\bibliographyconf

When the commands with “jourl” are used, all the references will be put under the reference list, of which the name is “Journals” as defined in the \newcites command.

When the commands with “conf” are used, all the references will be put under then reference list, of which the name is “Conferences” as defined in the \newcites command.


When the document is compiled, there will be two auxiliary files: jourl.aux and conf.aux. These two files need to be compiled through BibTex.

Use IEEEtran bibliography style

Suppose the pub.bib file contains the entry

@ieeetranbstctl{BSTcontrol,
        CTLdash_repeated_names = {no},
        CTLuse_alt_spacing = {no}}

To apply this control entry to the “Journals” reference list, we should call

\bstctlcite[@auxoutjourl]{BSTcontrol_Thesis}
\bibliographystylejourl{ieeetran}
\bibliographyjourl{pub}   

Note that there is an optional argument in the \bstctlcite command which includes the suffix “jourl”. To control the "Conferences" list, simply change the optional argument accordingly.

1 comment: