我有一篇文章包含多个部分。比如说第 1 部分和第 2 部分,每个部分都有子部分。但我希望对其中一个部分(比如说第 2 部分)进行特殊处理。这个问题有两个部分。
- 对于第 2 部分,我希望计数器仅返回子部分编号,即我只想要 3 而不是 2.3。
- 我希望章节编号也仅使用小节编号。
原因是这是注释部分,因此需要特殊处理。参见下图。
\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)
、 等等。