如何设置 titletoc 的边距

如何设置 titletoc 的边距

我目前正在做论文。我打算创建一个目录。我使用 titlesec 和 itletoc 来管理目录。

但是,有些章节标题是完全对齐的,但有些章节却不是。

因此,我想知道如何设置目录中标题章节的边距?

这是我的内容的结果。

在此处输入图片描述

在上图中,我想将标题名称的边距设置为不超过绿线。绿线设置在页面的中心或页面的第三四分位数。因此,标题不允许超过绿线边距。

这是我的示例代码。

\documentclass[fontsize=16pt,a4paper,oneside]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

% Layout packages
\usepackage[top=25mm, bottom=20mm, left=25mm, right=20mm]{geometry}

%%% toc packages                                                                                                      
\usepackage{titlesec}
\usepackage{titletoc}
\usepackage{lineno}

\setcounter{tocdepth}{1}
\makeatletter
\renewcommand\tableofcontents{%
    \chapter*{Contents}%
    \begin{flushright}
        \textbf{page}
    \end{flushright}
    % Hold current page value
    % for TOC heading
    \newcounter{tocitem}
    \setcounter{tocitem}{0}
    \modulolinenumbers[50]
    \linenumbers[1]
    \@starttoc{toc}%
    \setcounter{tocitem}{0}
    \clearpage
    \cleardoublepage
}
\makeatother

\titlecontents{chapter}
[0mm]
{\stepcounter{tocitem}}
{\MakeUppercase\chaptername\hspace{1ex}\thecontentslabel\enspace}
{}
{\titlerule*[0.6pc]{.}\contentspage}

\titlecontents{section}
[0mm]
{\stepcounter{tocitem}}
{\hspace{\firstindentlength}\thecontentslabel.\hspace{2mm}}
{\hspace{\firstindentlength}\thecontentslabel\hspace{2mm}}
{\titlerule*[0.6pc]{.}\contentspage} 


\begin{document}
    
\thispagestyle{empty}

\tableofcontents
\newpage

\chapter{new chapter1}
\newpage
\chapter{This is a handbook about TeX, a new typesetting system intended for the creation of beautiful books and especially for books that contain a lot of mathematics.}
\newpage
    
\end{document}

答案1

如果我理解正确的话,您可以使用 来做到这一点\contentsmargin

我擅自在目录中的章节之间添加了一些垂直填充,这将使其更易于阅读。我还删除了\newpage每章后面的:这是不必要的,因为书籍类默认在导航页上开始每章。

\documentclass[fontsize=16pt,a4paper,oneside]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
% Layout packages
\usepackage[top=25mm, bottom=20mm, left=25mm, right=20mm]{geometry}

%%% toc packages
\usepackage{titlesec}
\usepackage{titletoc}
\usepackage{lineno}

\setcounter{tocdepth}{1}
\makeatletter
\renewcommand\tableofcontents{%
    \chapter*{Contents}%
    \begin{flushright}
        \textbf{page}
    \end{flushright}
    % Hold current page value
    % for TOC heading
    \newcounter{tocitem}
    \setcounter{tocitem}{0}
    \modulolinenumbers[50]
    \linenumbers[1]
    \@starttoc{toc}%
    \setcounter{tocitem}{0}
    \clearpage
    \cleardoublepage
}
\makeatother
\contentsmargin{0.3\textwidth}
\titlecontents{chapter}
[0mm]
{\stepcounter{tocitem}}
{\MakeUppercase\chaptername\hspace{1ex}\thecontentslabel\enspace}
{}
{\titlerule*[0.6pc]{.}\contentspage}[\vskip 1.5ex]

\titlecontents{section}
[0mm]
{\stepcounter{tocitem}}
{\hspace{\firstindentlength}\thecontentslabel.\hspace{2mm}}
{\hspace{\firstindentlength}\thecontentslabel\hspace{2mm}}
{\titlerule*[0.6pc]{.}\contentspage}

\begin{document}

\thispagestyle{empty}

\tableofcontents

\chapter{new chapter1}
\chapter{This is a handbook about TeX, a new typesetting system intended for the creation of beautiful books and especially for books that contain a lot of mathematics.}

\end{document}

在此处输入图片描述

相关内容