在目录中仅针对编号章节条目添加单词“章节”

在目录中仅针对编号章节条目添加单词“章节”

我正在尝试使用该titletoc包将单词“Chapter”仅添加到目录中的编号条目中。我正在使用report文档类。我真的很接近(我认为),我只需要知道如何将无编号条目与编号条目中的单词“Chapter”对齐。

以下是我得到的信息:

\usepackage{titletoc}% 
\titlecontents{chapter}% <section-type>
  [0pt]% <left>
  {}% <above-code>
  {\bfseries\chaptername\ \thecontentslabel\quad}% <numbered-entry-format>
  {\bfseries}% <numberless-entry-format>
  {\bfseries\hfill\contentspage}% <filler-page-format>

这给了我:

目录结果

我想将左侧那些无编号的章节与“章节”一词对齐。此外,我收到了\hbox有关页码有四个或更多字符(例如 viii)的警告,我不确定该如何处理它们。我是 LaTeX 新手,不知所措。我尝试查看文档,titletoc但没有成功。提前致谢!

编辑:根据要求,这里是 MWE:

\documentclass[12pt]{report}
\usepackage[utf8]{inputenc}

\usepackage{titletoc}% 
\titlecontents{chapter}% <section-type>
  [0pt]% <left>
  {}% <above-code>
  {\bfseries\chaptername\ \thecontentslabel:\quad}% <numbered-entry-format>
  {\bfseries}% <numberless-entry-format>
  {\bfseries\hfill\contentspage}% <filler-page-format>

\usepackage{lipsum}

\usepackage{setspace}

\begin{document}

\pagenumbering{roman}      
\clearpage                  
\setcounter{page}{2}        

\chapter*{Abstract}
\addcontentsline{toc}{chapter}{\numberline{}Abstract}
\lipsum[1]

\chapter*{Acknowledgements}
\addcontentsline{toc}{chapter}{\numberline{}Acknowledgements}
\lipsum[1]

\begin{doublespace}
\renewcommand*{\contentsname}{Table of Contents}
\tableofcontents
\addcontentsline{toc}{chapter}{\numberline{}Table of Contents}
\end{doublespace}

\pagenumbering{arabic}
%\setcounter{page}{255}  % % Uncomment to see \hbox warnings due to long TOC page number

\chapter{Introduction}
\lipsum[1]
\section{Section one}
\lipsum[1]

\chapter{Second Chapter}
\lipsum[1]
\section{Another section}
\lipsum[1]

\end{document}

注意:删除评论即可收到\hbox警告。再次感谢

答案1

您没有\addcontentsline以正确的方式使用。

代替

\addcontentsline{toc}{chapter}{\numberline{}Abstract}

你必须使用

\addcontentsline{toc}{chapter}{Abstract}

结果将是好的。

还要注意,\bfseries可以在第一个强制参数中指定,因此不必在其他参数中重复:

\titlecontents{chapter}% <section-type>
  [0pt]% <left>
  {\bfseries}% <above-code>
  {\chaptername\ \thecontentslabel:\quad}% <numbered-entry-format>
  {}% <numberless-entry-format>
  {\hfill\contentspage}% <filler-page-format>

梅威瑟:

\documentclass[12pt]{report}
\usepackage[utf8]{inputenc}

\usepackage{titletoc}%
\titlecontents{chapter}% <section-type>
  [0pt]% <left>
  {\bfseries}% <above-code>
  {\chaptername\ \thecontentslabel:\quad}% <numbered-entry-format>
  {}% <numberless-entry-format>
  {\hfill\contentspage}% <filler-page-format>

\usepackage{lipsum}

\usepackage{setspace}

\begin{document}

\pagenumbering{roman}
\clearpage
\setcounter{page}{2}

\chapter*{Abstract}
\addcontentsline{toc}{chapter}{Abstract}
\lipsum[1]

\chapter*{Acknowledgements}
\addcontentsline{toc}{chapter}{Acknowledgements}
\lipsum[1]

