2

I have Lemmata consisting of several subpoints (basically a collection of similar formulas) and I want to reference these subpoints in text by "Lemma 1 (1)".

So far my code looks like this:

\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}


\usepackage{hyperref}
\newtheorem{lemma}{Lemma}
\usepackage[shortlabels]{enumitem}


\begin{document}
   \begin{lemma}\label{lemma}
      This is a collection of formulas
      \begin{enumerate}
          \item Equation 1 \label{sublemmaOne}
          \item Equation 2
      \end{enumerate}
  \end{lemma}

 A reference to the first item of the lemma \autoref{lemma}(\ref{sublemmaOne}).

\end{document}

This works somehow and I can even make a macro :

\newcommand{\refSublemmaOne}{\autoref{lemma}(\ref{sublemmaOne})}

However, I see two goals for improvement

  • I would prefer it if there were a single hyperref link instead of two close to each other
  • I would prefer to somehow use the usual \autoref{mylabel} syntax so on referencing I do not have to care whether I reference a normal lemma or a subpoint.

I am both open to suggestions that directly address the referencing and to ones to structure the lemma differently than by using enumerate if it is still a lemma with subpoints and that helps to solve the referencing.

4

When using the enumitem package you can set the format of the references with the option ref=format, see the enumitem manual page 3. In the example below the format is set to

\thelemma (\arabic*)

which prints \the value of the lemma counter followed by ( and the \arabic representation of the * (=current enumerate) counter followed by ).

Code:

\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}


\usepackage{hyperref}
\newtheorem{lemma}{Lemma}
\usepackage[shortlabels]{enumitem}


\begin{document}
   \begin{lemma}
   \label{mylemma}
      This is a collection of formulas
      \begin{enumerate}[ref=\thelemma (\arabic*)]
          \item Equation 1 \label{sublemmaOne}
          \item Equation 2 \label{sublemmaTwo}
      \end{enumerate}
  \end{lemma}

 A reference to the first item of the lemma \ref{sublemmaOne} or the second item \ref{sublemmaTwo}.

\end{document}

Result:

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.