There are all sorts of arguments about complements, which arise from Latin - lacking strict word order, Latin used the same case (nominative) for the subject and complement when the verb was the copula.
This meant that "I am Tom" ego Thomas sum and "Tom is I" Thomas ego est would not be distinguishable (well, actually, they would be because the verb-subject agreement as to person, but "Tom is a man" Thomas vir est and "A man is Tom" vir Thomas est would be).
Lots of traditional English prescriptive grammar is copied from Latin, and the rigid rule that rejects the idea of the verb "to be" taking an object and requires a complement in the nominative case (ie, "Tom is I" rather than "Tom is me") is one of those rules that makes a lot more sense in the original Latin than it does in an uninflected strict-word-order language like English.
In the example, actually, I would accept that Tom is a complement - but you should be careful; to most native speakers, subject and complement are not interchangeable; ie there is a correct word order and a wrong one.
The accusative (or objective) case for pronouns is at least as common in English as the nominative (or subjective) case when they are the complement. I would probably answer "Richard is me" to the question "Which one of you is Richard?" rather than "Richard is I". I think most native speakers would do the same, in spite of prescriptivist grammarians trying to argue for a complement in the nominative.