Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

This is related to another question I had, but when I try to make an entire entry bold in my bilbiliography, it changes the format of the author list. I would like to be able to make only some entries in my bibliography bold and retain normal formatting for the rest. Here's my MWE:

\documentclass[notitlepage,groupedaddress]{IEEEtran}
\usepackage{filecontents}
\usepackage{cite}

\begin{filecontents}{\jobname.bib}

@article{BCS,
    title = {Theory of Superconductivity},
    volume = {108},
    number = {5},
    journal = {Physical Review},
    author = {Bardeen, J. and Cooper, L. N. and Schrieffer, J. R.},
    month = dec,
    year = {1957},
    pages = {1175--1204}
}   

@article{EPR,
    title = {Can {Quantum-Mechanical} Description of Physical Reality Be Considered Complete?},
    volume = {47},
    number = {10},
    journal = {Physical Review},
    author = {Einstein, A. and Podolsky, B. and Rosen, N.},
    month = may,
    year = {1935},
    pages = {777--780}
}
\end{filecontents}

\begin{document}
Hello world\cite{BCS}\cite{EPR}
\bibliographystyle{IEEEtran}
\bibliography{\jobname}
\end{document}

Without any formatting commands, this file gives me the following output for the BCS paper:

J. Bardeen, L. N. Cooper, and J. R. Schrieffer, “Theory of superconduc- tivity,” Physical Review, vol. 108, no. 5, pp. 1175–1204, Dec. 1957.

Now, if I change the authors portion of the BCS paper to bold:

author = {\textbf{Bardeen, J. and Cooper, L. N. and Schrieffer, J. R.}},

I get different output:

Bardeen, J. and Cooper, L. N. and Schrieffer, J. R., “Theory of superconductivity,” Physical Review, vol. 108, no. 5, pp. 1175–1204, Dec. 1957.

If I try \bf or \bfseries, the bold runs off and encompasses both the BCS and EPR citations. Is there a way I can highlight the authors list of the BCS paper without changing the style of the initials and names? The paper I'm actually working is far larger scale and I want to avoid hardcoding authors in my desired format. Please note that I'm working with IEEEtran, so I believe biblatex is not an option here as the biblatex IEEE style doesn't produce a format identical for use in publication.

share|improve this question
add comment

1 Answer

up vote 4 down vote accepted

The reason you see the behaviour you do is that by adding the text formatting command to your bib file, you remove BibTeX's ability to parse the name field properly. But the IEEEtran.bst bibliography style is very sophisticated and provides a hook to do what you want.

As outlined in the documentation of the IEEEtran.bst documentation, there is a special method for applying some kinds of customization to the IEEEtran.bst file. You need to add a special "control record" to your bib file (in fact it can be its own bib file, as I've done in this example.) The control bib file contains a single record with a number of different fields containing customizations. In your case, you want to specify a formatting for authors' names. The control bib file would therefore look like this:

@IEEEtranBSTCTL{IEEE:BSTcontrol,CTLname_latex_cmd = "\textbf"}

where

CTLname_latex_cmd = "\textbf"

is a control sequence that the .bst file knows about which takes one latex command that requires an argument (so it should be \textbf (or similar) rather than a switch.)

In addition to loading this bib file, you also need a special citation command to invoke it:

\bstctlcite{IEEE:BSTcontrol}

where IEEE:BSTcontrol is an arbitrary cite key corresponding to the key of the control record in the control bib file.

You can have more than one control key in your document if you want to make individual items bold. In the full example below, I've created two control keys: IEEE:bold and IEEE:plain. All citations following \bstctlcite{IEEE:bold} will be bold, and and all citations following \bstctlcite{IEEE:plain} will be plain.

Here's the complete example:

\documentclass[notitlepage,groupedaddress]{IEEEtran}
\usepackage{filecontents}
\usepackage{cite}

\begin{filecontents}{\jobname.bib}

@article{BCS,
    title = {Theory of Superconductivity},
    volume = {108},
    number = {5},
    journal = {Physical Review},
    author = {Bardeen, J. and Cooper, L. N. and Schrieffer, J. R.},
    month = dec,
    year = {1957},
    pages = {1175--1204}
}   

@article{EPR,
    title = {Can {Quantum-Mechanical} Description of Physical Reality Be Considered Complete?},
    volume = {47},
    number = {10},
    journal = {Physical Review},
    author = {Einstein, A. and Podolsky, B. and Rosen, N.},
    month = may,
    year = {1935},
    pages = {777--780}
}

\end{filecontents}
\begin{filecontents}{IEEEcontrol.bib}
@IEEEtranBSTCTL{IEEE:bold,CTLname_latex_cmd = "\textbf"}
@IEEEtranBSTCTL{IEEE:plain,CTLname_latex_cmd = "\relax"}
\end{filecontents}

\begin{document}
\bstctlcite{IEEE:bold}
Hello world\cite{BCS}\bstctlcite{IEEE:plain}\cite{EPR}
\bibliographystyle{IEEEtran}
\bibliography{\jobname,IEEEcontrol}
\end{document}

Output

output of code

share|improve this answer
    
Thanks for the reply! I can see how CTLname_latex_cmd can format the author's names, but is there a way I can make it so that it only does so for certain articles? In the example above, I would like to only make the BCS paper have bold authors. Thanks again! –  zje May 2 '12 at 15:02
    
@user825518 Yes, you can create a separate control key to switch it back. I've updated my answer. Make sure you delete the control bib file before you run the new code. –  Alan Munn May 2 '12 at 15:30
    
Thank you very much! Sorry, I have another question. Is there a way I can do this and maintain the citations in multiple brackets? For example, if I wanted to do \cite{EPR,BCS,otherpaper} and only wanted BCS to be bold, but still have them referenced as [1-3]. I tried just cramming the commands in there, but not surprisingly, this didn't work: \cite{EPR,\bstctlcite{IEEE:bold}BCS\bstctlcite{IEEE:plain},otherpaper} –  zje May 2 '12 at 16:01
    
@user825518 No, I'm pretty sure there's no way to do that. So unfortunately this will mess up with compressing the citation numbers. –  Alan Munn May 2 '12 at 19:26
    
Okay, no big deal :-) Thank you very much for your help and all your insight! –  zje May 2 '12 at 19:30
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.