
Responder1
O \@sect
código é relevante para todas \section
as macros, etc., e há \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth...
verificação do valor de secnumdepth
. Substituindo isto \c@secnumdepth
por outro valor de contador é possível ocultar a numeração no ToC.
Eu apresentei o contador secnumtocdepth
para isso.
\documentclass{article}
\newcounter{secnumtocdepth}
\setcounter{secnumtocdepth}{2}
\makeatletter
\AtBeginDocument{%
\def\@sect#1#2#3#4#5#6[#7]#8{%
\ifnum #2>\c@secnumdepth
\let\@svsec\@empty
\else
\refstepcounter{#1}%
\protected@edef\@svsec{\@seccntformat{#1}\relax}%
\fi
\@tempskipa #5\relax
\ifdim \@tempskipa>\z@
\begingroup
#6{%
\@hangfrom{\hskip #3\relax\@svsec}%
\interlinepenalty \@M #8\@@par}%
\endgroup
\csname #1mark\endcsname{#7}%
\addcontentsline{toc}{#1}{%
\ifnum #2>\c@secnumtocdepth \else
\protect\numberline{\csname the#1\endcsname}%
\fi
#7}%
\else
\def\@svsechd{%
#6{\hskip #3\relax
\@svsec #8}%
\csname #1mark\endcsname{#7}%
\addcontentsline{toc}{#1}{%
\ifnum #2>\c@secnumtocdepth \else
\protect\numberline{\csname the#1\endcsname}%
\fi
#7}}%
\fi
\@xsect{#5}}
}
\makeatother
\newcommand{\leveltohide}{2}
\begin{document}
\tableofcontents
\section{First section}
\subsection{Foo subsection}
\subsubsection{Foo subsubsection}
\section{Second section}
\subsection{Foo subsection}
\subsubsection{Foo subsubsection}
\end{document}
Responder2
Com uma classe padrão você poderia usar package tocbasic
:
\documentclass{article}
\usepackage{tocbasic}
\newcommand\gobble[1]{}
\DeclareTOCStyleEntry[
entrynumberformat=\gobble,
numwidth=0pt
]{tocline}{subsubsection}
\begin{document}
\tableofcontents
\section{First section}
\subsection{Foo subsection}
\subsubsection{Foo subsubsection}
\section{Second section}
\subsection{Foo subsection}
\subsubsection{Foo subsubsection}
\end{document}
Resultado:
Isso também funcionaria com uma classe KOMA-Script, mas tocbasic
já está carregado pela classe.
Com umKOMA-Scriptclasse que você também pode usar\RedeclareSectionCommand
\documentclass{scrartcl}
\newcommand\gobble[1]{}
\RedeclareSectionCommand[
tocentrynumberformat=\gobble,
tocnumwidth=0pt
]{subsubsection}
\begin{document}
\tableofcontents
\section{First section}
\subsection{Foo subsection}
\subsubsection{Foo subsubsection}
\section{Second section}
\subsection{Foo subsection}
\subsubsection{Foo subsubsection}
\end{document}
Ou você pode redefinir \addsubsubsectiontocentry
:
\documentclass{scrartcl}
\renewcommand\addsubsubsectiontocentry[2]{%
\addtocentrydefault{subsubsection}{}{#2}%
}
\begin{document}
\tableofcontents
\section{First section}
\subsection{Foo subsection}
\subsubsection{Foo subsubsection}
\section{Second section}
\subsection{Foo subsection}
\subsubsection{Foo subsubsection}
\end{document}
Resultado: