如何使目录中的章节名称水平居中?

如何使目录中的章节名称水平居中?
\documentclass[12pt,a4paper]{report} 
\usepackage{setspace}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@dottedtocline}{\hbox{.}}{}{}{}
\patchcmd{\l@chapter}{1.5em}{5.6cm}{}{}
\renewcommand*\l@section{\@dottedtocline{1}{1.5em}{5cm}}
\renewcommand*\l@subsection{\@dottedtocline{1}{2.5em}{4.6cm}}
\makeatother


\begin{document}
     \pagenumbering{roman} 
     \tableofcontents 
     \addtocontents{toc}{\textbf{Chapter No}\hspace{3cm}\textbf{Title}\hfill\textbf{Page}\par}
    \thispagestyle{empty} 
    \newpage
    \addcontentsline{toc}{chapter}{\protect\numberline{}\listfigurename}
    \onehalfspacing
    \listoffigures
    \addtocontents{lof}{\textbf{Figure No}\hspace{3cm}\textbf{Title}\hfill\textbf{Page}\par}
    \thispagestyle{empty}
    \newpage 
    \addcontentsline{toc}{chapter}{\protect\numberline{}\listtablename}
    \onehalfspacing
    \listoftables
    \addtocontents{lot}{\textbf{Table No}\hspace{3cm}\textbf{Title}\hfill\textbf{Page}\par}
    \thispagestyle{empty}
    \newpage 
\chapter{Introduction}
 \section{Problem}
     This is the minimal code
     \begin{figure}[h]
        \caption{Abcd}
     \end{figure}
     \begin{table}[h]
        \caption{Xyz}
     \end{table}
     \subsection{Only}
 \chapter{Related Works}
 \begin{figure}
    \caption{Bcde}
 \end{figure}
 \end{document}

图片列表

图号标题页

 1.1          Abcd             iv
 2.1          Bcde             v

表格列表
表号 标题 页码 1.1 Xyz iv

我调用两个命令但是调用错误:

\renewcommand*\l@figure{\@dottedlofline{1}{2.5em}{5cm}}
\renewcommand*\l@table{\@dottedlotline{1}{2.5em}{5cm}}

答案1

这是一个解决方案。我们需要

  1. 删除类似条目部分中的点
  2. 重新定义命令\l@chapter, \l@section, ...
  3. 调整带星号章节的间距\addcontentsline{toc}{chapter}{\protect\numberline{}\listfigurename}

笔记在下面的例子中,\l@subsection如果需要,您仍然必须重新定义...。


更新对于图形列表,我们只需要重新定义\l@figure 它类似于\l@section

\renewcommand*\l@figure{\@dottedtocline{1}{1.5em}{5cm}}

注意图号长度不等章节编号所以我觉得最好用 3.4 厘米代替 3 厘米

\addtocontents{lof}{\textbf{Figure No}\hspace{3cm}\textbf{Title}\hfill\textbf{Page}\par}

\documentclass[12pt,a4paper]{report} 
\usepackage{setspace}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@dottedtocline}{\hbox{.}}{}{}{}
\patchcmd{\l@chapter}{1.5em}{5.6cm}{}{}
\renewcommand*\l@section{\@dottedtocline{1}{1.5em}{5cm}}
\renewcommand*\l@figure{\@dottedtocline{1}{1.5em}{5cm}}
\makeatother
\begin{document}
     \pagenumbering{roman} 
     \tableofcontents 
     \addtocontents{toc}{\textbf{Chapter No}\hspace{3cm}\textbf{Title}\hfill\textbf{Page}\par}
    \thispagestyle{empty} \newpage
    \addcontentsline{toc}{chapter}{\protect\numberline{}\listfigurename}
    \onehalfspacing
    \listoffigures
    \addtocontents{lof}{\textbf{Figure No}\hspace{3.4cm}\textbf{Title}\hfill\textbf{Page}\par}
    \thispagestyle{empty}
    \newpage 
\chapter{Introduction}
 \section{Problem}
     This is the minimal code
 \chapter{Related Works}
 \end{document}

在此处输入图片描述

相关内容