我想删除所有章节号上方的空格。我尝试了 titlesec 和 etoolbox,但都没有用。这是我的代码:
documentclass[12]{report}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{amsthm}
\usepackage{tikz-cd}
\usepackage{enumerate}
\usepackage{tocloft}
\usepackage{parskip}
\usepackage{indentfirst}
\setlength{\parindent}{1cm}
\usepackage{setspace}
\usepackage[nottoc]{tocbibind}
\usepackage{sectsty}
\renewcommand{\cftchapfont}{\normalfont}
\renewcommand{\cftchappagefont}{\normalfont}
\renewcommand{\cfttoctitlefont}{\hfill \Large}
\renewcommand{\cftaftertoctitle}{\hfill\hfill}
\renewcommand{\contentsname}{Table of Contents}
\chapternumberfont{\centering \Large}
\chaptertitlefont{\centering \Large}
\sectionfont{\large}
\begin{document}
\input{Titlepage}
\pagenumbering{roman}
\setcounter{page}{2}
\doublespacing
\tableofcontents
\pagebreak
\pagebreak
\pagenumbering{arabic}
\chapter{}
\input{chapters/Preliminaries}
\chapter{}
\input{chapters/chapter2}
\chapter{}
\input{chapters/chapter3}
\chapter{}
\input{chapters/chapter4}
\bibliographystyle{plain}
\bibliography{bibliography.bib}
\end{document}
答案1
\documentclass{report}
\usepackage{titlesec}
\titleformat{\chapter}[display]{\huge}{\chaptertitlename\ \thechapter.}{1ex}{}{}
\titlespacing{\chapter}{0pt}{0pt}{0pt}
\begin{document}
\tableofcontents
\chapter{}
Text
\end{document}
三个长度参数\titlespacing
依次为左侧空间、上方空间和下方空间。
在您的评论中,您说您希望将章节号设置为距“页面顶部” 1 英寸。因此,您必须根据边距大小进行一些计算。如果您的边距为 1 英寸,则需要将上面的空间设置为 0pt。
正如所写,在“第 1 章”下方会有空间。这是因为titlesec
保留了垂直空间,以便在其下方打印章节标题。您可以通过发出选项来消除它,[nostruts]
这样空间就不会被保留。
另外:正如文档中提到的,如果您想更改和titlesec
的间距,您可以\part
\chapter
必须也可以调用\titleformat
。即使你喜欢\chapter
除间距之外的默认格式,你仍然需要调用\titleformat
并尝试自己重现默认设置才能\titlespacing
工作。
答案2
如果您不想阅读titlesec
文档,可以轻松更改添加到章节标题的 50pt。
在之前添加\begin{document}
\usepackage{showframe}% only to show the margins
%*********************************** added <<<<<<<<<<<<
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@makechapterhead}{\vspace*{50\p@}}{\vspace*{-30\p@}}{}{}
\makeatother
%********************************
从...开始
到