目录中章节号的宽度不够

目录中章节号的宽度不够

我正在尝试格式化我的论文,我从一位去年完成论文的朋友那里复制了格式化的内容。不幸的是,她只有两个章节,然后是小节。我有更多的章节,因为它们是罗马数字,所以数字会跑到我的标题里。据我所知,这个格式是正确的,但我想把标题文本稍微往右移一点:

\documentclass[12pt,fleqn, letterpaper]{report}
\usepackage{indentfirst}
\usepackage{setspace}
\usepackage{titlesec}
\usepackage[hidelinks]{hyperref}

\oddsidemargin 0in
\textwidth 6.5 in

\topmargin 0in
\headheight 0in
\headsep 0in
\textheight 8.6in
\footskip 0.4in

\makeatletter
\renewcommand*\l@chapter[2]{%
  \ifnum \c@tocdepth >\m@ne
    \addpenalty{-\@highpenalty}%
    \vskip 1.0em \@plus\p@
    \setlength\@tempdima{1.5em}%
    \begingroup
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      \leavevmode \bfseries
      \advance\leftskip\@tempdima
       \hskip -\leftskip
      #1\nobreak\normalfont\leaders\hbox{$\m@th
        \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
        mu$}\hfill\nobreak\hb@xt@\@pnumwidth{\hss #2}\par
      \penalty\@highpenalty
    \endgroup
  \fi}
\makeatother

\titleformat{\chapter}
  {\normalfont \center}{\thechapter}{1em}{}
\titlespacing*{\chapter}{0pt}{-.5 in}{0.35in}
\renewcommand{\thechapter}{\Roman{chapter}}

\renewcommand*\contentsname{TABLE OF CONTENTS}

 \begin{document}

\begin{singlespace}
\tableofcontents
\end{singlespace}

\addtocontents{toc}{\noindent CHAPTER\par}

\chapter{this is chapter I}
\chapter{this is chapter II}
\chapter{this is chapter III}
\chapter{this is chapter IV}
\chapter{this is chapter V}
\chapter{this is chapter VI}
\chapter{this is chapter VII}
\chapter{this is chapter VIII}

\end{document}

答案1

章节数字的宽度由 控制\@tempdima。您已将其设置为1.5em,显示为

在此处输入图片描述

将其增加至2.5em,输出将更改为:

在此处输入图片描述

根据您的喜好进行调整。

答案2

您可能会发现,与操纵低级 LaTeX 命令来实现某些与格式相关的目标相比,加载一个或多个 LaTeX 包并修改其中一些包的用户命令以满足您的特定目标更为容易(尤其是从长远来看)。特别是,您可能希望熟悉托克洛夫特几何学包。

以下 MWE 以您的代码为起点,并使用 geometry 和 tocloft 包来简化序言。顺便说一句,由于您在目录的标题行(“目录”)和副标题行(“章节”)中使用了“正常”(而不是粗体)字体粗细,因此我建议对章节条目也使用正常字体粗细。

在此处输入图片描述

\documentclass[12pt,fleqn,letterpaper]{report}
\usepackage{indentfirst}
\usepackage{setspace}

\usepackage{titlesec}
   \titleformat{\chapter}
      {\normalfont \center}{\thechapter}{1em}{}
   \titlespacing*{\chapter}{0pt}{-.5 in}{0.35in}
   \renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand*\contentsname{TABLE OF CONTENTS}

\usepackage[margin=1in]{geometry}

\usepackage{tocloft}
   \renewcommand\cfttoctitlefont{\normalsize\normalfont}
   \renewcommand\cftbeforetoctitleskip{0pt}
   \renewcommand\cftaftertoctitleskip{2\baselineskip}
   \setlength\cftchapnumwidth{3em}
   \renewcommand\cftchapleader{\cftdotfill{\cftdotsep}}
   \renewcommand\cftchapfont{\normalfont}
   \renewcommand\cftchappagefont{\normalfont}

% It's good practice to load the hyperref package 
% late in the preamble
\usepackage[hidelinks]{hyperref}

\begin{document}
\begin{singlespace}
\tableofcontents
\end{singlespace}

\addtocontents{toc}{\noindent CHAPTER\par}

\chapter{This is chapter I}
\chapter{This is chapter II}
\chapter{This is chapter III}
\chapter{This is chapter IV}
\chapter{This is chapter V}
\chapter{This is chapter VI}
\chapter{This is chapter VII}
\chapter{This is chapter VIII}

\end{document}

相关内容