我有一份文档,我通常不想在其中对章节、部分和小节进行编号。只有一个部分应该包含罗马数字的小节,我该如何实现呢?我试过
\documentclass{report}
\setcounter{secnumdepth}{-1}
\begin{document}
\chapter{mwe}
\section{unnumbered subsections}
\subsection{unnumbered}
\section{roman numbered subsections}
\setcounter{secnumdepth}{2}
\renewcommand{\thesubsection}{\textnormal{\roman{subsection}}.}
\subsection{roman one}
\subsection{roman two}
\end{document}
但是,这在以下语句中给出了错误\section{roman one}
:缺失数字视为零。有任何更正建议或替代方法的想法吗?
答案1
如果您将文档类从 更改article
为book
或report
,您的文档将正常运行。问题中的代码使用了类\chapter
中未定义的命令article
。尝试:
\documentclass{book}
\setcounter{secnumdepth}{-1}
\begin{document}
\tableofcontents
\chapter{mwe}
\section{unnumbered subsections}
\subsection{unnumbered}
\section{roman numbered subsections}
\setcounter{secnumdepth}{2}
\renewcommand{\thesubsection}{\textnormal{\roman{subsection}}.}
\subsection{roman one}
\subsection{roman two}
\setcounter{secnumdepth}{-1}
\chapter{Second chapter}
\section{unnumbered subsections}
\subsection{unnumbered}
\end{document}
有时使用\addtocounter
代替会更好\setcounter
,这样您可以在不使用绝对值的情况下提高或降低编号级别。
另外,正如您所看到的,我使用计数器值 -1 来表示不对章节进行编号,而不是 0。
总的来说,我认为改变文档内的编号深度有点不一致。
答案2
无需手动操作计数器,请尝试已加星标版本的分段命令,它们不包括编号(以及目录中的条目):
\documentclass{article}
\begin{document}
\section*{unnumbered subsections}
\subsection*{unnumbered}
\section*{roman numbered subsections}
\renewcommand{\thesubsection}{\textnormal{\roman{subsection}}.}
\subsection{roman one}
\subsection{roman two}
\end{document}
编辑:如果您想再次将带星号的部分包含在目录中,请阅读 将 \section* 居中并添加到目录中。