当我删除“章节”时,我在删除章节文本上方的空间时遇到了问题。我的最小示例如下。在图片中,我展示了我想减少的空间。我尝试了很多方法,\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@}%
才能消除标题上方的空格。要获得相同的效果,请对 \@makeschapterhead
(s
章节标题中的注释)执行相同操作。
\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}