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?)

lockstep
  • 250,273
  • 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 '15 at 01: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 '15 at 11:31

2 Answers2

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

moewe
  • 175,683
3

You can try this in bibtex:

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

and use \citep instead of \cite

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