如何引用定理的一部分?

如何引用定理的一部分?

我有一个包含多个部分的推论,这些部分稍后需要单独引用,因此类似于:

\begin{cor}\label{cor}
   \begin{enumerate}
       \item Part one \label{partone}
       \item Part two \label{parttwo}
   \end{enumerate}
\end{cor}

理想情况下,我想要\ref{partone}生成 2.1(为了论证的目的,假设它是推论 2),但是,当然,\ref{partone}给出 1,因为它引用了enumi计数器。

有没有办法将和计数器\ref结合起来?enumicor

答案1

这也可以通过使用枚举项包裹:

\documentclass{article}
\usepackage{amsthm}
\usepackage{enumitem}

\newtheorem{cor}{Corolary}

\begin{document}

\begin{cor}\label{cor}
   \begin{enumerate}[label={\thecor.\arabic*}]
       \item Part one \label{partone}
       \item Part two \label{parttwo}
   \end{enumerate}
\end{cor}
As we see in part~\ref{partone}

\end{document}

答案2

我本来要问同样的问题。我发现这里给出的解决方案太复杂了,我尤其不想为这么简单的工作获取新的软件包。所以我继续阅读,现在我对这个解决方案完全满意:

\hyperref[partone]{\ref*{cor}.\ref*{partone}}

答案3

您可以使用chngcntr包使enumi计数器依赖于您的cor计数器。如果您在 corollary 环境中执行此操作,则不会影响其他枚举环境。

\documentclass{article}
\usepackage{amsthm}
\newtheorem{cor}{Corollary}
\usepackage{chngcntr}

\begin{document}

\begin{cor}{My Cor}\label{mycor}
  \counterwithin{enumi}{cor}
  \begin{enumerate}
    \item An item \label{part1}
    \item Another one \label{part2}
  \end{enumerate}
\end{cor}

In Part~\ref{part1} of the the corollary\ldots

\begin{enumerate}
  \item An item \label{outside}
\end{enumerate}
This is a reference to Item~\ref{outside} that is outside the corollary.
\end{document}

甚至更简单,无需使用chngcntr包,您只需在环境\theenumi中重新定义cor

\begin{cor}{My Cor}\label{mycor}
  \renewcommand{\theenumi}{\thecor.\arabic{enumi}}
  \begin{enumerate}
    \item An item \label{part1}
    \item Another one \label{part2}
  \end{enumerate}
\end{cor}

答案4

我将稍微修改一下上面的 enuitem 方法。我还将做出以下假设:

  • 所有类似定理的环境都有相同的计数器
  • 该计数器称为 \thethm

首先,我在 preabmle 中定义一个名为 thmenum 的新列表(调用 enuitem 包之后)

\newlist{thmenum}{enumerate}{1}
\setlist[thmenum, 1]{label=(\arabic*), ref=\thethm (\arabic*)}

因此,如果您有一个定理环境,您可以这样做:

\begin{thm}
\label{thm:some_theorem}
\begin{thmenum}
  \item Statement 1\label{thm:some_theorem:somestatement}
  \item Statement 2\label{thm:some_theorem:someotherstatement}
\end{thmenum}
\end{theorem}
....
\ref{thm:some_theorem:somestatement}

将产生形式为 1.1(1) 的引用,但标签将为 (1)、(2)、...

相关内容