Índice de contenidos: ocultar la numeración de las subsecciones

Índice de contenidos: ocultar la numeración de las subsecciones

Me gustaría saber si hay alguna manera de ocultar la numeración de las subsecciones en la tabla de contenido manteniendo la numeración de las secciones y subsecciones. En la imagen podéis ver cómo luce actualmente.

Gracias

Así es como se ve ahora. Me gustaría ocultar la numeración de las subsecciones.

Respuesta1

El \@sectcódigo es relevante para todos \section, etc., como macros, y se \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth...verifica el valor de secnumdepth. Reemplazando esto \c@secnumdepthpor otro valor de contador es posible ocultar la numeración en el ToC.

He introducido el contador secnumtocdepthpara esto.

ingrese la descripción de la imagen aquí

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

Respuesta2

Con una clase estándar puedes usar el paquete 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:

ingrese la descripción de la imagen aquí

Esto también funcionaría con una clase KOMA-Script, pero tocbasicla clase ya lo carga.


Con unKOMA-Scriptclase que también podrías 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}

O podrías 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:

ingrese la descripción de la imagen aquí

información relacionada