5

I have papers p1, p2, p3, .... Under each of them, i'd like to list papers that cite them:

p1
[1] c11
[2] c12
...

p2
[1] c21
[2] c22
...

...

I can build *.bib files for each of my papers, but I don't know how to use them to form the above formatting.

p1, p2, ... are in mine.bib. c11, c12, ... are in citee1.bib. c21, c22, ... are in citee2.bib. ...

qazwsx
  • 852
  • What I'd try to do is to add the papers to be cited in a field of the entry, and massage that into something that tricks BibTeX into spitting out what you want. Probably using Perl, as that is what I'm most familiar with. – vonbrand Feb 25 '13 at 05:43
  • 3
    Please provide a full minimal working example. How do you create your bibliography? Do you use biblatex? – Marco Daniel Feb 25 '13 at 05:49

1 Answers1

4

Here is a solution using biblatex (and biber as backend). The key point is to use the related field provided by biblatex. This field stores a list of citation keys (and the solution uses the value citing for the field relatedtype). After that we have to define how to render the list of related. A simple way is to use an enumerated list, and for each item is rendered by using the appropriate driver.

\documentclass{article}
\usepackage[style=authoryear]{biblatex}
\usepackage{enumitem}
\usepackage{filecontents}
\addbibresource{\jobname.bib}
\begin{filecontents}{\jobname.bib}
@article{one,
author = "Last, First",
title = "title",
journal = "journal",
year = "2011",
related = {second,third},
relatedtype = {citing}
}
@article{second,
author = "Last, First",
title = "title",
journal = "journal",
year = "2012",
related = {one,third},
relatedtype = {citing}
}
@article{third,
author = "Last, First",
title = "title",
journal = "journal",
year = "2013",
related = {second,one},
relatedtype = {citing}
}
@article{fourth,
author = "Last, First",
title = "title",
journal = "journal",
year = "2014",
}

\end{filecontents}

\renewbibmacro{finentry}{\iffieldundef{related}{\finentry}{}}
\newcommand{\tempa}[1]{
    \item \entrydata{#1}{\usedriver{}{\thefield{entrytype}}}\adddot 
}
\DeclareFieldFormat{related:citing}{\par Cited by:
  \begin{enumerate}
    \forcsvfield{\tempa}{related}
  \end{enumerate}
}

\begin{document}
\cite{one}, \cite{second}, \cite{fourth}

\printbibliography
\end{document}

resulting in

enter image description here

PS The various references can be in multiple .bib files. Just load them with multiple \addbibresources.

EDIT: It is possible to change the title of the bibliography by using the title option of \printbibliography. Namely

\printbibliography[title={List of publications citing my publications}]

There are several ways to avoid printing the references. The simple one is to use \nocite{key} for each of the references to be inserted (and for which one wants to show the publication citing it).

Guido
  • 30,740
  • How to change "References" to "List of papers citing my papers"? Also, how to omit the main part of the article "Last 2011, Last 2012, Last 2014"? – qazwsx Feb 26 '13 at 04:42