Problema de numeración de secciones en toc cuando se usa tocloft

Problema de numeración de secciones en toc cuando se usa tocloft

Cuando se usa \part con tocloft (sin fontspec) en pdflatex como se sugiere en la respuesta de esta publicaciónSeparar el libro en partes y capítulos., encuentro un problema en la numeración de secciones en la tabla de contenido como este.

Contenido

Primera parte

1 Capítulo1

1 Secciones1.1

1.1 Subsección 1.1.1

2 Capítulo 2

1 Sección 2.1

1 Sección 2.2

1.1 Subsección 2.2.1

Segunda parte

3 Capítulo 3

2 Sección 3.1

2.1 Subsección 3.1.1

Sin embargo, la sección del texto está bien.

¿Alguien me puede ayudar? Gracias.

El preámbulo es el siguiente.

\documentclass[a4paper,10pt]{book}
\usepackage{amsmath,amssymb,amsfonts,amsthm}
\usepackage{inputenc}
\usepackage{tabularx}
\usepackage{mathtools}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{textcomp}
\usepackage{xpatch}
\usepackage{tikz}
\usepackage{tocloft}
\usepackage{inputenc}
\usepackage{xspace}
\usepackage{fancyhdr} 
\pagestyle{fancy}
\fancyhf{}
\fancyhead[LE,RO]{}
\fancyhead[RE,LO]{\textcopyright~ Prints 2019}
\fancyfoot[CE,CO]{}
\fancyfoot[LE,RO]{\thepage}

\everymath{\displaystyle}

\newtheorem{prop}{Proposition}[chapter]
\newtheorem{defn}{Definition}[chapter]
\newtheorem{lemma}{Lemma}
\newtheorem{theorem}{Theorem}[chapter]
\newtheorem{corollary}[prop]{Corollary}
\newtheorem{remark}{Remark}
\newtheorem{example}{Example}[chapter]

\newcommand{\floorceil}[1]{\lceil #1 \rfloor}

\makeatletter
\xpatchcmd{\@thm}{\thm@headpunct{.}}{\thm@headpunct{}}{}{}
\makeatother

\renewcommand{\cftpartfont}{\bfseries\Large\hrule}%add line above part
\renewcommand{\cftpartpagefont}{\bfseries}
\renewcommand{\cftbeforepartskip}{5mm}
\renewcommand{\cftpartafterpnum}{\\\hrule}%add line below part
\cftpagenumbersoff{part}%get rid of part page numbers
\renewcommand{\cftsecindent}{8mm}%control spacing between number and sec title
\renewcommand{\cftsecnumwidth}{4mm}%section indent
\renewcommand{\cftparskip}{4mm}%control line spacing

\begin{document}
\tableofcontents
\part{First part}
\chapter{Chapter1}
\section{Sections1.1}
\subsection{Subsection1.1.1}
\chapter{Chapter2}
\section{Section2.1}
\section{Section2.2}
\subsection{Subsection2.2.1}
\part{Second part}
\chapter{Chapter3}
\section{Section3.1}
\subsection{Subsection3.1.1}
\end{document}

Una instantánea del toc está aquí.toc1[![][1]]2

Respuesta1

Algunos comentarios y sugerencias:

  • Los parámetros de longitud del tocloftpaquete deben modificarse mediante \setlength, no\renewcommand

  • considere reemplazar

    \renewcommand{\cftsecindent}{8mm}%control spacing between number and sec title
    \renewcommand{\cftsecnumwidth}{4mm}%section indent
    

    con

    \cftsetindents{chap}{0em}{1.5em}
    \cftsetindents{sec}{1.5em}{2em}
    \cftsetindents{subsec}{3.5em}{2.75em}
    

    Obviamente, usted es libre de modificar estas configuraciones para adaptarlas a sus preferencias y necesidades tipográficas.


ingrese la descripción de la imagen aquí

\documentclass[a4paper,10pt]{book}
\usepackage{mathtools,amssymb,amsthm}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{textcomp}
\usepackage{xpatch}
\usepackage{tikz}
\usepackage{tocloft}
\usepackage{xspace}

\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[LE,RO]{}
\fancyhead[RE,LO]{\textcopyright~ Prints 2019}
\fancyfoot[CE,CO]{}
\fancyfoot[LE,RO]{\thepage}

\everymath{\displaystyle}

\newtheorem{prop}{Proposition}[chapter]
\newtheorem{defn}{Definition}[chapter]
\newtheorem{lemma}{Lemma}
\newtheorem{theorem}{Theorem}[chapter]
\newtheorem{corollary}[prop]{Corollary}
\newtheorem{remark}{Remark}
\newtheorem{example}{Example}[chapter]

\newcommand{\floorceil}[1]{\lceil #1 \rfloor}

\makeatletter
\xpatchcmd{\@thm}{\thm@headpunct{.}}{\thm@headpunct{}}{}{}
\makeatother

\renewcommand{\cftpartfont}{\hrule\bfseries\Large}%add line above part
\renewcommand{\cftpartpagefont}{\bfseries}
\setlength{\cftbeforepartskip}{5mm}
\renewcommand{\cftpartafterpnum}{\\\hrule}%add line below part
\cftpagenumbersoff{part}%no page numbers for part-level entries

%% commented out:
%\setlength{\cftsecindent}{8mm}% spacing between number and sec title
%\setlength{\cftsecnumwidth}{6mm}%section indent

%% new instructions:
\cftsetindents{chap}{0em}{1.5em}
\cftsetindents{sec}{1.5em}{2em}  % 1st length should be sum of lengths on preceding line
\cftsetindents{subsec}{3.5em}{2.75em}

\setlength{\cftparskip}{4mm}%control line spacing

\begin{document}
\tableofcontents

\part{First part}
\chapter{Chapter1}
\section{Section1.1}
\subsection{Subsection1.1.1}
\chapter{Chapter2}
\section{Section2.1}
\section{Section2.2}
\subsection{Subsection2.2.1}
\part{Second part}
\chapter{Chapter3}
\section{Section3.1}
\subsection{Subsection3.1.1}
\end{document}

información relacionada