# What's wrong with this: \renewcommand{fnum@figure}{\textsc{Figure~\thefigure}}

As the title suggests, I am not sure why my file will not compile. Here is a MWE:

  \documentclass{amsart}
\renewcommand{fnum@figure}{\textsc{Figure ~\thefigure}}
\begin{document}
Dude!
\end{document}


Here's an interesting part of the .log file:

 ! Missing control sequence inserted.
<inserted text>
\inaccessible
l.2 \renewcommand{fnum@figure}
{\textsc{Figure ~\thefigure}}
Please don't say \def cs{...}', say \def\cs{...}'.
I've inserted an inaccessible control sequence so that your
definition will be completed without mixing me up too badly.
You can recover graciously from this error, if you're
careful; see exercise 27.2 in The TeXbook.

-
The reason is that @ has category code 12 ("other"); you need to make it of category code 11 ("letter"); \makeatletter simply changes the catcode of @ to 11 (so now @ behaves like a normal letter) and \makeatother changes the catcode of @ to 12. –  Gonzalo Medina Aug 18 '12 at 23:36
and the backslash \ is missing, i.e. fnum@figure vs \fnum@figure –  Guido Aug 18 '12 at 23:43
@GonzaloMedina Nice to know. I had to google to understand. Thanks for the input. :-) –  kan Aug 18 '12 at 23:45

\documentclass{amsart}