没有页码的目录或 TOC 行

没有页码的目录或 TOC 行

\section是否可以创建带有s 和s的 TOC(目录)\subsection,但不在右侧显示页码?我知道这违背了 TOC 的目的,但出于知识的考虑,我想知道 LaTeX 是否提供了这种灵活性。

答案1

LaTeX 非常灵活,特别是如果您能够读取源来重新定义宏。

  1. 您可以重新定义\addcontentsline

    \renewcommand*{\addcontentsline}[3]{\addtocontents{#1}{\protect\contentsline{#2}{#3}{}}}

  2. 或者,您可以\contentsline像 Herbert 那样重新定义,或者这样:

    \renewcommand*{\contentsline}[3]{\csname l@#1\endcsname{#2}{}}

  3. 如果您希望删除特定级别(例如小节)的页码,请重新定义\l@subsection{title}{page number}。也许您想这样做,因为用于特定级别的虚线目录线如果没有页码就没有意义。

  4. 您甚至可以将\thepage本地重新定义为空,并将其与一起放在一个组中\tableofcontents

注意:如果您使用该hyperref包,则应该修改解决方案,因为该包对 TOC 宏进行了修改以实现超链接。

例如,第一个解决方案需要额外的参数作为超链接标签。如果您不希望该目录条目有超链接,则可以将第四个参数留空。

\renewcommand*{\addcontentsline}[4]{\addtocontents{#1}{\protect\contentsline{#2}{#3}{}{#4}}}

答案2

\documentclass{article}

\usepackage{hyperref}
\let\Contentsline\contentsline
\renewcommand\contentsline[3]{\Contentsline{#1}{#2}{}}
\begin{document}
\tableofcontents

\section{foo}
\section{bar}

\end{document} 

相关内容