这就是我所拥有的。
\documentclass[12pt,a4paper]{article}
\newcounter{theorem}[section]
\newcommand\theorem{\stepcounter{theorem}\framebox{\textbf{Theorem \thesection.\thetheorem}}}
\begin{document}
\section{New Section}
\theorem \label{t1}
\theorem \label{t2}
\ref{t1}
\ref{t2}
\end{document}
表明 :
1 New Section
Theorem 1.1
Theorem 1.2
1
1
我希望它显示这个:
1 New Section
Theorem 1.1
Theorem 1.2
1.1
1.2
我该怎么做?谢谢。
(我知道这个\newtheorem
命令,但我不想让我的文本自动变为斜体,我想让我的文本从新段落开始,这就是我选择制作自己的\theorem
命令的原因,但现在我很难同时引用我拥有的两个自定义计数器。我还意外地创建了一个重复的帐户,我无法登录该帐户来删除我发布的重复帖子,因为我不确定如何从我的实际帐户中注销。)
答案1
要告诉 LaTeX 这是您想要交叉引用的元素,您需要\refstepcounter
而不是\stepcounter
。否则,您的标签只会获得对节计数器的引用,正如您所见,在整个示例中,该计数器为 1。
为了确保交叉引用包含部分计数器,您可以自定义输出以\thetheorem
包含计数器。
例如,
\documentclass[12pt,a4paper]{article}
\newcounter{theorem}[section]
\renewcommand\thetheorem{\thesection.\arabic{theorem}}
\newcommand\theorem{\refstepcounter{theorem}\framebox{\textbf{Theorem \thetheorem}}}
\begin{document}
\section{New Section}
\theorem \label{t1}
\theorem \label{t2}
\ref{t1}
\ref{t2}
\end{document}
生产