How I could insert an accented word in a new command?

I have the following command

\newcommand{\startsection}[4]{
\gdef\classname{#2}
\subsection*{\label{#3}{\bf {\sc #1} #2}}{
\rule[1em]{\hsize}{4pt}\vskip -1em
\vskip .1in
#4
}%
}


I use it in the following way

\startsection{Anotaci\'on}{Lazy}{l0}


But my results is the following

Anotaci n Lazy

and my desired outpur would be something like this

Anotación Lazy

How I could solve it?

Thanks

-
Works for me. I suspect this is a problem with your small caps font. Please post a more complete Example (with preamble). – Stephan Lehmke Mar 30 '12 at 11:51
I'm guessing the font you are using doesn't have bold smallcaps ó. Most fonts don't include bold smallcaps at all, let alone accented characters. – Roelof Spijker Mar 30 '12 at 11:52
@RoelofSpijker These are oldstyle LaTeX font switching commands. They don't combine like \bfseries, for instance. – Stephan Lehmke Mar 30 '12 at 11:54
@StephanLehmke: Of course, you are right. So the problem most likely is that the smallcaps font is missing that accented character. – Roelof Spijker Mar 30 '12 at 12:01

Check this:

\documentclass{book}
\usepackage{mathpazo}
\makeatletter
\newcommand{\startsection}[4]{
\gdef\classname{#2}
\subsection*{\label{#3} \textbf{\textsc{#1} #2}}{
\rule[1em]{\hsize}{4pt}\vskip -1em \vskip .1in #4
}%
}
\makeatother

\begin{document}

\startsection{Anotaci\'on}{Lazy}{l0}

\end{document}

-

Also pay attention for trailing spaces:

\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{libertine}
\newcommand\startsection[4]{%
\gdef\classname{#2}%
\subsection*{\label{#3}\textbf{\textsc{#1} #2}}{%
\rule[1em]{\hsize}{4pt}\vskip -1em \vskip .1in #4}}

\begin{document}
\startsection{Anotación}{Lazy}{l0}

\end{document}


-