  We develop a general, fully quantum mechanical theory of Raman scattering
from first principles in terms of many-body correlation functions. In order to
arrive at expressions that are practically useful in the context of condensed
matter physics, we adopt the Lehmann-Symanzik-Zimmermann reduction formula from
high-energy physics and formulate in the modern language of many-body
perturbation theory. This enables us to derive a general and practically useful
expression for the Raman scattering rate in terms of quantities that can be
computed \textit{ab initio}. Our work paves the way toward a comprehensive
computational approach to the calculation of Raman spectra that goes beyond the
current state of the art by capturing both excitonic and non-adiabatic effects.