\begin{doublespace}
\renewcommand*{\contentsname}{Table of Contents}
\tableofcontents
\addcontentsline{toc}{chapter}{Table of Contents}
\end{doublespace}

\pagenumbering{arabic}
%\setcounter{page}{255}  % % Uncomment to see \hbox warnings due to long TOC page number

\chapter{Introduction}
\lipsum[1]
\section{Section one}
\lipsum[1]

\chapter{Second Chapter}
\lipsum[1]
\section{Another section}
\lipsum[1]

\end{document} 

在此处输入图片描述

关于过满\hbox警告,我不知道用 来解决它的好方法titletoc,但我知道一种更好的方法tocloft,使用 ,效果比 好得多titletoc

所以你可以更换这些titletoc东西

\usepackage{titletoc}%
\titlecontents{chapter}% <section-type>
  [0pt]% <left>
  {\bfseries}% <above-code>
  {\chaptername\ \thecontentslabel:\quad}% <numbered-entry-format>
  {}% <numberless-entry-format>
  {\hfill\contentspage}% <filler-page-format>

\usepackage[titles]{tocloft}
\newlength\mylength
\renewcommand\cftchappresnum{\chaptername~}
\renewcommand\cftchapaftersnum{:}
\settowidth\mylength{\cftchappresnum\cftchapaftersnum\quad}
\addtolength\cftchapnumwidth{\mylength}

以及以下 MWE

\documentclass[12pt]{report}
\usepackage[utf8]{inputenc}

\usepackage[titles]{tocloft}
\newlength\mylength
\renewcommand\cftchappresnum{\chaptername~}
\renewcommand\cftchapaftersnum{:}
\settowidth\mylength{\cftchappresnum\cftchapaftersnum\quad}
\addtolength\cftchapnumwidth{\mylength}

\usepackage{lipsum}

\usepackage{setspace}

\begin{document}

\pagenumbering{roman}
\clearpage
\setcounter{page}{2}

\chapter*{Abstract}
\addcontentsline{toc}{chapter}{Abstract}
\lipsum[1]

\chapter*{Acknowledgements}
\addcontentsline{toc}{chapter}{Acknowledgements}
\lipsum[1]

\begin{doublespace}
\renewcommand*{\contentsname}{Table of Contents}
\tableofcontents
\addcontentsline{toc}{chapter}{Table of Contents}
\end{doublespace}

\pagenumbering{arabic}
\setcounter{page}{255}  % % Uncomment to see \hbox warnings due to long TOC page number

\chapter{Introduction}
\lipsum[1]
\section{Section one}
\lipsum[1]

\chapter{Second Chapter}
\lipsum[1]
\section{Another section}
\lipsum[1]

\end{document} 

会给出以下结果

在此处输入图片描述

答案2

以下对我有用(基于您的 MWE),但是它有点像黑客。

\usepackage{titletoc}% 
\titlecontents{chapter}% <section-type>
  [0pt]% <left>
  {}% <above-code>
  {\bfseries\chaptername\ \thecontentslabel:\quad}% <numbered-entry-format>
  {\bfseries\raggedright\hspace{-0.575\linewidth}}% <numberless-entry-format>
  {\bfseries\hfill\contentspage}% <filler-page-format>

hbox 警告似乎是由章节(而不是部分)的页码为粗体引起的。您想要这样吗,还是希望所有页码都采用相同(非粗体)字体?

答案3

我知道您正在使用titletoc,但我最近也有同样的愿望,希望有一个已经严重依赖 的文档tocloft。为了记录解决方案,我tocloft使用以下内容实现了相同的行为:

\let\oldcftchappresnum\cftchappresnum
\renewcommand*{\cftchappresnum}{Chapter \oldcftchappresnum} %change the chapter number to include the word "Chapter"
\setlength{\cftchapnumwidth}{6em} %Make space for the word "Chapter"... was previously set to 1.5em

相关内容