我想隐藏文档目录中章节的页码。WME:
\documentclass{amsbook}
\begin{document}
\begin{titlepage}
\begin{center}
{ \huge \bfseries A title}
\end{center}
\end{titlepage}
\tableofcontents
\mainmatter
\chapter{First chapter}
\section{First section of first chapter}
Some blah, blah...
\section{Second section of first chapter}
Some more blah, blah...
\section{Third section of first chapter}
Some more blah, blah...
\end{document}
在目录中,章节和章节的页码是重复的。这就是我想避免章节页码的原因。我在这里尝试了以下想法:
仅省略目录中章节标题的页码
但没有成功。另外,该tocloft
包似乎不适用于该类amsbook
。还有其他想法吗?
答案1
似乎amsbook
与不兼容,tocloft
所以没有简单的解决方法。不过,让我们尝试将这个技巧添加到序言中(根据编辑朱博布斯' 建议):
\makeatletter
\def\@tocline#1#2#3#4#5#6#7{\relax
\ifnum #1>\c@tocdepth % then omit
\else
\par \addpenalty\@secpenalty\addvspace{#2}%
\begingroup \hyphenpenalty\@M
\@ifempty{#4}{%
\@tempdima\csname r@tocindent\number#1\endcsname\relax
}{%
\@tempdima#4\relax
}%
\parindent\z@ \leftskip#3\relax \advance\leftskip\@tempdima\relax
\rightskip\@pnumwidth plus4em \parfillskip-\@pnumwidth
#5\leavevmode\hskip-\@tempdima #6\nobreak\relax
\ifnum #1=0
\hfil\hbox to\@pnumwidth{}
\else
\hfil\hbox to\@pnumwidth{\@tocpagenum{#7}}\fi
\par
\nobreak
\endgroup
\fi}
\makeatother
这重新定义了\@tocline
命令,如果目录中当前行的深度为 0(即它是一个章节),那么它将不会打印页码。
查看结果: