2017-01-03 41 views
0

我有一個帶有編號和無編號章節的文檔。爲了在TOC中區分它們,我希望無編號的章節用斜體表示。我的MWE在章節標題上工作 - 我怎樣才能用斜體格式化相應的頁碼?在TOC中格式化無編號的章節

另外,是否可以居中第1部分條目?

\documentclass[a4paper, 12pt]{report} 

\usepackage[titles]{tocloft} 

\begin{document} 
\tableofcontents 

\part{Part 1} 

\chapter{Numbered chapter} 

\chapter*{Unnumbered chapter} 
\addcontentsline{toc}{chapter}{\textit{Unnumbered chapter}} 

\end{document} 

回答

1

你可以寫什麼,自然是\addcontentsline完成使用\addtocontents{toc}手動:

enter image description here

\documentclass{report} 

\usepackage[titles]{tocloft} 

\begin{document} 

\tableofcontents 

\chapter{Numbered chapter} 

\chapter*{Unnumbered chapter} 
\addtocontents{toc} 
    {\protect\contentsline{chapter}{\textit{Unnumbered chapter}}{\textit{\thepage}}} 

\end{document} 

以上應爲\chapter的工作,因爲它們通常一個新的頁面上設置的,因此\thepage將導致正確的值。但是,它不適用於hyperref

可替代地,定義一個新的類型TOC-條目的稱爲chapterstar

\documentclass{report} 

\usepackage[titles]{tocloft} 
\usepackage{etoolbox} 

\makeatletter 
\let\[email protected]\[email protected] 
% \patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>} 
\patchcmd{\[email protected]}{\cftchapfont}{\cftchapstarfont}{}{}% Insert starred chapter font 
\patchcmd{\[email protected]}{#2}{\cftchapstarpagefont #2}{}{}% Insert starred chapter page number font 
\makeatother 

\newcommand{\cftchapstarfont}{\cftchapfont\itshape} 
\newcommand{\cftchapstarpagefont}{\cftchappagefont\itshape} 

\begin{document} 

\tableofcontents 

\chapter{Numbered chapter} 

\chapter*{Unnumbered chapter} 
\addcontentsline{toc}{chapterstar}{Unnumbered chapter} 

\end{document} 

上述溶液可與hyperref並且是更通用的。