# Convert all \subsection to \subsection*

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?

• I'd think find & replace (or sed for example) would work just fine... – ℝaphink Sep 12 '11 at 16:38
• Why not use 'Replace'? I think it is available in every editor - does it all automatically. – Count Zero Sep 12 '11 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 '11 at 1:43

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.

• And \setcounter{tocdepth}{1} if a ToC is to be generated. – Gonzalo Medina Sep 12 '11 at 16:40

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}