There are a number of things that sectional units do that is not covered properly in your definition of \myssssection
. Sections
- start a new paragraph;
- insert a ToC-related entry after setting the heading;
- ensures there is no (page) break between the section heading and the first line of the following paragraph;
- insert an appropriate mark (in the header);
- typically prevent indentation of the following paragraph.
All of the above is implemented when you use \@startsection
. Here's how one can do just that:


\documentclass{article}
\usepackage{lipsum,pgffor}% Just for this example
\usepackage{etoolbox}
\newcounter{subsubsubsection}[subsubsection]
\renewcommand\thesubsubsubsection{\thesubsubsection.\arabic{subsubsubsection}}
\renewcommand\theparagraph{\thesubsubsubsection.\arabic{paragraph}}% Optional, if you're using numbered \paragraphs
\makeatletter
\newcommand\subsubsubsection{\@startsection{subsubsubsection}{4}{\z@}%
{-1ex \@plus.2ex \@minus.2ex}% <space before>
{1ex \@plus.2ex \@minus.2ex}% <space after>
{\normalfont\large\bfseries\sffamily}}
% \patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}
\patchcmd{\paragraph}{{paragraph}{4}}{{paragraph}{5}}{}{}% Demote \paragraph
\patchcmd{\subparagraph}{{subparagraph}{5}}{{subparagraph}{6}}{}{}% Demote \subparagraph
\newcommand{\subsubsubsectionmark}[1]{}% An appropriate mark
\newcommand{\l@subsubsubsection}{\@dottedtocline{4}{7em}{4em}}
\renewcommand{\l@paragraph}{\@dottedtocline{5}{10em}{5em}}% Shift \paragraph entries one level lower
\renewcommand{\l@subparagraph}{\@dottedtocline{6}{14em}{6em}}% Shift \subparagraph entries one level lower
\makeatother
\setcounter{secnumdepth}{3}% Only number up to \subsubsection, not \subsubsubsection
\setcounter{tocdepth}{4}% Include up to \subsubsubsection in ToC
\begin{document}
% Create a dummy document with all levels of sectional units from \section to \paragraph
\tableofcontents
\foreach \SECTION in {First, Second, Third, Last} {
\section{\SECTION{} section}\lipsum[1]
\foreach \SUBSECTION in {First, Second, Third, Last} {
\subsection{\SUBSECTION{} subsection}\lipsum[2]
\foreach \SUBSUBSECTION in {First, Second, Third, Last} {
\subsubsection{\SUBSUBSECTION{} subsubsection}\lipsum[3]
\foreach \SUBSUBSUBSECTION in {First, Second, Third, Last} {
\subsubsubsection{\SUBSUBSUBSECTION{} subsubsubsection}\lipsum[4]
\foreach \PARAGRAPH in {First, Second, Third, Last} {
\paragraph{\PARAGRAPH{} paragraph}\lipsum[5]
}
}
}
}
}
\end{document}
References:
\@startsection
here so that tables of contents handling and control of indentation were automatic?noindentafter
package.\DeclareSectionCommand
\@startsection
fixes this, I was not aware of this command. However, I don't know how to add the toc entry for this sectioning, the way I like it (indented).