给定章节的子章节的编号和引用应仅使用子章节编号

给定章节的子章节的编号和引用应仅使用子章节编号

我有一篇文章包含多个部分。比如说第 1 部分和第 2 部分,每个部分都有子部分。但我希望对其中一个部分(比如说第 2 部分)进行特殊处理。这个问题有两个部分。

  1. 对于第 2 部分,我希望计数器仅返回子部分编号,即我只想要 3 而不是 2.3。
  2. 我希望章节编号也仅使用小节编号。

原因是这是注释部分,因此需要特殊处理。参见下图。

\documentclass{article}
\begin{document}

\section{Section one}\label{one}

See Note~\ref{note.three}. % First part of question. How can I make this read "See Note 3." not "See Note 2.3."?

\section{Notes}\label{notes}
\subsection{First note}\label{note.one} % Second part of question. How can I make this read "1 First note" not "2.1 First note"?
Some text.
\subsection{Another note}\label{note.two} % Ditto
Some more text.
\subsection{Yet another note}\label{note.three} % Ditto
Yet more text.
\end{document}

答案1

您可以重新定义subsection特殊部分的计数器,然后在本节之后将其重新定义为其默认行为:

\documentclass{article}
\begin{document}

\section{Section one}\label{one}

See Note~\ref{note.three}.

\renewcommand\thesubsection{\arabic{subsection}}
\section{Notes}\label{notes}
\subsection{First note}\label{note.one}
Some text.
\subsection{Another note}\label{note.two}
Some more text.
\subsection{Yet another note}\label{note.three}
Yet more text.

\renewcommand\thesubsection{\thesection.\arabic{subsection}}
\section{Section three}
\subsection{A subsection}

\end{document}

在此处输入图片描述

另一种选择是使用该chngcntr包及其\counterwithout(特殊部分之前)、\counterwithin(特殊部分之后)命令:

\documentclass{article}
\usepackage{chngcntr}

\begin{document}

\section{Section one}\label{one}

See Note~\ref{note.three}.

\counterwithout{subsection}{section}
\section{Notes}\label{notes}
\subsection{First note}\label{note.one}
Some text.
\subsection{Another note}\label{note.two}
Some more text.
\subsection{Yet another note}\label{note.three}
Yet more text.

\counterwithin{subsection}{section}
\section{Section three}
\subsection{A subsection}

\end{document}

答案2

首先,我忍不住发现,如果您的节编号为 1、2、...,以及(仅在一个节内)子节编号为 1、2、...,那么您就有可能让您的读者感到非常困惑。我担心 LaTeX 将section标题排版在 中\Large,将小节标题排版在 中这一事实\large不会在很大程度上帮助消除混淆。)您最好在节enumerate中使用环境Notes,然后\item在枚举环境中引用 s。

但是,如果你必须使用小节编号而不在相应章节的编号前加上前缀,您可以通过输入

\begingroup
\renewcommand{\thesubsection}{\arabic{subsection}}

在新编号方案的区域开头,然后输入

\endgroup

位于区域的末端。

考虑到我之前表达的担忧,您可能希望将此特殊区域切换为“字母”或“罗马”编号,而不是“阿拉伯”编号。例如,如果您输入

\renewcommand{\thesubsection}{(\alph{subsection})}

您将获得排版为(a)(b)、 ... 的子部分“数字”,并且这些子部分的交叉引用也将被排版为(a)(b)、 等等。

相关内容