Theta Functions On Riemann Surfaces