REVTeX 4.1 目录中出现的未编号部分

REVTeX 4.1 目录中出现的未编号部分

我在使用 REVTeX 向目录添加未编号部分时遇到了问题。以下是一个小示例:

\documentclass[]{revtex4-1}
\usepackage{lipsum}

\begin{document}

\tableofcontents
\newpage

\section{Numbered section}
\lipsum
\section*{Unnumbered section}
\lipsum

\end{document}

输出以下内容:

目录页: 内容页 正文: 章节

这是错误吗?我的安装有问题吗?

如果我使用不同的文档类别(例如文章),则不存在未编号的部分。

答案1

这是类的设计选择;您可以通过重新定义(或修补\@ssect@ltx)来更改它。

重新定义后:

\documentclass[]{revtex4-1}

\makeatletter
\def\@ssect@ltx#1#2#3#4#5#6[#7]#8{%
  \def\H@svsec{\phantomsection}%
  \@tempskipa #5\relax
  \@ifdim{\@tempskipa>\z@}{%
    \begingroup
      \interlinepenalty \@M
      #6{%
       \@ifundefined{@hangfroms@#1}{\@hang@froms}{\csname @hangfroms@#1\endcsname}%
       {\hskip#3\relax\H@svsec}{#8}%
      }%
      \@@par
    \endgroup
    \@ifundefined{#1smark}{\@gobble}{\csname #1smark\endcsname}{#7}%
    %\addcontentsline{toc}{#1}{\protect\numberline{}#8}%
  }{%
    \def\@svsechd{%
      #6{%
       \@ifundefined{@runin@tos@#1}{\@runin@tos}{\csname @runin@tos@#1\endcsname}%
       {\hskip#3\relax\H@svsec}{#8}%
      }%
      \@ifundefined{#1smark}{\@gobble}{\csname #1smark\endcsname}{#7}%
      \addcontentsline{toc}{#1}{\protect\numberline{}#8}%
    }%
  }%
  \@xsect{#5}%
}%
\makeatother

\begin{document}

\tableofcontents

\section{Numbered section}
\section*{Unnumbered section}

\end{document}

在此处输入图片描述

使用补丁:

\documentclass[]{revtex4-1}
\usepackage{xpatch}

\makeatletter
\patchcmd{\@ssect@ltx}
    {\addcontentsline{toc}{#1}{\protect\numberline{}#8}}
    {}
    {}
    {}
\makeatother

\begin{document}

\tableofcontents

\section{Numbered section}
\section*{Unnumbered section}

\end{document}

相关内容