Hier noch was besseres.
Aus `article.cls` geliehen HSo, nun das neue Codefragment.
\documentclass[a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\newcounter{nullsection} %ctans anlegen des sectionzählers
\newcounter{nullsubsection} %ctans anlegen des subsectionzählers
\makeatletter
\newcommand\nullsection{\@startsection{nullsection}{1}{\z@}% %ctans das Kommando definieren und verändert.(Alles was (null) davor hat). Den `#1` kann man ab und anschalten, entsprechend erscheinen die Einträge im Inhaltsverzeichnis oder nicht. Heute abend mehr und genauer.
\documentclass[a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{graphicx,xcolor}
\newcounter{nullsection}
\makeatletter
\newcommand\nullsection{\@startsection {nullsection}{1}{\z@}%
den Zähler starten
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\normalfont\Large\bfseries}}
\newcommand*\l@nullsection[2]{
\ifnum \c@tocdepth >\z@
\addpenalty\@secpenalty
\addvspace{1.0em \@plus\p@}%
\setlength\@tempdima{1.5em}%
\begingroup
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
\leavevmode \bfseries
\advance\leftskip\@tempdima
\hskip -\leftskip
% #1 %abschalten oder anschalten
\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
\endgroup
\fi}
{\normalfont\Large\bfseries}} %die Abstände und Schriften definieren
\newcommand*\l@nullsection[2]{ %den Eintrag ins Inhaltverzeichnis leer definieren
}
\newcommand\nullsubsection{\@startsection{nullsubsection}{2}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\normalfont\large\bfseries \thesection.}}
\newcommand*\l@nullsubsection[2]{ %leerdefinieren
}
\makeatother
\begin{document}
\section{Section}
Hier folgt dann der Text
\subsection{Subsection}
Hier folgt dann der Text
\nullsection{nullSection}
\nullsection[]{Nullsection}
Und hier folgt dann der Text
\nullsubsection[]{Nullsubsection}
Und hier folgt dann der Text
\tableofcontents
\end{document}