在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}
。