目录中有章节编号,但文档中没有

目录中有章节编号,但文档中没有

如果这个问题已经被问过并得到回答,我很抱歉,但我确实做了大量查找,但没有发现任何东西。

\documentclass{article}
\begin{document}
\tableofcontents
\section{Section One}
blah 
\subsection{Subsection One}
blah blah
\section{Section Two}
blah blah blah
\end{document}

我想要的只是上述 MWE 显示为(在文档本身中):

第一节

废话

1.1 第一节

啦啦啦

第二节

等等等等等等

... 目录中还有:

  1. 第一节 1.1 第一节
  2. 第二节

因此基本上,使用:

\section*{Section One}
\subsection{Subsection One}
\section*{Section Two}

... 这对文档本身来说是可行的(即在章节中使用星号,但在子章节中不使用星号),但这对目录不起作用。我仍然希望目录中有数字,但无论我使用\addtocontents\addcontentsline{toc}{section}{}等做什么,似乎都不起作用。

任何帮助将不胜感激。

编辑 对于那些说这令人困惑的人,我只是希望主文档中没有 SECTION 的编号,而不是子节(和子子节等)的编号,子节有很多。这是因为我希望主文档中有一个 Section 后面跟着一个引文,后面跟着一堆(编号的)子节……但我仍然希望 TOC 有 Section 的编号。我很清楚“book”类可能更容易实现这一点,但我想使用 article 来实现其他功能。

答案1

修改

\documentclass{article}
\newcommand\Decide[1]{#1}
\makeatletter
\def\sectionsuffix      {}
\def\subsectionsuffix   {\quad}
\def\subsubsectionsuffix{\quad}
\def\paragraphsuffix    {\quad}
\renewcommand\@seccntformat[1]{\csname the#1\endcsname\csname#1suffix\endcsname}
\renewcommand\thesection{\protect\Decide{\@arabic\c@section}}
\renewcommand\thesubsection{\@arabic\c@section.\@arabic\c@subsection}
\makeatother
\begin{document}
\tableofcontents
\renewcommand\Decide[1]{}

\section{Section One}
blah 
\subsection{Subsection One}
blah blah
\section{Section Two}
blah blah blah
\end{document}

在此处输入图片描述

原始方法

我不推荐它,因为它非常令人困惑。

该宏\@seccntformat设置了节编号的外观。因此,在这里,在 之后\tableofcontents,我将宏设为无效,这样就不会对节编号进行任何格式化。

\documentclass{article}
\begin{document}
\tableofcontents
\makeatletter
\renewcommand\@seccntformat[1]{}
\makeatother
\section{Section One}
blah 
\subsection{Subsection One}
blah blah
\section{Section Two}
blah blah blah
\end{document}

在此处输入图片描述

答案2

您可以使用类似的东西,但我不确定这是否是您想要的:

\begin{document}
\tableofcontents
\section*{Section 1}
\addcontentsline{toc}{section}{Section 1}
\addtocounter{section}{1}
blah
\subsection{Subsection 1}
blah blah
\section{Section 2}
blah blah
\end{document}

其结果如下:

结果(字体为cmbright)

答案3

使用 KOMA-Script 类非常容易scrartcl。如果您愿意,可以将类的默认值更改为类似于标准类article

\documentclass[emulatestandardclasses]{scrartcl}% emulate article with scrartcl
\renewcommand*{\sectionformat}{}% dont show section numbers in section heading
\begin{document}
\tableofcontents
\section{Section One}
blah 
\subsection{Subsection One}
blah blah
\section{Section Two}
blah blah blah
\end{document}

结果:

使用 scrartcl 模拟文章的结果

如果您不想在页眉(页面样式headings)中显示章节编号,您可以添加:

\renewcommand*{\sectionmarkformat}{}

相关内容