是否可以隐藏生成的“目录”标题\tableofcontents
?
如果发现这种方法\renewcommand\contentsname{}
可行(它将标题设置为“”,一个空字符串),但它并没有完全删除标题 - 空间仍然被阻塞。
答案1
如果您正在使用该类,您可以在文件中article
找到其定义:\tableofcontents
article.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