4

I want to display citations using a mix of apalike and ieeetr styles, something like:

[Chaitin, 1992 [3]]

Is there a BibTeX or Biblatex package that supports this style? (Or a way to tweak BibTeX to behave like this?)

2
  • 4
    Why? The purpose of the label is to enable the reader to find the entry in the bibliography. Why complicate and confuse things? If I saw that, I would wonder whether: this was the third source cited written by Chaitin and published in 1992 (a weird alternative to Chaitrin, 1992a) or a strange way of presenting a page/chapter/section number (oddly formatted way to say Chaitrin, 1992, p. 3 or Chaitrin 1992, 3). And I would be immediately distracted from whatever you wanted to say and annoyed by the fact that you'd decided to make it difficult for me to understand you.
    – cfr
    Nov 22, 2015 at 1:07
  • 1
    I agree with cfr that this is quite weird. It combines the numeric and authoryear styles but does not offer an additional value. One of [3] or "Chaitin, 1992" (if done correctly) is enough to identify the citation uniquely.
    – moewe
    Nov 23, 2015 at 11:31

2 Answers 2

4

This can be done with biblatex. If we use numeric we only need to enhance the bibmacro cite a bit to include the name and year.

\DeclareFieldFormat{hardbrackets}{[#1]}
\renewbibmacro*{cite}{%
  \printtext[bibhyperref]{%
    \printnames{labelname}%
    \setunit{\nameyeardelim}%
    \printfield{year}%
    \setunit{\addspace}
    \printtext[hardbrackets]{%
      \printfield{prefixnumber}%
      \printfield{labelnumber}%
      \ifbool{bbx:subentry}
        {\printfield{entrysetcount}}
        {}}}}

MWE

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[babel,german=quotes]{csquotes}
\usepackage{lmodern}

\usepackage[style=numeric, backend=biber]{biblatex}      
\addbibresource{biblatex-examples.bib}

\DeclareFieldFormat{hardbrackets}{[#1]}
\renewbibmacro*{cite}{%
  \printtext[bibhyperref]{%
    \printnames{labelname}%
    \setunit{\nameyeardelim}%
    \printfield{year}%
    \setunit{\addspace}
    \printtext[hardbrackets]{%
      \printfield{prefixnumber}%
      \printfield{labelnumber}%
      \ifbool{bbx:subentry}
        {\printfield{entrysetcount}}
        {}}}}

\begin{document}
\cite{sigfridsson} and \cite{worman,geer}
\printbibliography
\end{document}

example output

3

You can try this in bibtex:

\usepackage[round]{natbib}
\bibliographystyle{plainnat}

and use \citep instead of \cite

1
  • 1
    Are you sure that this will generate citation call-outs of the form the OP wants?
    – Mico
    Nov 23, 2015 at 11:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .