删除目录、图表列表、表格列表和词汇表标题前的空格,但不改变字体

删除目录、图表列表、表格列表和词汇表标题前的空格,但不改变字体

我的代码的相关部分如下:

\documentclass[a4paper, 12pt, twoside]{report}

\usepackage{fancyhdr}

\usepackage{titlesec}
\titleformat{\chapter}[display]
  {\normalfont\sffamily\huge\bfseries}
  {\thechapter}{20pt}{\Huge}

\titleformat{\section}
  {\sffamily\Large\bfseries}
  {\thesection}{1em}{}

\titleformat{\subsection}[block]
{\large\bfseries\sffamily}%
{\thesubsection}{5mm}{}
  
\titleformat{\subsubsection}[block]
  {\sffamily\bfseries}
  {\thesubsubsection}{1em}{}


% abbreviations package
\renewcommand{\glsnamefont}[1]{\textsf{#1}} %Change acronym name font   

% \makenomenclature
\usepackage[acronym, nopostdot]{glossaries}
\newacronym{eg}{e.g.}{example abbreviation}
\makeglossaries

\usepackage[a4paper, 
            left=30mm, right=30mm,
            top=20mm, bottom=20mm]{geometry}


\makeatletter
\def\@makechapterhead#1{%
  \vspace*{10\p@}%
  {\parindent \z@ \raggedright \normalfont
    \interlinepenalty\@M
    \LARGE \bfseries \sffamily
    \ifnum \c@secnumdepth >\m@ne
      \thechapter.\nobreakspace
    \fi
    #1\par\nobreak
    \vskip 20\p@
  }}
\makeatother


\begin{document}
\sffamily


\tableofcontents
\addcontentsline{toc}{chapter}{List of Contents}

\listoffigures
\addcontentsline{toc}{chapter}{List of Figures}

\listoftables
\addcontentsline{toc}{chapter}{List of Tables}

\printglossary[type=\acronymtype,title=Abbreviations,nonumberlist]
\addcontentsline{toc}{chapter}{Abbreviations}


\include{Introduction/Introduction}
\include{main/main}

\emergencystretch=1em
\addcontentsline{toc}{chapter}{Bibliography}
\printbibliography

\end{document}

我希望所有字体都为 \sffamily,就像现在一样。我还希望主标题(例如目录和表格列表)上方的空间更小(与我为章节设置的(10pt + 边距)相匹配)。

我试过

\usepackage{etoolbox}
\patchcmd{\tableofcontents}{\@starttoc}{\vspace{-1cm}\@starttoc}{}{}

但这对我的缩写不起作用,只移动了内容而不是标题(也就是说,它减少了标题后的空间,我想减少空间

我也尝试添加

\usepackage[titles]{tocloft}
\titleformat{\chapter}[hang]{\huge\bfseries\sffamily}{\thechapter.}{1em}{}
\titlespacing*{\chapter}{10pt}{-1.5em}{1.1\parskip}
\titlelabel{\thetitle\quad} 

这对于间距来说是完美的,但将一些字体改回了默认设置(例如,在目录页中,不是章节标题而是所有副标题)。

有没有办法获得我想要的间距并保留我的字体?谢谢

答案1

在书籍类中,当我使用 \usepackage{tocloft,etoolbox}% 而不是 \usepackage{etoolbox} 时,很多事情发生了变化。然后我插入

\renewcommand{\cftbeforetoctitleskip}{-0.25in} % Title is 1in from top

\renewcommand{\cftaftertoctitleskip}{1.0\baselineskip}% 1 double space after title

对于“lot”(而不是“toc”)也同样如此。

在标题格式中我重复了所需的字体:

\titleformat{\chapter}[hang]{\Large\bf}{\thechapter{.~}}{0pt}{\Large\bf\lineskiplimit=-\maxdimen}%

这也许对报告课也有帮助。

答案2

目录等标题通过命令设置\chapter*。您已重新定义了代码\chapter因此您还需要重新定义\chapter*代码。

此后,您可以使用tocloft如下命令

\addtolength{\cftbeforetoctitleskip}{-30pt}

将目录标题向上移动。

相关内容