31

How do I hide section number in section heading ? I can't just use \section*{xxxx}, because I want subsections numbered correctly. I also tried :

\section*{xxxx}  
\stepcounter{xxxx}

Which hides section number and keeps subsection numbers. Unfortunately this solution also hides section in table of contents, which is undesirable.

Next attempt was :

\chapter{}
\section*{xxxx}
\addtocounter{section}{1}

However this made numbering of subsections continue on and on instead of reseting at new section. So what can I do to make it behave as normal, just not showing section numbers ? Thanks!

29

I think your best bet is to redefine \thesection, which is the macro that normally prints the section number.

\renewcommand\thesection{}

If you want subsection numbers to include the section numbers that aren't getting printed, you will also need to redefine \thesubsection, which normally calls \thesection:

\makeatletter
\renewcommand\thesection{}
\renewcommand\thesubsection{\@arabic\c@section.\@arabic\c@subsection}
\makeatother
  • Ok works well in hiding section number.Problem with this command is that it also hides section number in subsection numbering, which I want to keep so subsections are numbered like .1 .2 .3 and so on. – slezadav Oct 30 '12 at 14:30
  • See edit - I thought of that right after I hit save :) – zwol Oct 30 '12 at 14:30
  • 1
    Don't do this; there's most likely a package for that. – Reinstate Monica - M. Schröder Nov 1 '12 at 13:37
  • This still slightly indents the section (at least when used with scrartcl), so I prefer answer tex.stackexchange.com/a/300055/77029 – Max Feb 22 '18 at 9:37
41

Redefining \thesection is not sufficient. This will do better: the section title will be aligned to the left margin and not indented; in the table of contents, the section title will appear horizontally aligned to the chapter titles.

\documentclass{book}

\renewcommand{\thesection}{}
\renewcommand{\thesubsection}{\arabic{section}.\arabic{subsection}}
\makeatletter
\def\@seccntformat#1{\csname #1ignore\expandafter\endcsname\csname the#1\endcsname\quad}
\let\sectionignore\@gobbletwo
\let\latex@numberline\numberline
\def\numberline#1{\if\relax#1\relax\else\latex@numberline{#1}\fi}
\makeatother

\begin{document}
\frontmatter
\tableofcontents
\mainmatter
\chapter{Title}
\section{Xyz}
\subsection{Here we are}
\end{document}

Contents


Chapter

7

If you're using a KOMA-script document class (e.g., scrartcl), then for normal behaviour, just not showing section numbers, include in your preamble

\renewcommand*{\sectionformat}{}

This also works for \chapterformat (if you're using scrbook or scrreport), \partformat, all the way down to \subparagraphformat.

The counter counts the section despite the number label not being shown, so TOC, PDF bookmarks, and subsection numbering all operate as they should (tested with hyperref and bookmark packages loaded.)

  • @egreg's response works great, but it's a mouthful to use repeatedly. So I tried to define a macro that I could invoke whenever I needed this functionality. However, when I do the obvious thing. \def\foo{ @egreg's script } an error is thrown when I call \foo, because seccntformat requires an argument. Could somebody please tell me how to make the script into a macro? – Leo Simon Jun 10 '18 at 2:26

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.