The following does almost what you want, except for the font sizes:
\documentclass[]{article}
\makeatletter %needed
% reduce space between number and section title a bit
\renewcommand{\@seccntformat}[1]%
{{\csname the#1\endcsname\hspace{.25em}}}
% allow more space in ToC for section number (4.5em here)
\renewcommand{\l@section}{\@dottedtocline{1}{1.5em}{4.5em}}
% adjust indentation for the lower levels
\renewcommand{\l@subsection}{\@dottedtocline{1}{3.0em}{1.5em}}
\renewcommand{\l@subsubsection}{\@dottedtocline{1}{3.5em}{2.5em}}
\makeatother
\renewcommand{\thesection}{\Roman{section}.}
\renewcommand{\thesubsection}{\Alph{subsection}.}
\renewcommand\thesubsubsection{\protect\phantom{\thesubsection}%
\arabic{subsubsection}.}
\begin{document}
\tableofcontents
\section{A section}
\subsection{A subsection}
\subsubsection{A subsubsection}
\end{document}
Note the \protect
in the redefinition of \thesubsubsection
: the argument of the macro is a moving argument (used in several places, here in the headers and in the ToC), so certain macros (like \phantom
) need a \protect
to avoid compilation errors.
EDIT: Added some extra redefinitions to give space for the longer Roman numerals.
\phantom
to include\thesection
in second command and\thesubsection
in third? (Not tested)\renewcommand{\thesubsection}{\Alph{subsection}}
. Analogously, you can removethesubsection
from the definition ofthesubsubsection
.