我正在尝试使用该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