パートごとに章の番号を付け直し、参照、目次、章の見出しの外観を修正

パートごとに章の番号を付け直し、参照、目次、章の見出しの外観を修正

タイトルがわかりにくいかもしれません。

複数の章を含む複数の部分を持つドキュメントがあります。各新しい部分の後に章の番号をリセットしたい (簡単) ただし、次のようになります。 - 章のヘッダーを章の番号だけにしたい (Part.Chapter ではない) - 目次に同じものを表示したい (各章とセクションのパート番号ではない) - 章またはセクションへの参照を Part.Chap(.sec など) にしたい。

これは、私の論文で使用したパッケージの MWE です。ほぼ問題ないようです。ただし、「I.1」章への参照が機能しません。

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

refs を修正する方法をご存知ですか? 同様の質問を閲覧しましたが、titlesec を使用する場合の回答はありませんでした。

答え1

ここに2つの解決策があります:

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

使用

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

使用せずに

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

編集付録については、

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

による

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

私が言及した答えはここ

関連情報