[Tex/LaTex] Remove bibliography part in table of contents

bibliographiesjournal-publishingrevtexsectioningtable of contents

I use the following code to generate a paper with its supplemental material. I only want a table of contents for the supplementary part. However, as you see, the table of contents lists the References of the paper main text part as well. How can we avoid this? Thanks.
enter image description here

\documentclass[prl,twocolumn]{revtex4-1}
%\documentclass[twocolumn]{article}
\usepackage{hyperref}

\begin{document}
\title{My Title}
\author{my name}
\affiliation{Somewhere}

\begin{abstract}
my abstract
\end{abstract}
\maketitle

\textit{Introduction.---}%
We have many things to say\cite{Giuliani2005SM}.

\begin{thebibliography}{95}%
    \bibitem{Giuliani2005SM} 
    G.F. Giuliani and G. Vignale, 
    \textit{Quantum theory of the electron liquid} (Cambridge University Press, 2005).
\end{thebibliography}%


%Start Supplemental Material

%%%%%%%%%% Merge with supplemental materials %%%%%%%%%%
%\newpage
\onecolumngrid
%\newpage
{
    \center \bf \large 
    Supplemental Material\vspace*{0.1cm}\\ 
    \vspace*{0.0cm}
}
\twocolumngrid  

\tableofcontents

\section{A section}\label{App:section}
haha\cite{Hanamura1970SM}

\begin{thebibliography}{9}
    \bibitem{Hanamura1970SM} E. Hanamura, J. Phys. Soc. Jpn. {\bf 29}, 50 (1970).

\end{thebibliography}

\end{document}

Best Answer

To avoid thebibliography from setting a section-like entry in the ToC, wrap the following around it:

\let\oldaddcontentsline\addcontentsline% Store \addcontentsline
\renewcommand{\addcontentsline}[3]{}% Make \addcontentsline a no-op
\begin{thebibliography}{X}%
  % <bibitems>
\end{thebibliography}%
\let\addcontentsline\oldaddcontentsline% Restore \addcontentsline

The above sequence stores \addcontentsline and then redefines it to do nothing. This way nothing gets written to the ToC as part of the thebibliography environment. Finally, we restore \addcontentsline after the environment.

enter image description here