En un ejemplo de látex (utilizando la clase "artículo"), me sale esto en el archivo .toc:
\contentsline {section}{\numberline {1}test section without number}{1}{section.1}
La parte importante aquí es la \numberline
macro. Redefiniendo a algo vacío como
\def\numberline#1{}
eliminará todas las numeraciones en la tabla de contenido y no en otra parte. Si usted consigue algo como \tocsubsection
lugar en el .toc (ver otra respuesta), entonces es probable que pueda hacer algo como:
\let\oldtocsubsection=\tocsubsection
\def\tocsubsection#1#2#3{\oldtocsubsection{#1}{}{#3}}
Sin embargo, esto elimina todos los los números en la tabla de contenido. Si desea controlar en qué nivel desaparece la numeración, la macro \contentsline
se expande a diferentes macros según el contexto, por ejemplo, \[email protected]
. Esas macros utilizan la macro genérica \@dottedtocline
. Este es el que debe modificar, en el cual redefiniremos condicionalmente \numberline
.
tener el control sobre la profundidad a la que deje de mostrar los números, vamos a definir un nuevo contador:
\newcounter{sectocnonumdepth}
\setcounter{sectocnonumdepth}{2}
A continuación, la redefinición condicional habrá línea siguiente (extraído del código para más facilidad de lectura).
\ifnum #1>\[email protected] \def\numberline##1{}\fi%
simplemente copiar-pegar la definición de \@dottedtocline
a partir del archivo fuente latex.ltx
, y añade el cheque en su interior.Aquí está el código para todo el ejemplo:
\newcounter{sectocnonumdepth}
\setcounter{sectocnonumdepth}{2}
\makeatletter
\def\@dottedtocline#1#2#3#4#5{%
\ifnum #1>\[email protected] \else
\vskip \[email protected] \@plus.2\[email protected]
{\ifnum #1>\[email protected] \def\numberline##1{}\fi%
\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
\parindent #2\relax\@afterindenttrue
\interlinepenalty\@M
\leavevmode
\@tempdima #3\relax
\advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
{#4}\nobreak
\leaders\hbox{$\[email protected]
\mkern \@dotsep mu\hbox{.}\mkern \@dotsep
mu$}\hfill
\nobreak
\[email protected]@\@pnumwidth{\hfil\normalfont \normalcolor #5}%
\par}%
\fi}
\makeatother
Nota final: esto hará que el título de la sección y el inciso a comenzar en la misma posición horizontal, ya que no hay un número para mostrar. Si quieres más relleno, se puede por ejemplo añadir \quad
a la nueva definición de \numberline
, o incluso a utilizar la definición original con sólo la #1
Eliminado:
\def\numberline##1{\[email protected]@\@tempdima{\hfil}}
Solo me gustaría decir que esto fue muy útil para mí. ¡Gracias! – Tyr