I use Emacs for writing most of my writings. I write using reStructuredText, and then transform them to LaTeX after some preprocessing since I write my citations á-la LaTeX. This is an excerpt of one of my texts (in Spanish):

```
En \cite[pp.~XXVIII--XXIX]{Crnkovic2002} se brindan algunos riesgos
que se pueden asumir con el desarrollo basado en componentes, los

```

This text is processed by some custom scripts that deals with the `\cite` part so `rst2latex` can do its job.

When I activate flyspell-mode it signals most of the citation keys as spelling errors. 

How can I tell flyspell not to spellcheck things within `\cite` commands.

Furthermore, how can I combine rst-mode and flyspell, so that rst-mode would keep flyspell from spellchecking the following?

* reST comments
* reST code literal
* reST directive parameters and arguments
* reST raw directive contents

Any ideas?