在“正常”类别中,可以删除目录标题(“内容”标题),
\renewcommand\tableofcontents{\@starttoc{toc}}
但是当我在 KOMAScript 类(例如scrartcl
)上执行此操作时,这也会改变我不想更改的 KOMAscript 的一些其他设置(例如垂直空间)。
我怎样才能仅删除目录的标题而不更改其他任何内容?
注意:我不希望该行为空(因此,不是一个空字符串""
,就像\renewcommand{\contentsname}{}
会做的那样),而是标题根本不存在并且空间被“释放”。
答案1
使用该\phantom
命令可以提供帮助:它充当并使用框作为内容\contentsname
,就好像它存在一样,但输出具有正确尺寸的空框。
但是,原始\contentsname
内容必须通过\let
命令存储到其他宏中,然后才能重新定义。
\documentclass[paper=a4,12pt]{scrartcl}
% Redefine the contentsname, but save it before...
\let\LaTeXStandardContentsName\contentsname
\renewcommand{\contentsname}{\phantom{\LaTeXStandardContentsName}}%
\begin{document}
\tableofcontents%
\clearpage
\section{First}
\clearpage
\section{Second}
“相同”的代码不\renewcommand
提供\contentsname
上述内容,也不提供垂直移位。
经过一些误解之后,解决方案似乎是\deftocheading{toc}{}
方法,手册中的一个隐藏的命令;-)
\documentclass[paper=a4,12pt]{scrartcl}
\deftocheading{toc}{}%
\begin{document}
\tableofcontents%
\clearpage
\section{First}
\clearpage
\section{Second}
\end{document}