我想仅在 revTex 中显示章节目录中的页码。请看这里,这是一个最小的工作环境:
\documentclass[aps]{revtex4-1}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\begin{document}
\section{First section}
\subsection{First subsection of first section}
\subsection{Second subsection of first section}
\section{Second section}
\subsection{First subsection of second section}
\subsection{Second subsection of second section}
\tableofcontents
\end{document}
即只应显示第一部分和第二部分的页码。如能提供任何帮助,我们将不胜感激。
谢谢,
哈特穆特
答案1
revtex4-1 类对目录中的每一行使用相同的格式,只是更改了缩进。您可以使用 etools 减少混乱,但最终效果是一样的。
\documentclass[aps]{revtex4-1}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\makeatletter
\def\l@@sections#1#2#3#4{%
\begingroup
\everypar{}%
\set@tocdim@pagenum\@tempboxa{#4}%
\def\testA{subsection}\def\testB{#2}\ifx\testA\testB \set@tocdim@pagenum\@tempboxa{}\fi% one line patch
\global\@tempdima\csname tocdim@#2\endcsname
\leftskip\csname tocleft@#2\endcsname\relax
\dimen@\csname tocleft@#1\endcsname\relax
\parindent-\leftskip\advance\parindent\dimen@
\rightskip\tocleft@pagenum plus 1fil\relax
\skip@\parfillskip\parfillskip\z@
\let\numberline\numberline@@sections
\@nameuse{l@f@#2}%
\ignorespaces#3\unskip\nobreak\hskip\skip@
\hb@xt@\rightskip{\hfil\unhbox\@tempboxa}\hskip-\rightskip\hskip\z@skip
\expandafter\par
\expandafter\aftergroup\csname tocdim@#2%
\expandafter\endcsname
\expandafter\endgroup
\the\@tempdima\relax
}%
\makeatother
\begin{document}
\section{First section}
\subsection{First subsection of first section}
\subsection{Second subsection of first section}
\section{Second section}
\subsection{First subsection of second section}
\subsection{Second subsection of second section}
\tableofcontents
\end{document}