부품별로 장 번호를 다시 매기고 참조, ToC 및 장 헤더 측면을 수정합니다.

부품별로 장 번호를 다시 매기고 참조, ToC 및 장 헤더 측면을 수정합니다.

제목이 불분명해 보일 수도 있습니다.

여러 장을 포함하여 여러 부분으로 구성된 문서가 있습니다. 각 새 파트 이후에 장의 번호 매기기를 재설정하고 싶습니다(쉬움). 하지만: - 장의 헤더가 장의 번호(Part.Chapter가 아님)가 되기를 원합니다. - ToC에서도 동일한 내용을 표시하고 싶습니다. 것(각 장과 섹션의 부품 번호가 아님) - 장이나 섹션에 대한 참조를 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}

심판을 어떻게 고칠 수 있는지 아시나요? 비슷한 질문을 찾아봤지만 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}

내가 말한 대답은여기

관련 정보