删除段落引用中的小节

删除段落引用中的小节

revtex4文档中,我有:一个部分(阿拉伯语)、一个小节(字母)和一个段落(罗马语)。我没有任何小节。

我使用命令\label来引用段落。当我在文本中使用命令\ref来引用段落时,我得到的结果是:“1A0I”。“1”指的是节,“A”指的是小节,“0”指的是小节(我没有),“I”(罗马)指的是段落。

我怎样才能删除子小节的编号?我想要像“1AI”这样的编号。

答案1

这样做的原因是为了确保\paragraph所有更高级别的部分单元都带有 s。但是,有时您可能希望文档中\paragraph没有任何s 即可提供格式。\subsubsection

为了实现与常规引用方案的这种偏差,您需要更新计数器的前缀p添加。每当您为该计数器设置 时,都会添加此前缀(在常规计数器表示前面)。在许多情况下,前缀表示(对于计数器)为空,但不是。@paragraph\label\p@<cntr><cntr>revtex4

下面的示例已更新\p@paragraph以删除\subsubsection编号:

在此处输入图片描述

\documentclass{revtex4}

\usepackage{lipsum}

\renewcommand{\thesection}{\arabic{section}}
\renewcommand{\thesubsection}{\Alph{subsection}}
\renewcommand{\theparagraph}{\Roman{paragraph}}

\makeatletter
% Default "parent" label associated with \paragraph:
% \def\p@paragraph{\thesection\,\thesubsection\,\thesubsubsection\,}
\def\p@paragraph{\thesection\,\thesubsection\,}% ...removed \thesubsubsection\,
\makeatother

\begin{document}

See Paragraph~\ref{par:mypar}.

\section{A section}\lipsum[1]
\subsection{A subsection}\lipsum[2]
\paragraph{A paragraph}\label{par:mypar}\lipsum[3]

\end{document}

作为参考,来自LaTeX 2e 来源(部分22.1 环境计数器宏;下面添加了自己的重点):

环境 foo 具有由以下控制序列定义的关联计数器:

\c@foo
包含计数器的数值。它由 定义\newcount\foocounter

\thefoo
扩展为 的打印值的宏\foocounter。例如,如果章节内的节数为整数,并且节标题如下所示

Section II-3 The Nature of Counters

那么\thesection可能定义为:

\def\thesection
   {\@Roman{\c@chapter}-\@arabic{\c@section}}

\p@foo
扩展为计数器的打印“参考前缀”的宏foo任何\ref由计数器创建的值foo都会产生扩展,\p@foo\thefoo\label都会在执行命令查看文件ltxref.dtx以扩展这一机制。

\cl@foo
当 foo 执行时要重置的计数器列表。格式为\@elt{countera}\@elt{counterb}\@elt{counterc}

相关内容