如果这个问题已经被问过并得到回答,我很抱歉,但我确实做了大量查找,但没有发现任何东西。
\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 第一节
- 第二节
因此基本上,使用:
\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
答案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}
结果:
如果您不想在页眉(页面样式headings
)中显示章节编号,您可以添加:
\renewcommand*{\sectionmarkformat}{}