逐章重新编号,更正参考文献、目录和章节标题

逐章重新编号,更正参考文献、目录和章节标题

标题可能看上去不清楚。

我有一份包含多个部分(包括多个章节)的文档。我希望在每添加一个新部分后重置章节编号(简单)但: - 我希望章节的标题仅为章节编号(而不是 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

这里有两个解决方案:

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

我提到的答案是这里

相关内容