我在设置一本包含许多章节、节和小节的大书的目录时遇到了困难。水平间距不正确,页码的点也不正确。以下是显示问题的 MWE:
\documentclass[11pt,twoside]{book}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{microtype}
\usepackage[total={6.25in,10in},left=1.25in,top=0.5in,includehead,includefoot]{geometry}
\usepackage{lipsum}
\usepackage[titles]{tocloft}
\renewcommand{\cftdotsep}{2} % Points spacement.
\makeatletter % To fix a small offset with page number. TO BE FIXED!
\renewcommand{\@pnumwidth}{2.3em} % {1.75em} TO BE FIXED!
% Chapter spacement:
\renewcommand{\cftchappresnum}{\chaptername\ }
\renewcommand{\cftchapaftersnumb}{\newline}
\setlength{\cftchapindent}{0pt} % Spacement to left of chapter number.
\setlength{\cftchapnumwidth}{0pt} %
% Sections spacement:
\renewcommand{\cftsecpresnum}{\hfill} % ??
\renewcommand{\cftsecaftersnum}{~} % Appears to be too short. TO BE FIXED!
\setlength{\cftsecindent}{11pt} % Random number? TO BE FIXED!
\setlength{\cftsecnumwidth}{32pt} % Random number? TO BE FIXED!
\addtolength{\cftsecnumwidth}{8pt} % ??
% Sub-sections spacement:
\renewcommand{\cftsubsecpresnum}{\hfill} % ??
\renewcommand{\cftsubsecaftersnum}{~} % Appears to be too short. TO BE FIXED!
\setlength{\cftsubsecindent}{56pt} % Random number? TO BE FIXED!
\setlength{\cftsubsecnumwidth}{48pt} % Random number? TO BE FIXED!
\addtolength{\cftsubsecnumwidth}{12pt} % ??
\begin{document}
\frontmatter
\tableofcontents
\mainmatter
\chapter{Chapter Title}
\setcounter{page}{12}
\lipsum[2-4]
\section{Section Title}
\lipsum[2-4]
\subsection{Subsection}
\lipsum[2-4]
\section{Section Title}
\lipsum[2-4]
\subsection{Subsection}
\lipsum[2-4]
\chapter{Chapter Title}
\setcounter{page}{850}
\lipsum[2-4]
\setcounter{section}{12}
\section{Section Title}
\lipsum[2-4]
\setcounter{subsection}{15}
\subsection{Subsection}
\lipsum[2-4]
\section{Section Title}
\lipsum[2-4]
\subsection{Subsection}
\lipsum[2-4]
\setcounter{chapter}{12}
\chapter{Chapter Title}
\setcounter{page}{1311}
\lipsum[2-4]
\section{Section Title}
\lipsum[2-4]
\subsection{Subsection}
\lipsum[2-4]
\section{Section Title}
\lipsum[2-4]
\subsection{Subsection}
\lipsum[2-4]
\setcounter{subsection}{14}
\subsection{Subsection}
\lipsum[2-4]
\setcounter{section}{15}
\section{Section Title}
\lipsum[2-4]
\setcounter{subsection}{12}
\subsection{Subsection}
\lipsum[2-4]
\subsection{Subsection}
\lipsum[2-4]
\subsection{Subsection}
\lipsum[2-4]
\subsection{Subsection}
\lipsum[2-4]
\subsection{Subsection}
\lipsum[2-4]
\subsection{Subsection}
\lipsum[2-4]
\backmatter
\pagestyle{plain}
\end{document}
预览,问题以红色显示:
如图所示,右侧有一些多余的点。如何解决这个问题?我需要最后一个点和其页码之间的间距恒定,或者所有点都应该对齐(无论页码是多少)。
章节/子章节标题与其编号之间的间距看起来有点太紧。我应该用什么来代替
{~}
?左边距的间距似乎是随机的,对于使用 11 点字体的书,我不知道应该在那里使用什么数字。目前,我仅使用肉眼看起来奇怪的数字(11pt、32pt、8pt、56pt、48pt、12pt ??)。我需要帮助。
编辑: 关于圆点问题,microtype
包装似乎是造成多余圆点的原因。下面给出了一个简单的解决方案: 我怎样才能使目录中的点在同一位置结束?
答案1
这是您的 MWE 的修订版本。
% tocprob.tex SE 557386
\documentclass[11pt,twoside]{book}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{microtype}
\usepackage[total={6.25in,10in},left=1.25in,top=0.5in,includehead,includefoot]{geometry}
\usepackage{lipsum}
\usepackage[titles]{tocloft}
\renewcommand{\cftdotsep}{2.10} % Points spacement. % PW changed
\makeatletter % To fix a small offset with page number. TO BE FIXED!
\renewcommand{\@pnumwidth}{2.3em} % {1.75em} TO BE FIXED!
% Chapter spacement:
\renewcommand{\cftchappresnum}{\chaptername\ }
\renewcommand{\cftchapaftersnumb}{\newline}
\setlength{\cftchapindent}{0pt} % Spacement to left of chapter number.
\setlength{\cftchapnumwidth}{0pt} %
% Sections spacement:
% \renewcommand{\cftsecpresnum}{\hfill} % ??
% \renewcommand{\cftsecaftersnum}{~} % Appears to be too short. TO BE FIXED!
% \setlength{\cftsecindent}{11pt} % Random number? TO BE FIXED!
% \setlength{\cftsecnumwidth}{32pt} % Random number? TO BE FIXED!
\addtolength{\cftsecnumwidth}{8pt} % ??
% Sub-sections spacement:
% \renewcommand{\cftsubsecpresnum}{\hfill} % ??
% \renewcommand{\cftsubsecaftersnum}{~} % Appears to be too short. TO BE FIXED!
% \setlength{\cftsubsecindent}{56pt} % Random number? TO BE FIXED!
% \setlength{\cftsubsecnumwidth}{48pt} % Random number? TO BE FIXED!
\addtolength{\cftsubsecnumwidth}{12pt} % ??
\begin{document}
\frontmatter
\tableofcontents
\mainmatter
\chapter{Chapter Title}
\setcounter{page}{12}
\lipsum[2-4]
\section{Section Title}
\lipsum[2-4]
\subsection{Subsection}
\lipsum[2-4]
\section{Section Title}
\lipsum[2-4]
\subsection{Subsection}
\lipsum[2-4]
\chapter{Chapter Title}
\setcounter{page}{850}
\lipsum[2-4]
\setcounter{section}{12}
\section{Section Title}
\lipsum[2-4]
\setcounter{subsection}{15}
\subsection{Subsection}
\lipsum[2-4]
\section{Section Title}
\lipsum[2-4]
\subsection{Subsection}
\lipsum[2-4]
\setcounter{chapter}{12}
\chapter{Chapter Title}
\setcounter{page}{1311}
\lipsum[2-4]
\section{Section Title}
\lipsum[2-4]
\subsection{Subsection}
\lipsum[2-4]
\section{Section Title}
\lipsum[2-4]
\subsection{Subsection}
\lipsum[2-4]
\setcounter{subsection}{14}
\subsection{Subsection}
\lipsum[2-4]
\setcounter{section}{15}
\section{Section Title}
\lipsum[2-4]
\setcounter{subsection}{12}
\subsection{Subsection}
\lipsum[2-4]
\subsection{Subsection}
\lipsum[2-4]
\subsection{Subsection}
\lipsum[2-4]
\subsection{Subsection}
\lipsum[2-4]
\subsection{Subsection}
\lipsum[2-4]
\subsection{Subsection}
\lipsum[2-4]
\backmatter
\pagestyle{plain}
\end{document}
基本上,我所做的就是注释掉许多tocloft
更改,以恢复到一般的目录布局。在某些地方,您需要在数字和标题之间留出额外的空间,而我只是将额外的空间添加到默认间距中。我不知道是什么导致了点间距的问题,但将您的\cftdotsep
从更改2
为2.10
似乎已经解决了这个问题。