如何隐藏目录的标题?

如何隐藏目录的标题?

是否可以隐藏生成的“目录”标题\tableofcontents

如果发现这种方法\renewcommand\contentsname{}可行(它将标题设置为“”,一个空字符串),但它并没有完全删除标题 - 空间仍然被阻塞。

答案1

如果您正在使用该类,您可以在文件中article找到其定义:\tableofcontentsarticle.cls

\newcommand\tableofcontents{%
    \section*{\contentsname
        \@mkboth{%
           \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
    \@starttoc{toc}%
    }

\section*现在您只需删除定义的部分即可:

\documentclass{article}
\makeatletter
\renewcommand\tableofcontents{%
    \@starttoc{toc}%
}
\makeatother
\begin{document}
\tableofcontents
\section{test}
\section{test2}
\end{document}

答案2

如果您不想要目录,但仍想要由 hyperref 创建的“侧边栏”,您可以这样做:

\documentclass{...}
...
\usepackage{hyperref}

\begin{document}
\newsavebox{\hidden}\sbox{\hidden}{\vbox{\tablefocontents}}

<code>
\end{document}

答案3

您说使用空名称不会删除目录前的空格。您可以使用以下额外代码来更改此设置:

\renewcommand\contentsname{} % the empty name

\begingroup
\let\clearpage\relax
\vspace{-5cm} % the removed space. Set as appropriate
\tableofcontents
\endgroup

相关内容