在标题和目录中标记部分“第一部分”、“第二部分”等

在标题和目录中标记部分“第一部分”、“第二部分”等

我确信这个问题已经被问过并得到回答了,但我不知道在论坛中寻找什么。

我想在目录中以及零件本身的开头标记我的零件标题,如“第一部分”、“第二部分”等。

那的代码是什么?

答案1

两个补丁\@part(一个用于目录中的条目,另一个用于文档中的标题)即可完成该工作;fmtcount包用于将part计数器的阿拉伯数字表示转换为序数字符串:

\documentclass{book}
\usepackage{xpatch}
\usepackage{fmtcount}

\makeatletter
\xpatchcmd{\@part}
  {\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}}
  {\addcontentsline{toc}{part}{\Ordinalstring{part}~\partname:\hspace{0.5em}#1}}
  {}
  {}
\xpatchcmd{\@part}
  {\partname\nobreakspace\thepart}
  {\Ordinalstring{part}\nobreakspace\partname}
  {}
  {}
\makeatother

\begin{document}

\tableofcontents
\part{Test part}
\part{Another test part}
\part{Yet another test part}

\end{document}

目录图片:

在此处输入图片描述

文档正文的图像显示了第一页的标题:

在此处输入图片描述

答案2

这是一个使用 titlesectitletocfmtcount以及\rmntonum来自的命令的解决方案etoolbox;我们必须使用它将 .aux 文件中的零件编号(罗马数字)的显示方式转换为阿拉伯数字。

\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{fourier}
\usepackage{microtype}
\usepackage{babel}
\usepackage{lipsum}

\usepackage{etoolbox}
\usepackage{fmtcount}

\usepackage[pagestyles, newparttoc]{titlesec}
\titleformat{\section}[hang]{\large\bfseries\boldmath}{§~\thesection}{0.6em}{\itshape}%
\titleformat{\part}[block]{\filcenter\lsstyle\bfseries\scshape\Large}{ \Ordinalstring{part} \partname: }{0.5em}{}%

\usepackage{titletoc}

\dottedcontents{section}[4em]{\bfseries}{1.85em}{1pc}%

\newsavebox{\partlabel}
\titlecontents{part}[1.5em]{\medskip\bfseries\renewcommand{\thepart}{\relax}}%
{\sbox{\partlabel}{\Ordinalstringnum{\expandafter\rmntonum\expandafter{\thecontentslabel}}~\partname: }%
\contentslabel[\usebox{\partlabel}]{0em}\hphantom{[\usebox{\partlabel}}}%
{\hspace*{0.06em}}%
{\hfill\contentspage}%
[\smallskip]%

\begin{document}

\tableofcontents{}

\part{An Interesting Part}
\lipsum[1-2]
\section{A First Section}
\lipsum[1-10]
\section{A Second Section}
\lipsum[1-10]
\part*{A Boring Numberless Part}
\lipsum[1]
\section{Section A}
\lipsum[1]
\section{Section B}
\lipsum[1]
\part{Another Numbered Part}

\end{document} 

在此处输入图片描述

答案3

我猜你想避免自动出现“第一部分”(等等)。你可以用\renewcommand{\partname}{}(在序言中)删除它 - 虽然罗马数字会保留。

一位 MWE 表示:

\documentclass{book}
\renewcommand{\partname}{}
\begin{document}
\tableofcontents
\part{First Part}
\chapter{some title}
\newpage
\chapter{another one}
\part{Second Part}
\end{document}

相关内容