20

I want all of my \subsection behave like \subsection* Instead of adding * everywhere, I like to add a few lines in the preamble. What should I do? Can I just \renewcommand?

3
  • 2
    I'd think find & replace (or sed for example) would work just fine...
    – raphink
    Sep 12, 2011 at 16:38
  • 1
    Why not use 'Replace'? I think it is available in every editor - does it all automatically.
    – Count Zero
    Sep 12, 2011 at 16:41
  • Replace is obviously a possibility. But my document consists of many sub .tex files, so it would not be so convenient. And it is possible that I change my mind in the future. :)
    – Chang
    Sep 13, 2011 at 1:43

2 Answers 2

24

Write

\setcounter{secnumdepth}{1}

in your preamble. This says to LaTeX that only first level sections should be numbered; \subsection is level 2.

As Gonzalo Medina points out, there's also the tocdepth counter that controls what section levels are included in the table of contents. LaTeX is happy to include also unnumbered section levels in the ToC, it's a matter of taste and of the document's nature how deep one should go.

1
  • 4
    And \setcounter{tocdepth}{1} if a ToC is to be generated. Sep 12, 2011 at 16:40
6

Here is a way to redefine it. This uses the solution from Swap definition of starred and non-starred command:

\documentclass{article}

\makeatletter
\let\oldsubsection\subsection
\renewcommand\subsection{\@ifstar{\oldsubsection}{\oldsubsection*}}
\makeatother

\begin{document}
\section{First section}
\subsection{First subsection}
\end{document}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .