AUCTex has many awesome features in editing LaTex files within Emacs: preview, outline, folding display, among others. RefTex is a nice tool to manage cross references, in an elegant way. The price we pay for those conveniences is simply a configuration of the .emacs file. The following is my awkward example by revision from many other resources but it works well enough for me:
(setq Tex-PDF-mode t)
(load "auctex.el" nil t t)
(require 'tex-mik)
(load "preview-latex.el" nil t t)
(setq Tex-save-query nil)
(setq TeX-auto-save t)
(setq TeX-parse-self t)
(setq-default TeX-master nil)
(setq Tex-electric-sub-and-superscript 1)
(setq reftex-plug-into-AUCTeX t)
(add-hook 'LaTeX-mode-hook 'visual-line-mode)
(add-hook 'LaTeX-mode-hook 'flyspell-mode)
(add-hook 'LaTeX-mode-hook 'LaTeX-math-mode)
(add-hook 'LaTeX-mode-hook 'turn-on-reftex)
(add-hook 'LaTeX-mode-hook
(lambda ()
(LaTeX-add-environments
'("theorem" LaTeX-env-label)
'("lemma" LaTeX-env-label)
'("proof" LaTeX-env-label))))
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(preview-gs-options (quote ("-q" "-dNOPAUSE" "-DNOPLATFONTS" "-dPrinted" "-dTextAlphaBits=4" "-dGraphicsAlphaBits=4"))))
Outline:
This feature allows you to view the big picture of the article by only displaying the sections, subsections etc.. To enable outline, turn on outline mode:
M-x outline-minor-mode
Next, C-c @ C-t outlines all sections and subsections:

Move cursor to the section/subsection to be edited, C-c @ C-e displays the section/subsection:

Additionally, C-c C-p C-b preview all math formulas in the buffer:

Move closer to the citation, C-c ] guides to search for a desired reference:

A reference card should help a lot for quick start.
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-38743214-2']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();