1

I defined a command that I use to add some levels of section headers (there are more of those, with different properties, but I show only one here):

\newcommand{\myssssection}[1]{{\addcontentsline{toc}{subsubsection}{\hspace{1.6cm}{#1}}}%
                              {\vspace{1ex}\noindent\normalfont\large\sffamily{\bfseries{#1}}\newline}}

Now what I would like to do is to suppress the indentation of the first paragraph that follows, similar to the way the regular \section commands presumably does it.

I understand I can add \noindent in from of the first paragraph, but it would be nicer to include this in the pseudo-section command that I defined.

6
  • 2
    is there any reason not to use the latex section defining commands such as \@startsection here so that tables of contents handling and control of indentation were automatic? – David Carlisle Mar 21 '17 at 20:22
  • Have a look at the noindentafter package. – user103221 Mar 21 '17 at 21:00
  • Do you use a KOMA-class? If so you can use \DeclareSectionCommand – Marco Daniel Mar 21 '17 at 21:34
  • apart from suppressing indentation a section command would normally be expected to prevent page breaks after the heading or after just one line of the next paragraph – David Carlisle Mar 21 '17 at 21:36
  • Ok, \@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). – user52366 Mar 22 '17 at 19:37
1

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:

enter image description here

enter image description here

\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:

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.