Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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.
share|improve this question
2  
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
1  
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

1 Answer 1

up vote 6 down vote accepted

It should read as

\documentclass{amsart}
\makeatletter
\renewcommand{\fnum@figure}{\textsc{Figure ~\thefigure}}
\makeatother
\begin{document}
     Dude!
\end{document}
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.