Applications of Nuclear Magnetic Resonance Spectroscopy to Heterocyclic Chemistry: Indole and Its Derivatives