In your sentence, the verb "to be" is a linking verb (a linking verb connects a subject to a subject complement which identifies or describes the subject).
If the linking verb is also an auxiliary (like the verb "to be") it will never be contracted when it comes at the beginning or end of a clause.
In your sentence, the word "tonight" is not the complement of the verb to be, you could also say: "How beautiful you are!" thus, it can't be contracted.
Syl's English Corner - Learn English and Have Funhttp://www.ginnegar.0catch.com