8

The natbib package provides three versions of the standard BibTeX bibliography styles compatible with author-year citations (\citet, \citeauthor, \citeyear):

  • plainnat
  • abbrvnat
  • unsrtnat

The IEEEtran package provides five different style files:

  • IEEEtran: the standard IEEEtran BibTeX style file. For use with IEEE work.
  • IEEEtranS: a version of IEEEtran.bst that sorts the entries.

Not for normal IEEE use:

  • IEEEtranSA: like IEEEtranS, but with alphanumeric citation tags like alpha.
  • IEEEtranN: like IEEEtran, but based on plainnat and is compatible with natbib.
  • IEEEtranSN: sorting version of IEEEtranN.

Although IEEEtranN and IEEEtranSN are not recommended for normal IEEE use, natbib can be loaded with the option numbers, which complies with the guidelines.

I'm writing a document with several chapters and I'm using bibunits to generate partial references lists in some of the chapters. The references get numbered separately in the partial lists and in the global bibliography, thus each bibitem has two different numbers along the document, which is quite inconsistent.

It is not for normal IEEE use, so I may just use the authoryear option. However, many references where published in the same year, and I think that having a unique key to distinguish may help. Unfortunately, IEEEtranSA (with alphanumeric citation tags like alpha) is not compatible with natbib.

Do you know any style like IEEEtran<S>AN, which stands for alphanumeric citation tags like alpha and compatible with natbib? I'm about to start analysing the differences between IEEEtran and IEEEtranN on one side, IEEEtranS and IEEEtranSA on the other, and finally IEEEtranS and IEEEtranSN. But I'd like to know if there is any previous work which I have not found.

  • Is biblatex an option? You can use it in natbib compatibility mode, drop bibunits etc. – cfr Sep 17 '14 at 2:39
  • I don't know which are the main differences between using natbib+bibunits or just [natbib]{biblatex}. Does it provide \citet, \citeauthor, \citeyear + compatibility with IEEEtranSA style + the ability to define custom references blocks? Shall I maintain most of the sources, or the commands would vary? – U.Martinez-Corral Sep 17 '14 at 19:18
  • Got it! biblatex-ieee-alphabetic. I'm going to take a deeper look at biblatex... – U.Martinez-Corral Sep 17 '14 at 19:28
  • I'm not sure about compatibility with IEEEtranSA. I'm also not sure what you mean by 'custom references blocks'. Definitely it provides \citet with the natbib mode. It provides \citeauthor and \citeyear regardless. In general, it is more flexible and much easier to customise than bibtex. So if you are having a problem getting bibtex to do what you want and biblatex is an option, it is definitely worth considering. It does make an awful lot of things easier. For example, there is no need for a special package for multiple bibliographies. biblatex has options itself. – cfr Sep 17 '14 at 20:24
  • By 'custom references blocks' I meant user-defined bibunits, not only references list automatically generated in each chapter/section. I've been reading about it [1] [2] and I think I'm going to change to biblatex. Thanks again for your help. I'll edit the question when I get the configuration I want. – U.Martinez-Corral Sep 17 '14 at 21:01
5

As far as I'm aware, there is no such a style as IEEEtranSAN which is compatible with natbib. However, following the recommendation and explanations by @cfr, I've changed to biblatex and biblatex-ieee. The minimum changes are:

\documentclass[a4paper]{report}

%\usepackage[numbers]{natbib}
\usepackage[backend=bibtex,style=ieee-alphabetic,natbib=true]{biblatex} %added
\addbibresource{IEEEfull.bib} %added
\addbibresource{IEEEexample.bib} %added

\begin{document}

\noindent
\citet{IEEEexample:article_typical} \\
\citet[chap. 2]{IEEEexample:article_typical} \\
\citep{IEEEexample:article_typical} \\
\citep[chap. 2]{IEEEexample:article_typical} \\
\citep[see][]{IEEEexample:article_typical} \\
\citep[see][chap. 2]{IEEEexample:article_typical} \\
\citet*{IEEEexample:article_typical} \\
\citep*{IEEEexample:article_typical} \\
\citeauthor{IEEEexample:article_typical} \\
\citeauthor*{IEEEexample:article_typical} \\
\citeyear{IEEEexample:article_typical} \\
\citeyearpar{IEEEexample:article_typical} \\
\cite{IEEEexample:article_typical}
\nocite{IEEEexample:shellCTANpage}

%\bibliographystyle{IEEEtranSN}
%\bibliography{IEEEfull,IEEEexample}
\printbibliography %added

\end{document}

I get the expected results with any of the citation commands, alphanumeric keys are shown instead of numbers and the style is correct.


Apart from those links in the comments, I think this Q&A is worth checking when considering to change from natbib and bibtex to biblatex and, probably, biber.

3

This shorter solution worked for me as I wanted to stick with IEEE numeric style but use natbib citation commands using:

\usepackage[backend=biber,style=ieee,natbib=true]{biblatex} 
\renewcommand{\bibfont}{\footnotesize} % for IEEE bibfont size
\addbibresource{bibliography.bib}
...
\printbibliography

I tried backend with biber and bibtex as well as natbib with true and false. Have fun!

  • Welcome to TeX.SX! Thank you for your help. – Bobyandbob Aug 20 '18 at 22:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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