如何删除“图表列表”页面中“图表列表”前的空格。我正在使用报告类。
谢谢
答案1
负责放置 LoF 标题的宏是\@makeschapterhead
,这与打印带星号的章节时所涉及的宏相同(\chapter*
)。
因此,实现目标的一种方法是\@makeschapterhead
在之前进行修补\listoffigures
以删除间距,然后再进行修补以稍后恢复原始行为。
执行此操作的代码如下(需要etoolbox
):
\let\oldlistoffigures\listoffigures
\makeatletter
\renewcommand{\listoffigures}{%
\patchcmd{\@makeschapterhead}{\vspace*{50\p@}}{\relax}{}{}%
\oldlistoffigures%
\patchcmd{\@makeschapterhead}{\relax}{\vspace*{50\p@}}{}{}%
}
\makeatother
完成 MWE:
\documentclass{report}
\usepackage{showframe} % just for the example
\usepackage{etoolbox}
\let\oldlistoffigures\listoffigures
\makeatletter
\renewcommand{\listoffigures}{%
\patchcmd{\@makeschapterhead}{\vspace*{50\p@}}{\relax}{}{}%
\oldlistoffigures%
\patchcmd{\@makeschapterhead}{\relax}{\vspace*{50\p@}}{}{}%
}
\makeatother
\begin{document}
\listoffigures
\chapter*{Test}
\end{document}
输出: