I want to cite a refrence in a primary source that is already a citation from a secondary source. As far as I know, I have to refer to both the citing author and the original author of the quote.

The quote is as follows:

"[...] a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior."

I read it in Kerievsky, Refactoring to Patterns, 2005. It was originally written by Fowler in Refactoring: Improving the Design of Existing Code, 1999.

Citing in text, I would write something like this:

Refactoring is "..." [Fowler 1999 cited by Kerievsky 2005].

Here is a minimal working example, which just places both references in brackets:


According to Martin Fowler, refactoring is ``a change made to the internal
structure of software to make it easier to understand and cheaper to modify
without changing its observable behavior''~\cite{Fow:1999,Ker:2005}.



Using BibTeX, this is not so straight forward anymore. I use numbers for citations and print the bibliography in the appendix. What would be a best practice solution for citing citations with BibTeX?

  • are you using natbib? Because then you might be able to get by using \citealt and \citetext. BTW: next time please include a minimal example, such we we now such things from the start. Makes it a lot easier to help. – daleif Oct 18 '13 at 12:11
  • No, I'm not using natbib. If it helps, I can edit my question and add a minimal working example. – sfat Oct 18 '13 at 12:22
  • Do that, otherwise it is nearly impossible to help – daleif Oct 18 '13 at 12:29
  • I just added a minimal working example, already using natbib. – sfat Oct 18 '13 at 12:55
up vote 2 down vote accepted

For the sake of argument, I'll assume that there are entries with keys Ker:2005 and Fow:1999 in your .bib file which point to the pieces by Kerievsky and Fowler, respectively. Assuming you use the natbib citation management package, you could proceed as follows.

  • Load the natbib package with the options square (to produce square brackets around the parenthetical citations) and numbers (to produce numeric-style citations).

  • Use a combination of \citep and \citealp to create the desired citation:

    Refactoring is "..." \citep[][cited by \citealp{Ker:2005}]{Fow:1999}.

If this syntax looks like it's going to be a bit hard to remember, you might want to define a macro named \citeprimsec in the preamble:

\newcommand{\citeprimsec}[2]{\citep[][cited by \citealp{#2}]{#1}}

and employ it in the body of the document as

Refactoring is "..." \citeprimsec{Fow:1999}{Ker:2005}.

The name of the macro will hopefully make it more or less obvious that the first argument should be the key of the primary reference and that its second argument should be the key of the secondary reference.

Addendum: I just noticed that your comment that you do not use natbib. Well, adding natbib to the list of packages you load in the preamble shouldn't be a big deal. Just be sure to load it with the options square and numbers. You needn't modify any of your existing \cite commands.

  • The OP just mentioned that natbib is not used. – daleif Oct 18 '13 at 12:34
  • But I can consider using natbib. I'll give this answer a try and will report back. – sfat Oct 18 '13 at 12:36
  • 2
    @daleif - I too just noticed that OP has mentioned non-use of natbib in a comment. As I note in the just-posted addendum, starting to load natbib shouldn't be much of a hardship. :-) – Mico Oct 18 '13 at 12:39
  • It of course depends on whether the style in use is compatible. Will have to see until the OP posts a MWE. – daleif Oct 18 '13 at 12:41
  • The style matches. This answer is perfect, thanks a lot! I would just change cited by to cited in. – sfat Oct 18 '13 at 13:06

Your Answer


By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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