我尝试使用以下代码将页面顶部与目录、图表和表格之间的距离设置为 2.5 厘米,但不起作用。我需要帮助进行调整,但不能影响除这些之外的章节的正常间距。这是我使用过但不起作用的代码。
\documentclass{article}
\begin{document}
{\vspace{-2.5cm} \tableofcontents}
{\vspace{-2.5cm} \listofigures}
{\vspace{-2.5cm} \listoftables}
\end{document}
答案1
(在收到 OP 的评论后,我大大重写了这个答案,这表明——与 OP 的代码片段所造成的印象相反——兴趣在于report
类,不是文档article
类。
我了解到顶部页面边距(可能还有其他一些页面边距)等于 2.5 厘米。我还了解到目录、图片列表和表格列表的标题——但不是“常规”章节级条目的标题应该排版在文本块的最顶部,即没有任何空格。
如果这些印象是正确的,我建议您将以下说明添加到文档的序言中。
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@makeschapterhead}{\vspace*{50\p@}}{}{}{}
\makeatother
如果您猜测该\patchcmd
指令\vspace*{50\p@}
从宏定义中删除“插入 50pt(约 17.5 毫米)的垂直空白” \@makeschapterhead
,那么您是对的。(该\@makeschapterhead
宏由文档类定义report
。)
\documentclass{report}
\usepackage[a4paper, vmargin=2.5cm, hmargin=3.7cm,
nomarginpar,nohead,showframe % remove these options in your real doc.
]{geometry}
\usepackage{lipsum} % filler text
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@makeschapterhead}{\vspace*{50\p@}}{}{}{}
\makeatother
\begin{document}
% front matter
\pagenumbering{roman}
\tableofcontents
\listoftables
\listoffigures
% main matter
\clearpage
\pagenumbering{arabic} % <-- switch to arabic numerals
\chapter{Hello World}
\lipsum[1] % one paragraph of filler text
\begin{figure}[h]\caption{Good Morning}\end{figure}
\begin{table}[h]\caption{Good Evening}\end{table}
\end{document}