Sinceramente las órdenes que te ha sugerido gm son bastante más sencillas que las que te voy a poner yo.
Las definiciones estándar de las secciones, subsecciones, etc etc son las siguientes.
Código:
\newcommand{\section}{\@startsection{section}{1}{0ex}%
{-3.5ex plus -1ex minus -0.2ex}%
{2.3ex plus 0.2ex}%
{\normalfont\Large\bfseries}}
\newcommand{\subsection}{\@startsection{subsection}{2}{0ex}%
{-3.25ex plus -1ex minus -0.2ex}%
{1.5ex plus 0.2ex}%
{\normalfont\large\bfseries}}
\newcommand{\subsubsection}{\@startsection{subsubsection}{3}{0ex}%
{-3.25ex plus -1ex minus -0.2ex}%
{1.5ex plus 0.2ex}%
{\normalfont\normalsize\bfseries}}
\newcommand{\paragraph}{\@startsection{paragraph}{4}{0ex}%
{3.25ex plus 1ex minus 0.2ex}%
{-1em}%
{\normalfont\normalsize\bfseries}}
\newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\parindent}%
{3.25ex plus 1ex minus 0.2ex}%
{-1em}%
{\normalfont\normalsize\bfseries}}
Si lo que quieres es cambiar el estilo del contador, debes editar \@seccntformat{}.
Los títulos por defecto (y traducidos a un lenguaje un poco más sencillo (según mis apuntes)) son.
Código:
\newcommand{\@makechapterhead}[1]{%
\vspace*{50 pt}%
{\setlength{\parindent}{0pt} \raggedright \normal\ifnum \value{secnumdepth}>1
\if@mainmatter
\huge\bfseries \@chapapp\ \thechapter
\par\nobreak\vspace{20 pt}
\fi
\fi
\interlinepenalty 10000
\Huge \bfseries #1\par\nobreak\vspace{40 pt}}}
\newcommand{\@makeschapterhead}[1]{%
\vspace*{50 pt}%
{\setlength{\parindent}{0pt} \raggedright \normal\interlinepenalty 10000
\Huge \bfseries #1\par\nobreak\vspace{40 pt}}}
Te adjunto un código en el que he variado varias cosas de las anteriores para que te sirva de ejemplo.
Código:
\documentclass[a4paper,10pt]{book}
\usepackage[utf8x]{inputenc}
\usepackage[spanish,es-noshorthands]{babel}
\usepackage[dvipsnames]{xcolor}
\makeatletter
\renewcommand{\@makechapterhead}[1]{%
\vspace*{5mm}%
{\setlength{\parindent}{0pt} \raggedleft \normalfont
\ifnum \value{secnumdepth}>1
\if@mainmatter
\huge\sffamily \@chapapp\ \thechapter
\par\nobreak\vspace{5mm}
\fi
\fi
\interlinepenalty 10000
\Huge \sffamily\bfseries #1\par\nobreak
\rule[0.5\baselineskip]{\textwidth}{1pt}\par\nobreak\vspace{10mm}}}
\renewcommand{\@makeschapterhead}[1]{%
\vspace*{5mm}%
{\setlength{\parindent}{0pt} \raggedleft \normalfont
\interlinepenalty 10000
\Huge \sffamily\bfseries #1\par\nobreak
\rule[0.5\baselineskip]{\textwidth}{1pt}\par\nobreak\vspace{10mm}}}
\renewcommand{\section}{%
\renewcommand{\@seccntformat}[1]{\color{Blue}\csname the##1\endcsname.\quad}%
\@startsection{section}{1}{0ex}%
{-3.5ex plus -1ex minus -0.2ex}%
{2.3ex plus 0.2ex}%
{\huge\color{pink}}}
\renewcommand{\subsection}{%
\renewcommand{\@seccntformat}[1]{\color{Green}\csname the##1\endcsname.\quad}%
\@startsection{subsection}{2}{0ex}{-3.25ex plus -1ex minus -0.2ex}{1.5ex plus 0.2ex}{\normalfont\small\color{Purple}}%
}
\makeatother
\begin{document}
\chapter{Probando cosas con \LaTeX}
He variado el título estándar para que lo coloque a la izquierda y le añada una línea horizontal roja.
\section{Variamos las secciones}
El parámetro que controla las secciones es \verb$\section$. Primero he redefinido el contador \verb$\@seccntformat$ para que lo pinte de azul y coloque un punto
para dejar a continuación un espacio constante con la orden \verb$\qquad$. Las siguientes órdenes tienen que ver con dimensiones
elásticas para que el título se ajuste al espacio que hay en la hoja. Por último he cambiado el color y el tamaño de la fuente.
\subsection{Variamos las subsecciones}
He realizado algo semejante al caso anterior.\par
Si lo que deseas es que todos los contadores sean iguales, o bien los defines todos iguales o colocas uno solo fuera de la redefinición
de los estilos.
\chapter{Otro capítulo}
\section{Nueva sección}
\subsection{Nueva subsección}
\end{document}
Espero que te sirva de ayuda.
P.D.: Yo lo que he hecho ha sido crearme un archivo a parte con extensión .sty y cargarlo como si fuera un paquete con las órdenes de reedición de las secciones y subsecciones.