# Listing all theorems using a specific theorem

I have a document with several statements (by this I mean theorem/lemma/proposition environments etc.) in it and I would like to list for a given statement A all statements referring to A, so a dependency list if you will. Is this possible?

• You mean something like a "Table (List) of theorem/lemma/propositions"? – Raaja Feb 3 '17 at 13:10
• Not exactly. For any theorem A I would like to have a list (perhaps below the theorem or on the margin next to it) of all theorem numbers referring to theorem A, and by referring I mean that the label of theorem A is used as a reference in the proof environment of some theorem. – Uname Feb 3 '17 at 13:13
• could you please add a picture/ rough sketch of what you need? That would be more insightful. – Raaja Feb 3 '17 at 13:14
• I would suggest an \index like approach where the referring theorems will be indexed, but makeindex does not really cope with anything but normal page numbers, so this not yet a terrific idea. xindy is different, of course – user31729 Feb 3 '17 at 14:13
• I believe you're allowed to nest theorems inside each other. If Inner Theorem uses Lemma, does that count as Outer Theorem referring to it? Does Outer Theorem refer to Inner Theorem? – Teepeemm Feb 3 '17 at 14:42

Try this, answer taken as it is from @Gonzalo's reply ToC like list of definitions (using theorem environments)

Your may be interested in other solutions using thmtools etc.

\documentclass{book}
\usepackage{amsthm}
\usepackage{etoolbox}
\usepackage{xcolor}
\usepackage{framed}

\theoremstyle{definitionsty}
\newtheorem{tdefn}{Definition}[chapter]
\newenvironment{defn}

\makeatletter
% A command to create the new List of Definitions
\newcommand\listofdefinitions{%
\chapter*{List Of Definitions}\@starttoc{lod}}

% initial definitions to save the chapter info (name and number)
\def\thischaptertitle{}
\def\thischapternumber{}
\newtoggle{noDefs}

\apptocmd{\@chapter}%
{\gdef\thischaptertitle{#1}\gdef\thischapternumber{\thechapter}%
\global\toggletrue{noDefs}}{}{}

% the defn environment does the job: the first time it is used after a \chapter command,
% it writes the information of the chapter to the LoD
\AtBeginDocument{%
\AtBeginEnvironment{defn}{%
\iftoggle{noDefs}{
\global\togglefalse{noDefs}
}{}
}%
}

\makeatother

\begin{document}

\listofdefinitions
\chapter{Test Chapter With Definitions}
\begin{defn}[My Hilarious Thing]
Definition 1.2    - Another Super Duper Thingy
Test
\end{defn}
\begin{defn}[A Super Duper Thingy]
Test
\end{defn}
\chapter{Test Chapter Without Definitions}
\chapter{Another Test Chapter With Definitions}
\begin{defn}[Another Super Duper Thingy]
Test
\end{defn}
\begin{defn}
Test
\end{defn}

\end{document}

• Where is the list which shows which theorem is referred to by another theorem? I think, you've misunderstood the question – user31729 Feb 3 '17 at 14:25
• True referencing theorems is missed thank you. – Rama Krishna Majety Feb 4 '17 at 5:42

An index like approach with is limited, yet. It will print the theorem number and the list of other environments that are referring to it.

\documentclass{article}
\usepackage{amsthm}
\usepackage{imakeidx}

\usepackage{hyperref}

\usepackage[hyperref,user,counter]{zref}
\usepackage{blindtext}

\makeindex[name=theoref,title={List of Theorem References},options=-s theoref.ist]

\begin{filecontents}{theoref.ist}
delim_0 "\n \\dotfill "
page_precedence "nrRAa"
page_compositor "."
\end{filecontents}

\newtheorem{theorem}{Theorem}[section]

\newtheorem{lemma}{Lemma}[section]
\makeatletter
\newcommand{\indexref}[2][Theorem]{%
\zref@ifrefundefined{#2}{}{%
}%
}
\makeatother

\begin{document}

\section{First}
\begin{theorem}{Theorem Number A}
\blindtext[2] \zlabel{theo::A}
\end{theorem}

\begin{theorem}{Theorem Number B}
We will use \indexref{theo::A} and \indexref{theo::C} in order to proof this theorem, as well as \indexref[Lemma]{lem::Llama}!\zlabel{theo::B}
\end{theorem}

\begin{theorem}{Theorem Number C}
We will use \indexref{theo::A}, \indexref{theo::B} in order to proof this theorem!\zlabel{theo::C}

\blindtext[3]
\end{theorem}

\begin{lemma}{Lemma for Llama}
\blindtext\zlabel{lem::Llama}
\end{lemma}

\printindex[theoref]

\end{document}