Renumerando capítulo após parte, corrigindo ref, ToC e aspecto do cabeçalho do capítulo

Renumerando capítulo após parte, corrigindo ref, ToC e aspecto do cabeçalho do capítulo

O título pode parecer pouco claro.

Tenho um documento com várias partes, incluindo vários capítulos. Quero que a numeração do capítulo seja redefinida após cada nova parte (fácil), MAS: - Quero que o cabeçalho do meu capítulo seja apenas o número do capítulo (não Part.Chapter) - Quero que o ToC mostre o mesmo coisa (não o número da peça de cada capítulo e seção) - quero que a referência de um capítulo ou seção seja Part.Chap (.sec etc).

Aqui está um MWE com o pacote que uso em minha tese. Parece quase bom. Apenas a referência ao capítulo “I.1” não funciona.

\documentclass[twoside,12pt,openright,a4paper,usenames,dvipsnames]{book}
\usepackage[linktoc=all,hyperindex]{hyperref}
\usepackage{chngcntr}
\counterwithin{chapter}{part}

\usepackage{titlesec}
\usepackage[titles]{tocloft}
\titleformat{name=\chapter}[display]
{\bfseries\LARGE}
{\filleft\MakeUppercase{\chaptertitlename} \Huge\thechapter}
{0ex}
{%\titlerule
\vspace{2ex}%
\filleft}
[\vspace{4ex}%
\titlerule]

\titleformat{name=\chapter,numberless}
{\bfseries\LARGE}
{}
{0ex}
{%\titlerule
\filleft\MakeUppercase}
[\vspace{4ex}%
\titlerule]
\titlespacing*{\chapter}{0pt}{-25pt}{40pt}

\titleformat{\part}[frame]
{\bfseries\Huge}
{\filright\large\enspace{\partname}\enspace}
{40pt}
{\Large\filcenter\MakeUppercase}
\titleclass{\part}{top}

\begin{document}

\tableofcontents

\part{Part 1}

\chapter{Chap 1}

\label{chap:chapI1}

\chapter{Chap 2}

\part{Part 2}

\chapter{Chap 1}

As mentioned in chap.~\ref{chap:chapI1},...

\chapter{Chap 2}

\end{document}

Você sabe como posso consertar os árbitros? Procurei uma pergunta semelhante, mas nenhuma respondeu no caso de uso do Titlesec.

Responder1

aqui 2 soluções:

com

\usepackage{chngcntr}
\counterwithin{chapter}{part}

usar

\makeatletter
\renewcommand{\thechapter}{\@arabic\c@chapter}
\renewcommand{\p@chapter}{\thepart.}
\makeatother

sem ele usar

\makeatletter
\@addtoreset{chapter}{part}
\renewcommand{\p@chapter}{\thepart.}
\makeatother

Editarpara apêndice, substitua

\renewcommand{\p@chapter}{\thepart.}

por

\renewcommand{\p@chapter}{%
\ifx\@chapapp\chaptername\thepart.\fi}

a resposta que eu estava me referindo éaqui

informação relacionada