删除标题上方的间距并删除章节文本

删除标题上方的间距并删除章节文本

当我删除“章节”时,我在删除章节文本上方的空间时遇到了问题。我的最小示例如下。在图片中,我展示了我想减少的空间。我尝试了很多方法,\usepackage{titlesec}但在我的情况下不起作用。我可以在重新定义中更改某些内容吗?

\documentclass[10pt,a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\usepackage[backend=biber]{biblatex}

% Remove "Chapter"-Text
\makeatletter
\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \raggedright \normalfont
  \interlinepenalty\@M
    \Huge \bfseries #1\par\nobreak%
    \vskip 40\p@
  }}
  \makeatother


\begin{document}
\chapter{Introduction}
\end{document}

在此处输入图片描述

答案1

您必须删除该行\vspace*{50\p@}%才能消除标题上方的空格。要获得相同的效果,请对 \@makeschapterheads章节标题中的注释)执行相同操作。

\documentclass[10pt,a4paper]{report}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm,showframe]{geometry}  %% remove showframe


% Remove "Chapter"-Text
\makeatletter
\def\@makechapterhead#1{%
  %\vspace*{50\p@}%    %% <------ remove this line
  {\parindent \z@ \raggedright \normalfont
  \interlinepenalty\@M
    \Huge \bfseries #1\par\nobreak%
    \vskip 40\p@
  }}

\def\@makeschapterhead#1{%
  %\vspace*{50\p@}%    %% <------ remove this line
  {\parindent \z@ \raggedright
    \normalfont
    \interlinepenalty\@M
    \Huge \bfseries  #1\par\nobreak
    \vskip 40\p@
  }}
\makeatother


\begin{document}
\tableofcontents
\chapter{Introduction}
\chapter*{Introduction}
\end{document}

在此处输入图片描述

有了titlesec,你可以尝试类似以下的事情:

\usepackage{titlesec}
\titleformat{name=\chapter}[display]
{\normalfont\huge\bfseries}
{}   %{\chaptertitlename\ \thechapter}
{0pt} %{20pt}
{\Huge}
\titleformat{name=\chapter,numberless}[display]
  {\normalfont\huge\bfseries}
  {}
  {0pt}
  {\Huge}
\titlespacing*{name=\chapter}{0pt}{-40pt}{40pt}   % default {0pt}{50pt}{40pt}
\titlespacing*{name=\chapter,numberless}{0pt}{-40pt}{40pt}

相关内容